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:

  1. Trascinare e rilasciare un'attività Query nel flusso di lavoro e fare doppio clic su di essa.

  2. Fai clic sul collegamento Modifica query e seleziona Filtering conditions.

  3. Fare clic sulla prima cella della colonna Expression e fare clic su Edit expression per aprire l'editor di espressioni.

  4. Fare clic su Advanced selection per selezionare la modalità di filtro.

  5. Selezionare Edit the formula using an expression e fare clic su Next per visualizzare l'editor di espressioni.

  6. 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.

  7. 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.

  8. Nell'editor delle query selezionare equal to nella prima cella della colonna Operator.

  9. Fare clic sulla prima cella della seconda colonna (Value) e quindi su Edit expression per aprire l'editor espressioni.

  10. Nell'elenco delle funzioni fare doppio clic su Day, accessibile tramite il nodo Date.

  11. 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.

  12. 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.

NOTE
Se l'anno corrente è un anno bisestile, vengono automaticamente inclusi tutti i destinatari nati il 29 febbraio.

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.

CAUTION
Affinché i flussi di lavoro possano essere eseguiti, è necessario avviare i flussi di lavoro tecnici relativi al pacchetto Campaign. Per ulteriori informazioni, consulta la sezione Elenco dei flussi di lavoro tecnici.
Se i passaggi di approvazione sono abilitati per la campagna, le consegne verranno inviate solo dopo che tali passaggi sono stati confermati. Per ulteriori informazioni, consulta sezione.

recommendation-more-help
cffff7e4-091f-472e-87ca-52087599f99d