誕生日の E メールの送信

はじめに

この使用例では、リスト内の受信者に対し誕生日に繰り返し E メールを送信する方法を説明します。

この使用例を設定するうえで、以下のターゲティングワークフローを作成しました。

この(日々実行される)ワークフローでは、現在の日付が誕生日であるすべての受信者を選択します。

この使用例は、ビデオでも紹介しています。詳しくは、ワークフローの作成のビデオを参照してください。

これをおこなうには、キャンペーンを作成して、「ターゲティングとワークフロー」タブをクリックします。詳しくは、ワークフローのメインターゲットの作成の節を参照してください。

その後、以下の手順に従います。

送信のスケジュール設定

  1. 最初に、「スケジューラー」を追加して、毎日の配信タイミングを設定します。以下の例では、毎日午前 6 時に配信が作成されます。

その日が誕生日の受信者の識別

ワークフローが毎日起動するように「スケジューラー」アクティビティを設定したら、誕生日が現在の日付の受信者をすべて特定します。

それには、次の手順に従います。

  1. ワークフローに「クエリ」アクティビティをドラッグ&ドロップし、ダブルクリックします。

  2. クエリを編集」リンクをクリックし、「フィルター条件」を選択します。

  3. 」列の最初のセルをクリックし、式を編集​をクリックして式エディターを開きます。

  4. 詳細選択」をクリックして、フィルターモードを選択します。

  5. 式を使用して数式を編集」を選択し、「次へ」をクリックして式エディターを表示します。

  6. 関数のリストで、「日付」ノードからアクセスできる「」をダブルクリックします。この関数は、パラメーターとして渡された日付に対応する日を表す数値を返します。

  7. 使用可能フィールドのリストで、「生年月日」をダブルクリックします。エディターの上部セクションに、次の数式が表示されます。

    Day(@birthDate)
    

    完了」をクリックして確定します。

  8. クエリエディターで、「演算子」列の最初のセルで「次と等しい」を選択します。

  9. 次に、2 番目の列(「」)の最初のセルをクリックし、式を編集​をクリックして式エディターを開きます。

  10. 関数のリストで、「日付」ノードからアクセスできる「」をダブルクリックします。

  11. GetDate」関数をダブルクリックして現在の日付を取得します。

    エディターの上部セクションに、次の数式が表示されます。

    Day(GetDate())
    

    完了」をクリックして確定します。

  12. この手順を繰り返して、現在の月に対応する誕生月を取得します。それには、「追加」をクリックし、「Day」を「Month」に置き換えて手順 3 から 10 を繰り返します。

    完成したクエリは次のようになります。

クエリ」アクティビティの結果を、「E メール配信」アクティビティにリンクし、リストに記載されている受信者全員に誕生日の E メールを送信します。

2 月 29 日に生まれた受信者を含む(オプション)

2 月 29 日に生まれた受信者全員を含めたい場合、この使用例では、閏年かどうかに関わらず、リスト内の受信者に対し、誕生日に繰り返し E メールを送信する方法を示します。

この使用例の主な実装手順は次のとおりです。

  • 受信者の選択
  • 閏年であるかどうかを選択
  • 2 月 29 日生まれの受信者をすべて選択

この使用例を設定するうえで、以下のターゲティングワークフローを作成しました。

現在の年が​閏年でなく、ワークフローが 3 月 1 日に実行された場合、2 月 29 日が誕生日の受信者すべてを選択して、受信者のリストに追加する必要があります。その他の場合については追加のアクションは不要です。

手順 1:受信者の選択

ワークフローが毎日起動するよう「スケジューラー」アクティビティを設定したら、現在の日付が誕生日の受信者をすべて特定します。

メモ

今年が閏年の場合、2 月 29 日生まれの受信者すべてが自動的に対象になります。

現在の日付に対応する誕生日を持つ受信者の選択については、その日が誕生日の受信者の識別の節で説明しています。

手順 2:閏年であるかどうかを選択

テスト」アクティビティでは、今年が閏年であるかどうか、また現在の日付が 3 月 1 日であるかどうかの確認ができます。

テストの結果、今年が閏年ではなくて 2 月 29 日は存在せず、さらに現在の日付が 3 月 1 日である場合、「TRUE」トランザクションが有効になり、2 月 29 日生まれの受信者が 3 月 1 日の配信に追加されます。そうでない場合は、「False」トランザクションが有効になり、3 月 1 日生まれの受信者だけが配信を受け取ります。

以下のコードを「詳細設定」タブの「初期化スクリプト」セクションにコピー&ペーストします。

function isLeapYear(iYear)
{
    if(iYear/4 == Math.floor(iYear/4))
    {
        if(iYear/100 != Math.floor(iYear/100))
        {
            // Divisible by 4 only -> Leap Year
            return 1;
        }
        else
        {
            if(iYear/400 == Math.floor(iYear/400))
            {
                // Divisible by 4, 100 and 400 -> Leap year
                return 1;
            }
        }
    }
    // all others: no leap year
    return 0;
}

// Return today's date and time
var currentTime = new Date()
// returns the month (from 0 to 11)
var month = currentTime.getMonth() + 1
// returns the day of the month (from 1 to 31)
var day = currentTime.getDate()
// returns the year (four digits)
var year = currentTime.getFullYear()

// is current year a leap year?
vars.currentIsALeapYear = isLeapYear(year);

// is current date the first of march?
if(month == 3 && day == 1) {
  // today is 1st of march
vars.firstOfMarch = 1;
}

条件付き分岐」セクションで以下の条件を追加します。

vars.currentIsALeapYear == 0 && vars.firstOfMarch == 1

手順 3:2 月 29 日生まれの受信者をすべて選択

分岐​アクティビティを作成し、アウトバウンドトランジションの 1 つを​クエリ​アクティビティとリンクします。

このクエリで、誕生日が 2 月 29 日の受信者すべてを選択します。

得られた結果を「和集合」アクティビティと結合します。

2 つの「テスト」アクティビティ分岐の結果を「E メール配信」アクティビティとリンクして、リストに記載のすべての受信者に対し、誕生日の E メールを送信します。2 月 29 日が誕生日の受信者には、閏年でない年にも E メールが送信されます。

繰り返し配信の作成

送信する誕生日メールテンプレートに基づいて、「繰り返し配信」アクティビティを追加します。

注意

ワークフローを実行するには、キャンペーンプロセスに関するテクニカルワークフローを開始する必要があります。詳しくは、キャンペーンプロセスのワークフローのリストの節を参照してください。

キャンペーンに対して承認手順が有効になっている場合は、これらの手順が確認された後でのみ配信されます。詳しくは、承認するプロセスの選択の節を参照してください。

このページ