Enviar email de aniversário sending-a-birthday-email
Introdução introduction
Este caso de uso apresenta como planejar o envio de um e-mail recorrente para uma lista de recipients no dia de seus aniversários.
Para configurar esse caso de uso, criamos o seguinte workflow para construção do target:
Esse workflow (execução diária) seleciona todos os recipients que fazem aniversário na data atual.
Esse caso de uso também pode ser encontrado no formato de vídeo. Para obter mais informações, consulte o vídeo Criação de um workflow.
Para fazer isso, crie uma campanha e clique na guia Targeting and workflows. Para obter mais informações, consulte a seção Building the main target in a workflow.
Siga estas etapas:
Agendamento do envio configuring-the-scheduler
-
Primeiro, adicione um Scheduler para acionar o delivery todo dia. No exemplo abaixo, o delivery é criado todos os dias às 6 da manhã.
Identificação de recipients que fazem aniversário identifying-recipients-whose-birthday-it-is
Após configurar a atividade Scheduler para que o workflow inicie todos os dias, identifique todos os recipients cuja data de nascimento for igual à data atual.
Para fazer isso, siga as etapas abaixo:
-
Arraste e solte uma atividade Query no workflow e clique duas vezes nela.
-
Clique no link Editar query 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 query completa é a seguinte:
Vincule o resultado da atividade Query a uma atividade Email delivery para enviar um email para a lista de todos os recipients aniversariantes.
Incluindo recipients nascidos em 29 de fevereiro (opcional) including-recipients-born-on-february-29th--optional-
Se desejar incluir todos os recipients que nasceram em 29 de fevereiro, este caso de uso apresentará como planejar o envio de um e-mail recorrente para uma lista de recipients 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 recipients
- Seleção se é um ano bissexto ou não
- Seleção de todos os recipients nascidos em 29 de fevereiro
Para configurar esse caso de uso, criamos o seguinte workflow para construção do target:
Se o ano atual não for um ano bissexto e o workflow for executado em 1º de março, precisamos selecionar todos os recipients que teriam seu aniversário no dia anterior (29 de fevereiro) e adicioná-los à lista de recipients. Em qualquer outro caso, nenhuma ação adicional é necessária.
Etapa 1: Seleção dos recipients step-1--selecting-the-recipients
Após configurar a atividade Scheduler para que o workflow inicie todos os dias, identifique todos os recipients 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 recipients nascidos em 29 de fevereiro serão adicionados ao delivery de 1º de março. Caso contrário, a transição False será ativada e somente os recipients nascidos na data atual receberão o delivery.
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 recipients 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 query, selecione todos os recipients cujas datas de nascimento são 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 recipients aniversariantes, até mesmo àqueles que nasceram em 29 de fevereiro durante um ano não bissexto.
Criação de 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.