此使用案例說明如何規劃在收件者生日當天,將循環電子郵件傳送至其清單。
若要設定此使用案例,我們建立了下列定位工作流程:
此(每日執行)工作流程會選取目前日期有生日的所有收件者。
此使用案例也可以以視訊的形式找到。有關詳細資訊,請參閱建立工作流視頻。
若要這麼做,請建立促銷活動,然後按一下Targeting and workflows標籤。 有關詳細資訊,請參閱在工作流中構建主目標部分。
然後,請遵循下列步驟:
首先,新增排程器以觸發每天傳送傳送。 在以下範例中,每天早上6點建立傳送。
在設定Scheduler活動以便工作流程每天開始後,請識別出生日期等於目前日期的所有收件者。
若要這麼做,請套用下列步驟:
將Query活動拖放至工作流程中,然後按兩下。
按一下編輯查詢連結並選擇Filtering conditions。
按一下Expression列的第一個單元格,然後按一下Edit expression開啟表達式編輯器。
按一下Advanced selection選擇過濾模式。
選擇Edit the formula using an expression並按一下Next以顯示表達式編輯器。
在函式清單中,按兩下Day ,該Date節點可以訪問。 此函式會傳回代表與作為參數傳遞之日期相對應的日期的數字。
在可用欄位清單中,按兩下Birth date。 然後編輯器的上部區域會顯示下列公式:
Day(@birthDate)
按一下Finish進行確認。
在查詢編輯器中,在Operator列的第一個單元格中,選擇equal to。
接著,按一下第二欄的第一個儲存格(Value),然後按一下Edit expression以開啟運算式編輯器。
在函式清單中,按兩下Day ,該Date節點可以訪問。
連按兩下GetDate函式以擷取目前的日期。
編輯器的上部區域顯示以下公式:
Day(GetDate())
按一下Finish進行確認。
重複此過程以檢索與當月對應的出生月份。 要執行此操作,請按一下Add按鈕並重複步驟3到10,將Day替換為Month。
完整查詢如下:
將Query活動的結果連結至Email delivery活動,以寄送電子郵件至所有收件者的生日清單。
如果您想要包含2月29日出生的所有收件者,此使用案例會說明如何計畫傳送循環電子郵件給其生日的收件者清單——不論是否是閏年。
此使用案例的主要實施步驟為:
若要設定此使用案例,我們建立了下列定位工作流程:
如果當前年份不是閏年,而工作流程在3月1日運行,我們需要選擇所有昨天(2月29日)生日的收件者,並將其添加到收件者清單中。 在任何其他情況下,都不需要採取其他行動。
在設定Scheduler活動以開始工作流程後,請識別週年日為當天的所有收件者。
如果今年是閏年,那麼所有在2月29日出生的收件者都會自動納入。
在「識別生日為的收件者」區段中,選擇生日與目前日期對應的收件者。
Test活動可讓您檢查它是否為閏年,以及目前日期是否為3月1日。
如果測試通過驗證(年份不是閏年——沒有2月29日——而目前日期確實是3月1日),則True轉換將啟用,而2月29日出生的收件者將被添加到3月1日的交貨中。 否則,False轉換會啟用,只有在目前日期出生的收件者才會收到傳送。
將下面的代碼複製並貼上到Advanced頁籤的Initialization script部分。
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;
}
在Conditional forks節中添加以下條件:
vars.currentIsALeapYear == 0 && vars.firstOfMarch == 1
建立Fork活動,並將其中一個傳出轉場連結至Query活動。
在此查詢中,選擇出生日期為2月29日的所有收件者。
結合結果與Union活動。
將兩個Test活動分支的結果連結至Email delivery活動,以便在所有收件者的生日當天(即使是在非閏年的2月29日出生的人)寄送電子郵件至其清單。
根據您要傳送的生日電子郵件範本,新增循環傳送活動。