Data Views no SQL: quem abriu ou clicou nos últimos 30 dias
Monte um público de engajados com as Data Views _Open e _Click numa Query Activity, entendendo o fuso horário e o limite de seis meses.
As Data Views são tabelas de sistema do Marketing Cloud Engagement com o histórico de envios, aberturas, cliques, bounces e descadastros. Elas não aparecem no Contact Builder, mas podem ser consultadas com SQL numa Query Activity (Automation Studio). Com elas você monta públicos de engajamento sem depender de relatórios.
As Data Views mais usadas
| Data View | O que guarda |
|---|---|
_Sent |
Cada e-mail enviado para cada assinante |
_Open |
Aberturas |
_Click |
Cliques em links |
_Bounce |
Bounces, com o motivo |
_Unsubscribe |
Descadastros |
_Job |
Os envios (nome do e-mail, data, remetente) |
As colunas que ligam tudo são SubscriberKey, JobID e EventDate.
Dois detalhes que derrubam muita consulta
- Seis meses de histórico. As Data Views guardam cerca de seis meses de eventos. Para análises mais longas, copie os dados periodicamente para uma Data Extension sua.
- Fuso horário. O
EventDateé gravado no horário do servidor do Marketing Cloud (Central Standard Time, UTC−6, sem horário de verão). Para "últimos 30 dias" isso quase não importa; para "ontem, das 0h às 23h59 no horário de Brasília", importa.
A consulta: engajados nos últimos 30 dias
O objetivo é um público com quem abriu ou clicou em qualquer e-mail nos últimos 30 dias, com a data do último engajamento.
SELECT
e.SubscriberKey,
MAX(e.EventDate) AS UltimoEngajamento
FROM (
SELECT o.SubscriberKey, o.EventDate
FROM _Open o
WHERE o.EventDate >= DATEADD(DAY, -30, GETDATE())
UNION ALL
SELECT c.SubscriberKey, c.EventDate
FROM _Click c
WHERE c.EventDate >= DATEADD(DAY, -30, GETDATE())
) e
GROUP BY e.SubscriberKeyPor que assim:
UNION ALLjunta aberturas e cliques sem o custo de remover duplicados nessa etapa;- o
GROUP BYno fim deixa uma linha por assinante, o que é obrigatório seSubscriberKeyfor a chave primária da Data Extension de destino; MAX(EventDate)guarda a data mais recente, útil para segmentar "engajados há menos de 7 dias".
Configurando a Query Activity
- Crie a Data Extension de destino
Engajados_30dcomSubscriberKey(Text, chave primária) eUltimoEngajamento(Date). - Na Query Activity, escolha essa Data Extension como destino e a ação Overwrite: o público é refeito do zero a cada execução.
- Coloque a Query Activity numa automação diária.
Variações úteis
Só quem clicou (sinal mais forte que abertura, que hoje é inflada por proteções de privacidade dos clientes de e-mail):
SELECT c.SubscriberKey, MAX(c.EventDate) AS UltimoClique
FROM _Click c
WHERE c.EventDate >= DATEADD(DAY, -30, GETDATE())
GROUP BY c.SubscriberKeyInativos: quem recebeu e-mail nos últimos 90 dias mas não abriu nem clicou. Comece pela _Sent e use
NOT EXISTS contra _Open e _Click.
Resumo
As Data Views dão o histórico de engajamento direto no SQL. Lembre dos seis meses de retenção e do fuso CST, tenha uma linha por assinante no resultado e use Overwrite para públicos que são refeitos todo dia.
Leia também
| Título | Tipo | Plataforma | Faixa | Leitura |
|---|---|---|---|---|
| Lookup dentro de loop no AMPscript: rápido no teste, lento no envio real | Erro | Marketing Cloud Engagement | Verde | 3 min |
| Query Activity que estoura os 30 minutos e para a automação | Erro | Marketing Cloud Engagement | Verde | 3 min |
| Deduplicar registros com ROW_NUMBER() numa Query Activity | Snippet | Marketing Cloud Engagement | Verde | 2 min |
| Subscriber Key igual ao e-mail: o cliente que troca de e-mail vira outra pessoa | Erro | Marketing Cloud Engagement | Amarela | 4 min |