見出し画像

【第65回】 AMPscript を使って送信時刻に合わせてコンテンツを変更する方法

メールマーケティングでは、時刻によってメールの内容を変更することが求められることがあります。例えば、午前中に送信されるメールには「おはようございます!」といった挨拶が含まれ、午後に送信されるメールには「こんにちは!」といった挨拶が含まれる場合などですね

そのような場合は、AMPscript を使って実装ができます。

以下に、AMPscript を使用して午前と午後でメールコンテンツを分岐させるサンプルコードを紹介します。

// テンプレート

%%[IF DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 0 
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 12 
OR DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 24 
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 36 THEN]%%

<!--- From AM0:00 to PM12:00 --->
%%=ContentBlockById("")=%%
%%=ContentImageById("")=%%
テキスト1

%%[ELSE]%%

<!--- From PM12:00 to PM24:00 --->
%%=ContentBlockById("")=%%
%%=ContentImageById("")=%%
テキスト2

%%[ENDIF]%%
%%[IF DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 0 
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 12 
OR DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 24 
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 36 THEN]%%

<!--- From AM0:00 to PM12:00 --->
おはようございます!

%%[ELSE]%%

<!--- From PM12:00 to PM24:00 --->
こんにちは!

%%[ENDIF]%%

このコードをベースに、メール本文のコンテンツ部分を足したり削ったり、時間帯を調整したりして、自由にカスタマイズしてみてください。

ちなみに、テンプレート内の OR で結ばれている下記コードに何らか疑問を持つかもしれませんが、これは SystemDateToLocalDate に対する形式的なものと考えてください

OR DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 24
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 36

イメージファイルが「画像ブロック」ではなく「単純な画像データ」の場合は「ContentBlockById」ではなく「ContentImageById」を使用する必要がありますので注意してください。あまり「単純な画像データ」のまま使用する方はいないかと思いますが、プレビュー時にエラーが発生して悩まれる方がいるかもしれませんので、念の為お知らせしておきます。

加えて、例えば、%%[ELSE IF]%% を用いることで、夕方以降の配信は「こんばんは!」と出し分けすることも可能です

%%[IF DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 0 
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 12 
OR DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 24 
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 36 THEN]%%

<!--- From AM0:00 to PM12:00 --->
おはようございます!

%%[ELSEIF DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 12 
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 17 
OR DateDiff('00:00',SystemDateToLocalDate(Now()),'h') >= 36 
AND DateDiff('00:00',SystemDateToLocalDate(Now()),'h') < 41 THEN]%%

<!--- From PM12:00 to PM17:00 --->
こんにちは!

%%[ELSE]%%

<!--- From PM17:00 to PM24:00 --->
こんばんは!

%%[ENDIF]%%

いかがでしたでしょうか。

この記事が、あなたのメールマーケティングキャンペーンに少しでも役立つことを願っています。是非、お試し下さい。

今回は以上です。


Click here for English version

次の記事はこちら

前回の記事はこちら

私の note のトップページはこちら

この記事が気に入ったらサポートをしてみませんか?