メインコンテンツへスキップ
見出し画像
Photo byakisuke0925

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

    Nobuyuki Watanabe

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

    そのような場合は、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 のトップページはこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。