> ## Documentation Index
> Fetch the complete documentation index at: https://help.treble.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# fact_campaign_daily

> Métricas diárias de entrega pré-agregadas por campanha.

# fact\_campaign\_daily

Cada linha é uma campanha (`poll_id`) em um dia, com os envios detalhados por resultado e as taxas de entrega/resposta já calculadas. É o caminho rápido para dashboards: os mesmos números que você poderia derivar de [`fact_campaign_sends`](/pt/docs/data-warehouse-v2/fact-campaign-sends), pré-agregados. Ela substitui a antiga `fact_deployment_daily` com fórmulas idênticas.

## Que perguntas ela responde?

* Como cada campanha performou por dia?
* Qual é a tendência das taxas de entrega e resposta ao longo do tempo?
* Quantos envios falharam, e em qual categoria de falha?

## Colunas

| Coluna                      | Tipo       | Descrição                                                                       |
| --------------------------- | ---------- | ------------------------------------------------------------------------------- |
| `company_id`                | Int32      | Sua empresa (filtrada automaticamente)                                          |
| `day`                       | Date       | O dia (pelo horário agendado)                                                   |
| `poll_id`                   | Int32      | Identificador do fluxo da campanha                                              |
| `poll_name`                 | String     | Nome do fluxo da campanha                                                       |
| `sent`                      | UInt64     | Total de envios agendados naquele dia, considerando todos os resultados         |
| `delivered`                 | UInt64     | Envios que chegaram ao telefone (`delivered_at` preenchido)                     |
| `responded`                 | UInt64     | Envios que o usuário respondeu (`responded_at` preenchido)                      |
| `failure`                   | UInt64     | Envios com falha (`failed_at` preenchido — todas as causas de falha combinadas) |
| `in_process`                | UInt64     | Envios aceitos ou em andamento, ainda sem resultado final de entrega            |
| `failure_rate_limit`        | UInt64     | Falhas: limite de taxa de mensagens atingido                                    |
| `revoked`                   | UInt64     | Envios revogados antes do envio                                                 |
| `invalid_phone`             | UInt64     | Falhas: número de telefone inválido                                             |
| `missing_parameter`         | UInt64     | Falhas: parâmetro de template ausente ou incompatível                           |
| `failure_human_handover`    | UInt64     | Falhas: o contato estava em uma conversa com um agente                          |
| `deactivated_poll_or_hsm`   | UInt64     | Falhas: fluxo ou template desativado                                            |
| `failure_general`           | UInt64     | Falhas: gerais/outras                                                           |
| `failure_unable_to_contact` | UInt64     | Falhas: o WhatsApp não conseguiu entregar para esse número                      |
| `optout`                    | UInt64     | Falhas: o destinatário fez opt-out ou bloqueou a linha                          |
| `meta_chose_not_deliver`    | UInt64     | A Meta optou por não entregar (controle de frequência)                          |
| `to_agents`                 | UInt64     | Conversas deste fluxo transferidas para agentes naquele dia                     |
| `delivered_rate_pct`        | Float64    | `delivered / sent` × 100; `NULL` quando `sent` é 0                              |
| `response_rate_pct`         | Float64    | `responded / delivered` × 100; `NULL` quando `delivered` é 0                    |
| `synced_at`                 | DateTime64 | Quando esta linha foi gravada/corrigida pela última vez                         |

<Note>
  As linhas de dias recentes são recalculadas continuamente à medida que os envios progridem — a linha de hoje continuará mudando até que os envios subjacentes se consolidem (em até 48 horas). Para recortes personalizados não cobertos aqui, consulte `fact_campaign_sends` diretamente.
</Note>

<Note>
  As colunas de detalhamento de falhas cobrem as causas de falha mais comuns; `failure` é o total oficial e pode ser ligeiramente maior que a soma das colunas de detalhamento quando um envio falhou por um motivo menos comum. O detalhe completo está sempre disponível por envio em `fact_campaign_sends.status`.
</Note>

## Exemplos de consultas

### Últimos 30 dias de uma campanha

```sql theme={null}
SELECT day, sent, delivered, responded, delivered_rate_pct, response_rate_pct
FROM fact_campaign_daily
WHERE poll_id = {your_poll_id}
  AND day >= today() - 30
ORDER BY day
```

### Detalhamento de falhas de todas as campanhas neste mês

```sql theme={null}
SELECT
    sum(invalid_phone)             AS invalid_phone,
    sum(failure_rate_limit)        AS rate_limit,
    sum(missing_parameter)         AS missing_parameter,
    sum(failure_unable_to_contact) AS unable_to_contact,
    sum(meta_chose_not_deliver)    AS meta_frequency_capping,
    sum(failure_general)           AS general
FROM fact_campaign_daily
WHERE day >= toStartOfMonth(today())
```
