Pular para o conteúdo principal

Now

Descrição​

A função Now retorna o timestamp atual do sistema da Salesforce Marketing Cloud. É a forma mais comum de capturar "agora" dentro de um e-mail, CloudPage ou qualquer peça AMPscript - útil para exibir a data de envio, registrar timestamps em Data Extensions ou criar lógicas condicionais baseadas em horário (como saudações "Bom dia / Boa tarde / Boa noite"). Quando usada sem parâmetros, retorna a data e hora correntes; quando chamada com true, retorna o horário de início do job de envio (ou o horário de publicação, no caso de triggered/journey sends).

Sintaxe​

Now()
Now(boolPreserveEmailSentTime)

Parâmetros​

ParâmetroTipoObrigatórioDescrição
boolPreserveEmailSentTimeBooleanNãoQuando true, retorna o horário de início do job (list/DE/manual send) ou o horário de publicação da triggered send definition (triggered/journey send). Quando false ou omitido, retorna a data e hora atuais do sistema. O valor padrão é false.

Retorno​

Retorna um valor de data e hora.

Comparação: Now vs Now(true) vs GetSendTime​

FunçãoApós envio de lista, DE ou manualApós triggered ou journey send
Now()Hora atual do sistemaHora atual do sistema
Now(true)Hora de início do jobHora de publicação do job
GetSendTime()Hora em que o envio individual do subscriber foi concluídoHora em que o envio individual do subscriber foi concluído
GetSendTime(true)Hora de início do jobHora de publicação do job

Exemplo básico​

Exibindo a data e hora atual no corpo de um e-mail promocional da MegaStore:

%%[
VAR @agora
SET @agora = Now()
]%%

Este e-mail foi gerado em: %%=FormatDate(@agora, "dd/MM/yyyy", "HH:mm")=%%

Saída:

Este e-mail foi gerado em: 15/07/2025, 14:32

Exemplo avançado​

Saudação dinâmica baseada no horário e registro de timestamp de abertura em uma régua de relacionamento do Banco Brasilão:

%%[
VAR @agora, @hora, @saudacao, @nomeCliente

SET @agora = Now()
SET @hora = DatePart(@agora, "hour")
SET @nomeCliente = ProperCase(AttributeValue("PrimeiroNome"))

IF @hora >= 5 AND @hora < 12 THEN
SET @saudacao = "Bom dia"
ELSEIF @hora >= 12 AND @hora < 18 THEN
SET @saudacao = "Boa tarde"
ELSE
SET @saudacao = "Boa noite"
ENDIF

/* Registra o momento do envio na DE de histórico */
InsertDE(
"Historico_Envios",
"EmailAddress", EmailAddress,
"NomeCliente", @nomeCliente,
"DataEnvio", @agora,
"Campanha", "Boas-vindas Conta Digital"
)
]%%

%%=v(@saudacao)=%%, %%=v(@nomeCliente)=%%!

Sua conta digital no Banco Brasilão foi ativada com sucesso.

Saída:

Boa tarde, Maria!

Sua conta digital no Banco Brasilão foi ativada com sucesso.

Exemplo com Now(true)​

Comparando o horário atual com o horário de início do job para mostrar quanto tempo levou o processamento num envio em massa da Conecta Telecom:

%%[
VAR @inicioJob, @agoraReal, @diffMinutos

SET @inicioJob = Now(true)
SET @agoraReal = Now()
SET @diffMinutos = DateDiff(@inicioJob, @agoraReal, "MI")
]%%

Início do envio: %%=FormatDate(@inicioJob, "dd/MM/yyyy", "HH:mm")=%%
Processado em: %%=FormatDate(@agoraReal, "dd/MM/yyyy", "HH:mm")=%%
Tempo de processamento: %%=v(@diffMinutos)=%% minuto(s)

Saída:

Início do envio: 15/07/2025, 14:00
Processado em: 15/07/2025, 14:47
Tempo de processamento: 47 minuto(s)

Observações​

⚠️ Atenção: O horário retornado por Now() é o horário do sistema da Salesforce Marketing Cloud (CST/CDT - Central Time dos EUA). Para exibir no fuso horário de Brasília (BRT), você precisa ajustar manualmente com DateAdd. Exemplo: DateAdd(Now(), 3, "H") para converter de CDT para BRT durante o horário de verão dos EUA - mas lembre-se de que essa diferença varia conforme daylight saving time americano.

⚠️ Atenção: Em triggered sends e journey sends, o Now(true) não retorna o momento do envio individual - ele retorna o horário em que a triggered send definition foi publicada. Se você precisa do horário exato em que cada subscriber recebeu a mensagem, use GetSendTime().

⚠️ Atenção: Quando usada em CloudPages, a função Now() sempre retorna a hora atual do sistema, independentemente do valor passado no parâmetro boolPreserveEmailSentTime. Ou seja, Now(true) se comporta igual a Now() em CloudPages.

💡 Dica: Para saudações dinâmicas (Bom dia / Boa tarde / Boa noite), lembre-se de converter para o fuso horário do destinatário antes de avaliar a hora. Se toda a sua base é do Brasil, um simples DateAdd resolve. Se tiver clientes em fusos diferentes, considere armazenar o fuso na Data Extension.

Funções relacionadas​

  • GetSendTime - retorna o horário em que o envio individual de cada subscriber foi concluído
  • FormatDate - formata a data retornada por Now() no padrão desejado (ex: DD/MM/AAAA)
  • DateAdd - adiciona ou subtrai intervalos de tempo (útil para ajuste de fuso horário)
  • DateDiff - calcula a diferença entre duas datas
  • DatePart - extrai partes específicas da data (hora, minuto, dia, mês etc.)