Invio di un’e-mail di compleanno

Introduzione

Questo caso d’uso illustra come pianificare l’invio periodico di un’e-mail a un elenco di destinatari il giorno del loro compleanno.

Per impostare questo caso di utilizzo, abbiamo creato il seguente flusso di lavoro di targeting:

Questo flusso di lavoro (esecuzione giornaliera) seleziona tutti i destinatari la cui data di nascita è la data corrente.

Questo caso di utilizzo si trova anche sotto forma di video. For more on this, refer to the Creating a workflow video.

A questo scopo, create una campagna e fate clic sulla Targeting and workflows scheda. Per ulteriori informazioni, vedere Creazione della destinazione principale in una sezione del flusso di lavoro .

Effettuate quindi le seguenti operazioni:

Pianificazione dell'invio

  1. Innanzitutto, aggiungete un pianificatore per attivare l'invio giornaliero. Nell'esempio seguente, la consegna viene creata ogni giorno alle 6 del mattino.

Identificazione dei destinatari il cui compleanno è

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

A questo scopo, eseguire i seguenti passaggi:

  1. Trascinate e rilasciate un' Query attività nel flusso di lavoro e fate doppio clic su di essa.

  2. Fate clic sul collegamento Modifica query e selezionate Filtering conditions.

  3. Fate clic sulla prima cella della Expression colonna e fate clic Edit expression per aprire l'editor di espressioni.

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

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

  6. Nell'elenco delle funzioni, fare doppio clic Day, accessibile tramite il Date nodo. Questa funzione restituisce il numero che rappresenta il giorno corrispondente alla data passata come parametro.

  7. Nell’elenco dei campi disponibili, fate doppio clic Birth date. Nella sezione superiore dell'editor viene visualizzata la seguente formula:

    Day(@birthDate)
    

    Fate clic Finish per confermare.

  8. Nell'editor di query, selezionare la prima cella della Operator colonna nella prima cella equal to.

  9. Quindi, fare clic sulla prima cella della seconda colonna (Value), quindi fare clic Edit expression per aprire l'editor di espressioni.

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

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

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

    Day(GetDate())
    

    Fate clic Finish per confermare.

  12. Ripetete questa procedura per recuperare il mese di nascita corrispondente al mese corrente. A tale scopo, fare clic sul Add pulsante e ripetere i passaggi da 3 a 10, sostituendoli Day con Month.

    La query completa è la seguente:

Collegate il risultato dell' Query attività a un' Email delivery attività per inviare un'e-mail all'elenco di tutti i destinatari alla data del loro compleanno.

Inclusi i destinatari nati il 29 febbraio (facoltativo)

Se si desidera includere tutti i destinatari nati il 29 febbraio, questo caso d'uso illustra come pianificare l'invio periodico di un'e-mail a un elenco di destinatari per il loro compleanno, che si tratti o meno di un anno bisestile.

Le fasi di implementazione principali per questo caso di utilizzo sono:

  • Selezione dei destinatari
  • Selezione se si tratta o meno di un anno bisestile
  • Selezione dei destinatari nati il 29 febbraio

Per impostare questo caso di utilizzo, abbiamo creato il seguente flusso di lavoro di targeting:

Se l'anno in corso non è un anno bisestile e il flusso di lavoro è in esecuzione il 1 marzo, dobbiamo selezionare tutti i destinatari che avrebbero avuto il loro compleanno ieri (29 febbraio) e aggiungerli all'elenco dei destinatari. In ogni altro caso non è richiesta alcuna azione aggiuntiva.

Passaggio 1: Selezione dei destinatari

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

Nota

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

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

Passaggio 2: Selezionare se si tratta o meno di un anno bisestile

L' Test attività 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 è un anno bisestile - non c'è il 29 febbraio - e la data corrente è effettivamente il 1 marzo), la True transizione è abilitata e i destinatari nati il 29 febbraio saranno aggiunti alla consegna del 1 marzo. In caso contrario, la False transizione viene abilitata e la consegna viene recapitata solo ai destinatari nati alla data corrente.

Copiate e incollate il codice riportato di seguito nella Initialization script sezione della Advanced scheda.

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 Conditional forks sezione:

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

Passaggio 3: Selezionare i destinatari nati il 29 febbraio

Create un' Fork attività e collegate una delle transizioni in uscita a un' Query attività.

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

Combinate i risultati con un' Union attività.

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

Creazione di una consegna ricorrente

Aggiungi un'attività di consegna ​ricorrente in base al modello 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 processo della campagna. For more on this, refer to the List of campaign process workflows section.

Se per la campagna sono abilitati i passaggi di approvazione, le consegne verranno inviate solo dopo che tali passaggi saranno stati confermati. Per ulteriori informazioni, vedere Scelta dei processi da approvare .

In questa pagina