Inviare un’e-mail di compleanno sending-a-birthday-email
Questo caso d’uso illustra come pianificare l’invio di un’e-mail ricorrente a un elenco di destinatari il giorno del loro compleanno.
Per impostare questo caso d’uso, abbiamo creato il seguente flusso di lavoro di targeting:
Questo flusso di lavoro (eseguito quotidianamente) seleziona tutti i destinatari il cui compleanno cade nella data corrente.
A questo scopo, crea una campagna e aggiungi un flusso di lavoro della campagna.
Quindi segui i passaggi descritti di seguito.
Identifica i destinatari di cui festeggia il compleanno identifying-recipients-whose-birthday-it-is
Dopo aver configurato l'attività Scheduler in modo che il flusso di lavoro venga avviato ogni giorno, identificare tutti i destinatari la cui data di nascita è uguale alla data corrente.
A questo scopo, esegui i seguenti passaggi:
-
Trascinare e rilasciare un'attività Query nel flusso di lavoro e fare doppio clic su di essa.
-
Fai clic sul collegamento Modifica query e seleziona Filtering conditions.
-
Fare clic sulla prima cella della colonna Expression e fare clic su Edit expression per aprire l'editor di espressioni.
-
Fare clic su Advanced selection per selezionare la modalità di filtro.
-
Selezionare Edit the formula using an expression e fare clic su Next per visualizzare l'editor di espressioni.
-
Nell'elenco delle funzioni fare doppio clic su Day, accessibile tramite il nodo Date. Questa funzione restituisce il numero che rappresenta il giorno corrispondente alla data passata come parametro.
-
Nell'elenco dei campi disponibili fare doppio clic su Birth date. La sezione superiore dell’editor visualizza quindi la seguente formula:
code language-none Day(@birthDate)
Fai clic su Finish per confermare.
-
Nell'editor delle query selezionare equal to nella prima cella della colonna Operator.
-
Fare clic sulla prima cella della seconda colonna (Value) e quindi su Edit expression per aprire l'editor espressioni.
-
Nell'elenco delle funzioni fare doppio clic su Day, accessibile tramite il nodo Date.
-
Fare doppio clic sulla funzione GetDate per recuperare la data corrente.
La sezione superiore dell’editor visualizza la seguente formula:
code language-none Day(GetDate())
Fai clic su Finish per confermare.
-
Ripetere questa procedura per recuperare il mese di nascita corrispondente al mese corrente. A tale scopo, fare clic sul pulsante Add e ripetere i passaggi da 3 a 10, sostituendo Day con Month.
La query completa è la seguente:
Collega il risultato dell'attività Query a un'attività Email delivery per inviare un'e-mail all'elenco di tutti i destinatari il giorno del loro compleanno.
Includi destinatari nati il 29 febbraio (facoltativo) including-recipients-born-on-february-29th--optional-
Se desideri includere tutti i destinatari nati il 29 febbraio, questo caso d’uso illustra come pianificare l’invio di un’e-mail ricorrente a un elenco di destinatari per il loro compleanno, indipendentemente dal fatto che si tratti di un anno bisestile o meno.
I passaggi principali di implementazione per questo caso d’uso sono:
- Selezione dei destinatari
- Scegliere se si tratta o meno di un anno bisestile
- Selezione dei destinatari nati il 29 febbraio
Per impostare questo caso d’uso, abbiamo creato il seguente flusso di lavoro di targeting:
Se l'anno corrente non è un anno bisestile e il flusso di lavoro viene eseguito il 1° marzo, è necessario selezionare tutti i destinatari che avrebbero compiuto gli anni ieri (29 febbraio) e aggiungerli all'elenco dei destinatari. In tutti gli altri casi non è necessaria alcuna azione aggiuntiva.
Passaggio 1: selezionare i destinatari step-1--selecting-the-recipients
Dopo aver configurato l'attività Scheduler in modo che il flusso di lavoro venga avviato ogni giorno, identificare tutti i destinatari il cui anniversario è il giorno corrente.
La selezione dei destinatari il cui compleanno corrisponde alla data corrente viene presentata nella sezione Identificazione dei destinatari il cui compleanno è.
Passaggio 2: selezionare se si tratta o meno di un anno bisestile step-2--select-whether-or-not-it-is-a-leap-year
L'attività Test ti consente di verificare se si tratta di un anno bisestile e se la data corrente è il 1° marzo.
Se il test viene verificato (l’anno non è bisestile - non c’è il 29 febbraio - e la data corrente è effettivamente il 1° marzo), la transizione True è abilitata e i destinatari nati il 29 febbraio verranno aggiunti alla consegna del 1° marzo. In caso contrario, la transizione False è abilitata e solo i destinatari nati nella data corrente riceveranno la consegna.
Copiare e incollare il codice seguente nella sezione Initialization script della scheda Advanced.
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;
}
Aggiungi la seguente condizione nella sezione Conditional forks:
vars.currentIsALeapYear == 0 && vars.firstOfMarch == 1
Passaggio 3: selezionare i destinatari nati il 29 febbraio step-3--select-any-recipients-born-on-february-29th
Creare un'attività Fork e collegare una delle transizioni in uscita a un'attività Query.
In questa query, seleziona tutti i destinatari la cui data di nascita è il 29 febbraio.
Combinare i risultati con un'attività Union.
Collega i risultati dei due rami dell'attività Test a un'attività Email delivery per inviare un'e-mail all'elenco di tutti i destinatari per il compleanno, anche a quelli nati il 29 febbraio durante un anno non bisestile.
Creare una consegna ricorrente creating-a-recurring-delivery-in-a-targeting-workflow
Aggiungi un'attività Consegna ricorrente in base al modello di e-mail di compleanno che desideri inviare.