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

# Templates de marketing

> Aprofundamento sobre templates da categoria MARKETING — árvore de decisão, cobrança, opt-out, migração de categoria e exemplos de corpos já aprovados.

`MARKETING` é a categoria de template com maior escrutínio e maior custo. A Meta a utiliza para qualquer conteúdo promocional — ofertas, campanhas, reengajamento, newsletters — e a cobra com um valor premium. Conseguir a aprovação de templates de marketing no primeiro envio exige entender os limites entre categorias, o requisito de opt-out e o comportamento de migração de categoria.

Esta página é o complemento prático da [Referência de regras de templates](/pt-BR/whatsapp/template-rules).

## MARKETING vs UTILITY vs AUTHENTICATION

A Meta classifica cada template em exatamente um dos três grupos. Escolher o errado significa uma rejeição, uma reclassificação silenciosa ou uma cobrança que você não previu no orçamento.

### Árvore de decisão

```
Is the message a one-time code, OTP, or MFA?
├── YES → AUTHENTICATION
└── NO
    └── Is the message a transactional update about something the customer
        already requested or bought? (order, booking, invoice, appointment,
        shipment, cancellation, refund confirmation)
        ├── YES → UTILITY
        └── NO → MARKETING
```

### Palavras-sinal

| Sinal no corpo                                                                  | Categoria provável |
| ------------------------------------------------------------------------------- | ------------------ |
| "confirmado", "enviado", "seu pedido", "fatura", "recibo", "reembolso"          | `UTILITY`          |
| "desconto", "% de desconto", "promoção", "tempo limitado", "exclusivo", "promo" | `MARKETING`        |
| "código", "OTP", "verificação", "único uso"                                     | `AUTHENTICATION`   |

Se um corpo de `UTILITY` contiver qualquer palavra-sinal de marketing, a Meta vai rejeitar ou migrar o template para `MARKETING`. Escrever "Seu pedido foi enviado — e aqui está 20% de desconto no próximo!" é um template `MARKETING`, independentemente de como você o rotule.

## Diferenças de cobrança

A Meta migrou para precificação por conversa em 2024, e os preços variam de acordo com o país do destinatário. Em todos os mercados, a ordem relativa é estável:

* **`AUTHENTICATION`** — a mais barata, cobrada por mensagem em algumas regiões.
* **`UTILITY`** — nível intermediário, tarifa transacional iniciada pela empresa.
* **`MARKETING`** — premium, tipicamente **2 a 5x a tarifa de UTILITY**, dependendo do mercado.
* **Serviço (iniciado pelo usuário, janela de 24h)** — gratuito na maioria das regiões.

