Enviar email de aniversário sending-a-birthday-email
Este caso de uso apresenta como planejar o envio de um e-mail recorrente para uma lista de destinatários no dia de seus aniversários.
Para configurar esse caso de uso, criamos o seguinte fluxo de trabalho de segmentação:
Esse fluxo de trabalho (execução diária) seleciona todos os destinatários que fazem aniversário na data atual.
Para fazer isso, crie uma campanha e adicione um fluxo de trabalho de campanha.
Siga as etapas detalhadas abaixo.
Identificar destinatários cujo aniversário é identifying-recipients-whose-birthday-it-is
Após configurar a atividade Scheduler para que o fluxo de trabalho inicie todos os dias, identifique todos os destinatários cuja data de nascimento for igual à data atual.
Para fazer isso, siga as etapas abaixo:
-
Arraste e solte uma atividade Query no fluxo de trabalho e clique duas vezes nela.
-
Clique no link Editar consulta e selecione Filtering conditions.
-
Clique na primeira célula da coluna Expression e clique em Edit expression para abrir o editor de expressão.
-
Clique em Advanced selection para selecionar o modo do filtro.
-
Selecione Edit the formula using an expression e clique em Next para exibir o editor de expressão.
-
Na lista de funções, clique duas vezes em Day, que é acessível no nó Date. Essa função retorna o número que representa o dia correspondente à data passada como parâmetro.
-
Na lista de campos disponíveis, clique duas vezes em Birth date. A seção superior do editor exibe a seguinte fórmula:
code language-none Day(@birthDate)Clique em Finish para confirmar.
-
No editor de consultas, na primeira célula da coluna Operator, selecione equal to.
-
Em seguida, clique na primeira célula da segunda coluna (Value) e clique em Edit expression para abrir o editor de expressão.
-
Na lista de funções, clique duas vezes em Day, que é acessível no nó Date.
-
Clique duas vezes na função GetDate para recuperar a data atual.
A seção superior do editor exibe a seguinte fórmula:
code language-none Day(GetDate())Clique em Finish para confirmar.
-
Repita este procedimento para recuperar o mês de nascimento correspondendo ao mês atual. Para fazer isso, clique no botão Add e repita as etapas de 3 a 10, substituindo Day por Month.
A consulta completa é a seguinte:
Vincule o resultado da atividade Query a uma atividade Email delivery para enviar um email para a lista de todos os destinatários aniversariantes.
Incluir recipients nascidos em 29 de fevereiro (opcional) including-recipients-born-on-february-29th--optional-
Se desejar incluir todos os destinatários que nasceram em 29 de fevereiro, este caso de uso apresentará como planejar o envio de um e-mail recorrente para uma lista de destinatários em seus aniversários, seja um ano bissexto ou não.
As principais etapas de implementação para este caso de uso são:
- Seleção de destinatários
- Seleção se é um ano bissexto ou não
- Seleção de todos os destinatários nascidos em 29 de fevereiro
Para configurar esse caso de uso, criamos o seguinte fluxo de trabalho de segmentação:
Se o ano atual não for um ano bissexto e o fluxo de trabalho for executado em 1º de março, precisamos selecionar todos os destinatários que teriam seu aniversário no dia anterior (29 de fevereiro) e adicioná-los à lista de destinatários. Em qualquer outro caso, nenhuma ação adicional é necessária.
Etapa 1: Selecionar os recipients step-1--selecting-the-recipients
Após configurar a atividade Scheduler para que o fluxo de trabalho inicie todos os dias, identifique todos os destinatários cujos aniversários são no dia atual.
Selecionar destinatários cujo aniversário corresponde à data atual é apresentado na seção Identifying recipients whose birthday it is.
Etapa 2: Selecionar se é um ano bissexto ou não step-2--select-whether-or-not-it-is-a-leap-year
A atividade Test permite verificar se é um ano bissexto e se a data atual é 1º de março.
Se o teste for verificado (o ano não é um ano bissexto, não há 29 de fevereiro e a data atual é de fato 1º de março), a transição True é habilitada e os destinatários nascidos em 29 de fevereiro serão adicionados à entrega de 1º de março. Caso contrário, a transição False será habilitada e somente os destinatários nascidos na data atual receberão a entrega.
Copie e cole o código abaixo na seção Initialization script da guia 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;
}
Adicione a seguinte condição na seção Conditional forks:
vars.currentIsALeapYear == 0 && vars.firstOfMarch == 1
Etapa 3: Selecionar todos os destinatários nascidos em 29 de fevereiro step-3--select-any-recipients-born-on-february-29th
Crie uma atividade Fork e vincule uma das transições de saída a uma atividade Query.
Nesta consulta, selecione todos os destinatários cuja data de nascimento é 29 de fevereiro.
Combine os resultados com uma atividade Union.
Vincule os resultados das duas ramificações de atividade Test a uma atividade Email delivery para enviar um email para a lista de todos os seus destinatários aniversariantes, até mesmo àqueles que nasceram em 29 de fevereiro durante um ano não bissexto.
Criar uma entrega recorrente creating-a-recurring-delivery-in-a-targeting-workflow
Adicione uma atividade de Entrega recorrente com base no modelo de email de aniversário que você deseja enviar.