Invio di un’e-mail di compleanno

Introduzione

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 (esecuzione giornaliera) seleziona tutti i destinatari che festeggiano il compleanno alla data corrente.

Questo caso d’uso si trova anche sotto forma di video. Per ulteriori informazioni, consulta il video Creazione di un flusso di lavoro .

A questo scopo, crea una campagna e fai clic sulla scheda Targeting and workflows . Per ulteriori informazioni, consulta la sezione Creazione della destinazione principale in un flusso di lavoro .

Quindi segui questi passaggi:

Pianificazione dell'invio

  1. Innanzitutto, aggiungi un Scheduler per attivare l’invio della consegna ogni giorno. Nell’esempio seguente, la consegna viene creata ogni giorno alle 6.

Identificazione dei destinatari il cui compleanno è

Dopo aver configurato l’attività Scheduler in modo che il flusso di lavoro inizi ogni giorno, identifica tutti i destinatari la cui data di nascita è uguale alla data corrente.

A questo scopo, esegui i seguenti passaggi:

  1. Trascina e rilascia un’attività Query nel flusso di lavoro e fai doppio clic su di essa.

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

  3. Fai clic sulla prima cella della colonna Expression e fai clic su Edit expression per aprire l’editor di espressioni.

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

  5. Seleziona Edit the formula using an expression e fai clic su Next per visualizzare l’editor di espressioni.

  6. Nell’elenco delle funzioni, fai 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, fai doppio clic su Birth date. Nella sezione superiore dell’editor viene quindi visualizzata la seguente formula:

    Day(@birthDate)
    

    Fai clic su Finish per confermare.

  8. Nell’editor delle query, nella prima cella della colonna Operator, seleziona equal to.

  9. Quindi, fai clic sulla prima cella della seconda colonna (Value) e fai clic su Edit expression per aprire l’editor di espressioni.

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

  11. Fare doppio clic sulla funzione GetDate per recuperare la data corrente.

    Nella sezione superiore dell’editor viene visualizzata la seguente formula:

    Day(GetDate())
    

    Fai clic su Finish per confermare.

  12. Ripetere questa procedura per recuperare il mese di nascita corrispondente al mese corrente. A questo scopo, fai clic sul pulsante Add e ripeti 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 al momento del loro compleanno.

Inclusi i destinatari nati il 29 febbraio (facoltativo)

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, che si tratti di un anno bisestile o meno.

I passaggi principali per l’implementazione di questo caso d’uso sono:

  • Selezione dei destinatari
  • Selezionare se si tratta 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 il compleanno ieri (29 febbraio) e aggiungerli all’elenco dei destinatari. In ogni altro caso non è necessaria alcuna azione aggiuntiva.

Passaggio 1: Selezione dei destinatari

Dopo aver configurato l’attività Scheduler in modo che il flusso di lavoro inizi ogni giorno, identifica tutti i destinatari il cui anniversario è il giorno corrente.

NOTA

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

La selezione dei destinatari il cui compleanno corrisponde alla data corrente viene presentata nella sezione Identificazione dei destinatari il cui compleanno è.

Passaggio 2: Seleziona se si tratta di un anno bisestile

L’attività Test ti consente di verificare se si tratta di un anno bisestile o meno e se la data corrente è il 1° marzo.

Se il test viene verificato (l’anno non è un anno bisestile - non c’è il 29 febbraio - e la data corrente è effettivamente il 1° marzo), la transizione True viene abilitata e i destinatari nati il 29 febbraio verranno aggiunti alla consegna del 1° marzo. In caso contrario, la transizione False viene abilitata e solo i destinatari nati nella data corrente riceveranno la consegna.

Copia e incolla 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: Seleziona i destinatari nati il 29 febbraio

Crea un’attività Fork e collega una delle transizioni in uscita a un’attività Query.

In questa query, seleziona tutti i destinatari la cui data di nascita è il 29 febbraio.

Combina i risultati con un’attività Union .

Collega i risultati dei due rami di attività Test a un'attività Email delivery per inviare un'e-mail all'elenco di tutti i destinatari al loro compleanno, anche a quelli nati il 29 febbraio durante un anno non bisestile.

Creazione di una consegna ricorrente

Aggiungi un’attività Consegna ricorrente in base al modello di e-mail di compleanno che desideri inviare.

ATTENZIONE

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 per la campagna sono abilitati i passaggi di approvazione, le consegne vengono inviate solo dopo la conferma di questi passaggi. Per ulteriori informazioni, consulta la sezione Scelta dei processi da approvare .

In questa pagina