Consulte a [página de preços da WhatsApp Business Platform](https://developers.facebook.com/docs/whatsapp/pricing) da Meta para a tabela de tarifas por mercado atualizada. Como uma migração silenciosa de categoria de `UTILITY` para `MARKETING` pode multiplicar seu custo de envio, sempre verifique a categoria pós-aprovação — não apenas o status — ao revisar um template.

## Requisito de botão de opt-out

As regulamentações da UE e do Brasil (GDPR, LGPD) exigem que toda mensagem de marketing tenha um caminho de opt-out claro e de baixa fricção. A equipe de revisão da Meta aplica isso na etapa de revisão de conteúdo para templates destinados a esses mercados e recomenda fortemente que seja feito globalmente.

O padrão canônico é uma linha de rodapé mais um botão `QUICK_REPLY`:

```json theme={null}
{
  "type": "FOOTER",
  "text": "Rispondi STOP per non ricevere più offerte."
}
```

E no array de botões:

```json theme={null}
{
  "type": "BUTTONS",
  "buttons": [
    { "type": "QUICK_REPLY", "text": "Scopri" },
    { "type": "QUICK_REPLY", "text": "Non mi interessa" }
  ]
}
```

O worker de webhooks do Switchbord reconhece tokens localizados de opt-out (`STOP`, `FERMA`, `PARAR`, `BLOQUEAR`) e marca automaticamente o contato como `marketing_opt_out = true`. As audiências das campanhas subsequentes os excluem por padrão.

<Warning>
  Um rodapé de opt-out sozinho não é suficiente se o usuário não conseguir agir sobre ele. Certifique-se de que sua caixa de entrada tenha automação que efetivamente respeite a resposta — veja [Webhooks e opt-out](/operations/webhooks).
</Warning>

## Migração de categoria

A Meta pode reclassificar um template durante a revisão. Com `allow_category_change: true` (o padrão do Switchbord para rascunhos `MARKETING`), o template é movido silenciosamente em vez de ser rejeitado.

### Quando acontece

* Você envia como `UTILITY`, mas o conteúdo contém palavras-sinal de marketing.
* Você envia como `MARKETING`, mas o conteúdo é, na verdade, uma atualização `UTILITY` (menos comum, mas acontece).
* A Meta reexecuta a classificação em templates já aprovados e os reclassifica posteriormente.

### O evento de webhook

A Meta emite `message_template_status_update` no webhook da WABA quando o status ou a categoria mudam:

```json theme={null}
{
  "entry": [{
    "changes": [{
      "field": "message_template_status_update",
      "value": {
        "event": "APPROVED",
        "message_template_id": 123456789,
        "message_template_name": "flash_sale",
        "message_template_language": "it",
        "reason": "NONE",
        "previous_category": "UTILITY",
        "new_category": "MARKETING"
      }
    }]
  }]
}
```

Detecte uma mudança de categoria comparando `previous_category` e `new_category`. Na v22+ a Meta também emite `message_template_category_update` para reclassificação pós-aprovação de um template ativo.

O worker de webhooks do Switchbord:

1. Armazena tanto a categoria enviada quanto a categoria atribuída pela Meta na linha de `templates`.
2. Registra toda migração em `audit_log` para conciliação de faturamento.
3. Dispara um alerta interno quando um template `UTILITY` é migrado para `MARKETING` (impacto de custo de 2 a 5x).

## Boas práticas para altas taxas de aprovação

1. **Coloque o remetente na primeira linha.** `"Ciao Marco, GB Viaggi ha pensato a te..."` — o revisor da Meta precisa identificar a empresa imediatamente.
2. **Evite pilhas de emojis e pontos de exclamação.** Padrões como 🎉🔥💥!!! disparam o classificador de spam.
3. **Sem links brutos no corpo.** Coloque as URLs em botões, onde a Meta pode analisá-las de forma limpa.
4. **Uma única ideia promocional por template.** Um template que promove uma oferta E anuncia novos horários E pede uma avaliação será rejeitado por falta de foco.
5. **Exemplos realistas.** Não use `"20"` ao lado de um `%` — incorpore a unidade ao exemplo (`"20%"`). Veja [numeric-only-example](/pt-BR/whatsapp/template-rules#numeric-only-example).
6. **Opt-out em todos os lugares.** Linha de rodapé + botão de resposta rápida, não apenas um dos dois.
7. **Defina `allow_category_change: true`.** É melhor uma aprovação com migração do que uma rejeição.
8. **Teste primeiro em italiano, traduza depois.** O mercado principal da GB Viaggi é a Itália; templates em italiano aprovados são clonados de forma limpa para EN/DE. O sentido inverso frequentemente tropeça em construções específicas do italiano.

## Exemplos de templates de marketing

Estes são os corpos corrigidos do BORD-336. Todos os quatro passaram na revisão no primeiro reenvio. Copie-os como ponto de partida e adapte as variáveis.

### Winback — cliente inativo há 30 dias

```json theme={null}
{
  "name": "winback_30d",
  "language": "it",
  "category": "MARKETING",
  "allow_category_change": true,
  "components": [
    { "type": "HEADER", "format": "TEXT", "text": "Ci manchi" },
    { "type": "BODY",
      "text": "Ciao {{1}}, è passato un po' dall'ultima volta. Abbiamo selezionato {{2}} idee viaggio pensate per te — dai un'occhiata quando vuoi.",
      "example": { "body_text": [["Marco", "tre"]] } },
    { "type": "FOOTER", "text": "Rispondi STOP per non ricevere più offerte." },
    { "type": "BUTTONS", "buttons": [
      { "type": "QUICK_REPLY", "text": "Mostrami" },
      { "type": "QUICK_REPLY", "text": "Più tardi" }
    ] }
  ]
}
```

### Sazonal — campanha de verão

```json theme={null}
{
  "name": "seasonal_campaign",
  "language": "it",
  "category": "MARKETING",
  "allow_category_change": true,
  "components": [
    { "type": "HEADER", "format": "TEXT", "text": "Estate 2025" },
    { "type": "BODY",
      "text": "Ciao {{1}}! Abbiamo pensato a te per {{2}}. Scopri di più rispondendo a questo messaggio.",
      "example": { "body_text": [["Marco", "una vacanza al mare a giugno"]] } },
    { "type": "FOOTER", "text": "GB Viaggi — Rispondi STOP per uscire." },
    { "type": "BUTTONS", "buttons": [
      { "type": "QUICK_REPLY", "text": "Mare" },
      { "type": "QUICK_REPLY", "text": "Montagna" },
      { "type": "QUICK_REPLY", "text": "Città d'arte" }
    ] }
  ]
}
```

### Indicação — pedir um compartilhamento

```json theme={null}
{
  "name": "referral_ask",
  "language": "it",
  "category": "MARKETING",
  "allow_category_change": true,
  "components": [
    { "type": "BODY",
      "text": "Ciao {{1}}, grazie per aver viaggiato con noi a {{2}}. Se ti è piaciuto, passa il link a chi vuoi — un regalo per entrambi al prossimo viaggio.",
      "example": { "body_text": [["Marco", "Parigi"]] } },
    { "type": "FOOTER", "text": "Rispondi STOP per non ricevere più offerte." },
    { "type": "BUTTONS", "buttons": [
      { "type": "URL", "text": "Condividi",
        "url": "https://gbviaggi.it/refer/{{1}}",
        "example": ["https://gbviaggi.it/refer/abc123"] }
    ] }
  ]
}
```

### Oferta relâmpago — promoção por tempo limitado

```json theme={null}
{
  "name": "flash_sale",
  "language": "it",
  "category": "MARKETING",
  "allow_category_change": true,
  "components": [
    { "type": "BODY",
      "text": "48 ore soltanto: sconto del {{1}} su viaggi verso {{2}}. Prenota entro il {{3}}. Codice promo: {{4}}.",
      "example": { "body_text": [["20%", "Parigi", "15 maggio 2025", "FLASH20"]] } },
    { "type": "FOOTER", "text": "GB Viaggi — offerte limitate. Rispondi STOP per uscire." },
    { "type": "BUTTONS", "buttons": [
      { "type": "QUICK_REPLY", "text": "Voglio saperne di più" },
      { "type": "QUICK_REPLY", "text": "Non mi interessa" }
    ] }
  ]
}
```

Observe como `"20%"` aparece no exemplo com o `%` já incorporado — veja [numeric-only-example](/pt-BR/whatsapp/template-rules#numeric-only-example).

## Veja também

* [Referência de regras de templates](/pt-BR/whatsapp/template-rules)
* [Seu primeiro template](/getting-started/first-template)
* [Configurar mensagens de marketing](/getting-started/configure-marketing)
* [Endpoints da API de templates](/api-reference/template-endpoints)
