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.

Verde Tutorial Marketing Cloud Engagement 3 min Publicado em

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

  1. 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.
  2. 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.

SQL
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.SubscriberKey

Por que assim:

  • UNION ALL junta aberturas e cliques sem o custo de remover duplicados nessa etapa;
  • o GROUP BY no fim deixa uma linha por assinante, o que é obrigatório se SubscriberKey for 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

  1. Crie a Data Extension de destino Engajados_30d com SubscriberKey (Text, chave primária) e UltimoEngajamento (Date).
  2. Na Query Activity, escolha essa Data Extension como destino e a ação Overwrite: o público é refeito do zero a cada execução.
  3. 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):

SQL
SELECT c.SubscriberKey, MAX(c.EventDate) AS UltimoClique
FROM _Click c
WHERE c.EventDate >= DATEADD(DAY, -30, GETDATE())
GROUP BY c.SubscriberKey

Inativos: 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

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