Informações utilizadas para gerar os relatórios de campanhas
A tabela reports_tables_campaign armazena os disparos de campanhas usados nos relatórios de campanhas da plataforma: template, status de entrega, leitura, clique, resposta do cliente e pedidos atribuídos à campanha. Cada linha é uma mensagem (template HSM) enviada a um contato, identificada por hsm_id. Com dados atualizados em H-1 (de hora em hora).
Exemplo
A campanha "Black Friday" (campaign_id = abc123) envia o mesmo template para três contatos. A tabela fica com três linhas, uma por mensagem:
• hsm_id = msg001: hsm_status = OUTGOING_READ, então delivered = 1 e read = 1. O contato clicou no link do template: click = 1.
• hsm_id = msg002: hsm_status = OUTGOING_DELIVERED, então delivered = 1 e read = 0. O contato respondeu com texto: reply_message_type = TEXT e reply_message_at preenchido.
• hsm_id = msg003: hsm_status = OUTGOING_ERROR, então error = 1 e delivered = 0.
• Somando as linhas: 3 mensagens, 2 entregues, 1 lida, 1 clique e 1 erro.
delivered, read, error e click valem 0 ou 1 em cada linha: some para ter os totais da campanha. Toda mensagem lida também conta como entregue. Mensagens com hsm_status OUTGOING_SENT ou OUTGOING_CREATED ficam com delivered, read e error iguais a 0, então para contar todos os envios use count(hsm_id), e não delivered + error. click só é preenchido quando o template tem link (is_message_click = true) e pode vir 1 mesmo com read = 0.
impacted_orders e orders_total trazem os pedidos atribuídos à mensagem dentro do período de influência configurado na campanha. orders_total já é numérico, não precisa de conversão. Em campanhas recorrentes (campaign_type = recurring), campaign_category mostra o gatilho, como ABANDONED_CART ou ABANDONED_ORDER; em campanhas por público (audience-based), costuma vir vazio.
A tabela traz os disparos a partir de janeiro de 2026. Para ter só uma linha por campanha, use view_reports_tables_campaign. Os templates enviados por atendentes, fora de campanhas, estão em reports_tables_hsm.
Atenção: Os registros desta tabela utilizam o fuso horário UTC, ou seja, para que as datas sejam referentes ao fuso horário brasileiro, é preciso inserir nas queries o fuso horário brasileiro.
SET TIME ZONE '-03:00';
select date(camp.created_at) as data_disparo
,camp.message_template_title as template
,sum(camp.delivered+camp.error) as qtd_disparos
,sum(camp.error) as erros
,sum(camp.delivered) as entregues
,sum(camp.read) as lidas
,sum(camp.click) as clicadas
,sum(camp.impacted_orders) as vendas
,SUM(CAST(REPLACE(orders_total, ',', '.') AS DECIMAL(10,2))) AS valor_pedidos
from prod.bidb.reports_tables_campaign as camp
where camp.created_at >= '2025-06-01'
group by all
order by data_disparo
;
Dicionário de dados
Variável | Tipo | Descrição | Obs |
retailer_id | string | Código identificador da loja. Em contas com mais de uma loja, separa os registros de cada uma | Chave estrangeira para a tabela dim_retailer |
campaign_category | string | Descrição do tipo da campanha recorrente ou pontual | ABANDONED_CART |
campaign_id | string | Código identificador da campanha |
|
campaign_type | string | Tipo de campanha | recurring |
chat_id | string | Código identificador da conversa | Chave estrangeira para a tabela dim_customer_support_request |
click | int | Indica se houve clique no botão enviado no template da mensagem | 0 ou 1 |
created_at | timestamp | Data do disparo |
|
delivered | int | Indica se o disparo da mensagem ocorreu com sucesso | 0 ou 1 |
error | int | Indica se houve erro no disparo da mensagem | 0 ou 1 |
hsm_id | string | Código identificador da mensagem disparada | Chave estrangeira para a tabela dim_message |
hsm_status | string | Status do disparo mensagem | OUTGOING_READ |
impacted_orders | bigint | Quantidade de pedidos efetuados após o disparo da campanha dentro do período de influência configurado |
|
is_message_click | boolean | Indica se o template utilizado para o disparo da campanha contém link |
|
message_template_id | string | Código identificador do template utilizado na mensagem | Chave estrangeira para a tabela dim_templates |
message_template_title | string | Nome do template HSM |
|
orders_total | string | Valor total dos pedidos efetuados dentro do período de influência configurado |
|
phone | string | Número de telefone do cliente que recebeu o disparo da campanha |
|
read | int | Indica se a mensagem foi lida | 0 ou 1 |
reply_message_at | timestamp | Data da resposta do cliente ao disparo da campanha |
|
reply_message_id | string | Código identificador da mensagem de resposta | Chave estrangeira para a tabela dim_message |
reply_message_text | string | Texto da mensagem de resposta do cliente |
|
reply_message_type | string | Descrição do tipo de resposta que o cliente deu para a mensagem da campanha | cl.type |
year_month | int | Ano-mês referente ao uso dos recursos do Headless BI |
