> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/integration/pt-br/brand-pages/brand-page-retailer-integration-guide/validation-troubleshooting.md).

# Validação e solução de problemas

## Testes e validação

### Lista de verificação de validação pré-lançamento

**Integração técnica**

* [ ] API:`POST /ads/v3/brand-pages` retorna 200 com `contentData`.
* [ ] Renderização: os módulos de conteúdo são renderizados corretamente em seu site, na ordem correta.
* [ ] Tema: `theme` os campos são aplicados corretamente; `null` os valores usam como padrão o guia de estilo do varejista.
* [ ] Campos opcionais: a lógica do renderizador e de rastreamento deve tolerar campos opcionais de módulo omitidos, nulos ou vazios, bem como nós de rastreamento omitidos, sem erros (valide usando vários modelos em produção, não apenas uma única página de demonstração de marca).
* [ ] Estilo: a página da marca é compatível com o sistema de design do seu site.
* [ ] Dispositivos móveis: a página da marca é exibida corretamente em dispositivos móveis.
* [ ] Invalidação de cache (cache-busting): `{TS}` o valor muda a cada requisição.

**Validação de rastreamento**

* [ ] Pixel de impressão (C2S): cada entrada em `trackingTemplates.client.impressionPixelUrls` é disparada e retorna 200 `image/gif`
* [ ] Notificação de impressão (S2S): URL de impressão do servidor composta; **GET** ou **POST** direto para o host de Epsilon rastreamento retorna 204 No Content.
* [ ] Rastreamento de clique (C2S): a URL composta do `client.clickRedirect` retorna 302 para o destino correto ou a composta `client.clickEvent` retorna 204 No Content (qualquer que seja a opção usada no seu fluxo - não ambas)
* [ ] Notificação de clique (S2S): **GET** ou **POST** direto para a URL do servidor composta retorna 204 No Content
* [ ] Adição ao carrinho (C2S): `client.addToCartEvent` composta disparada como beacon de evento retorna 204 No Content
* [ ] Adição ao carrinho (S2S): `server.addToCartEvent` composta chamada diretamente para o host de rastreamento retorna 204 No Content

**Infraestrutura e privacidade**

* [ ] Proxy reverso: requisições de rastreamento C2S encaminhadas através do seu domínio; S2S não é enviado através do proxy
* [ ] Cabeçalhos: `RP-Host`, `X-Forwarded-For`, `X-Forwarded-Request-Path`, `Referer` estão presentes em requisições com proxy
* [ ] Privacidade: nenhuma informação de identificação pessoal (PII) presente em qualquer parâmetro ou URL
* [ ] HTTPS: todas as requisições usam conexões seguras
* [ ] Páginas de produtos: as páginas são renderizadas corretamente após o redirecionamento do clique

### Ferramentas recomendadas

* Ferramentas de desenvolvedor do navegador: guia Rede para inspecionar carregamentos de pixels e redirecionamentos.
* Fiddler ou Charles Proxy: inspecione o comportamento do proxy reverso e o encaminhamento de cabeçalhos.

### Resolução de problemas

| Problema                                               | Verificação                                                                                                                                                                                                                           |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Falha no carregamento dos pixels                       | Verifique DNS/SSL, confirme a reescrita do caminho do proxy e verifique a acessibilidade ao host de Epsilon rastreamento.                                                                                                             |
| Redirecionamentos não encaminham                       | Garantir que `{RURL}` esteja codificado em URL, verifique se o proxy preserva a query string.                                                                                                                                         |
| A API não retorna conteúdo                             | Verifique se `catalogId` e `urlSlug` correspondem a uma campanha ativa da página da marca.                                                                                                                                            |
| Rastreamento bloqueado por bloqueador de anúncios      | Confirme se o proxy reverso está configurado - o rastreamento deve ser roteado através do seu domínio.                                                                                                                                |
| Adição ao carrinho não rastreada                       | Certifique-se de disparar a URL composta do cliente ou do servidor de adição ao carrinho após a ação do carrinho.                                                                                                                     |
| Página gera erro ao carregar algumas páginas de marcas | Provavelmente está tratando campos de doc/exemplo como sempre obrigatórios. Registre o JSON bruto do módulo, adicione proteções para chaves opcionais e rastreamento ausente e confirme se o modelo permite ou desativa esses campos. |
| Cores do tema não aplicadas corretamente               | Verifique se os campos de tema de `null` recorrem aos padrões do seu guia de estilo, em vez de serem renderizados como valores nulos literais ou strings vazias.                                                                      |

## Glossário

**Termos essenciais para integração de páginas de marcas**

| Termo              | Definição                                                                                                                                                                                                                                                                                                                                                                                   | Exemplo                                                          |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| Chave da API       | Sua credencial de autenticação para Epsilon serviços                                                                                                                                                                                                                                                                                                                                        | `Basic abc123xyz...`                                             |
| Página da marca    | Uma experiência de página de destino de marca no seu site                                                                                                                                                                                                                                                                                                                                   | seusite.com/brands/nike                                          |
| Rastreamento C2S   | Client-to-Server: rastreamento baseado no navegador. As impressões usam pixels 1x1; os cliques usam um redirecionamento 302 ou um beacon de evento; a adição ao carrinho usa um beacon de evento.                                                                                                                                                                                           | `<img src="impression-pixel">, navigator.sendBeacon(clickEvent)` |
| Rastreamento S2S   | Server-to-Server: rastreamento no backend (GET ou POST para os URLs de rastreamento compostos)                                                                                                                                                                                                                                                                                              | Seu servidor → Epsilon servidor                                  |
| Módulo de conteúdo | Blocos de conteúdo individuais (hero, texto, produtos, etc.)                                                                                                                                                                                                                                                                                                                                | Banner hero, grade de produtos                                   |
| Tags do módulo     | Rótulos de string opcionais em um módulo (ex.: `["header"]`) definidos no modelo. Usados pelos varejistas para roteamento de layout, análises ou mapeamento para seus próprios componentes. Omitidos da resposta quando vazios.                                                                                                                                                             | `"tags": ["header"]`                                             |
| Tema               | Sempre presente em caso de sucesso na resposta da API: aninhado `colors` (segundo plano + sete funções de texto) e `buttons` (`primary` / `secondary` com `background` e `text`). Todos os campos de cor do tema são obrigatórios (hex6). Veja [Objeto Theme](/retail-media-interface/integration/pt-br/brand-pages/brand-page-retailer-integration-guide/brand-page-apis.md#theme-object). | "theme": { "colors": { ... }, "buttons": { ... } }               |
| Impressão          | Quando uma página da marca é visualizada por um usuário                                                                                                                                                                                                                                                                                                                                     | Carregamento da página = 1 impressão                             |
| Clique             | Quando um usuário clica no conteúdo da página da marca                                                                                                                                                                                                                                                                                                                                      | Clique no botão CTA                                              |
| Conversão          | Quando um usuário adiciona um produto ao carrinho a partir da página da marca                                                                                                                                                                                                                                                                                                               | Ação de adicionar ao carrinho                                    |
| Proxy reverso      | Roteia o rastreamento através do seu domínio para evitar bloqueadores de anúncios                                                                                                                                                                                                                                                                                                           | `yoursite.com/epsilon/` → Epsilon                                |
| Slug do URL        | O identificador da marca no caminho do URL                                                                                                                                                                                                                                                                                                                                                  | `nike` in `/brands/nike`                                         |
| ID do catálogo     | Seu identificador exclusivo do catálogo de produtos                                                                                                                                                                                                                                                                                                                                         | Fornecido por Epsilon                                            |
| Macro              | Placeholders de resposta (`{TS}`, `{RURL}`) in `tracking.params` que você substitui em tempo de execução;                                                                                                                                                                                                                                                                                   | `{TS} → 1737485823910`                                           |
| IAB TCF            | Interactive Advertising Bureau Transparency & Consent Framework                                                                                                                                                                                                                                                                                                                             | Padrão de conformidade com o GDPR                                |
| PII                | Informações de identificação pessoal (nunca envie isso!)                                                                                                                                                                                                                                                                                                                                    | E-mail, telefone, nome real                                      |
| Cache-busting      | Adicionar carimbos de data/hora para evitar respostas em cache                                                                                                                                                                                                                                                                                                                              | `?ts=1737485823910`                                              |

### Acrônimos técnicos

| Acrônimo | Termo completo                     | O que significa                                     |
| -------- | ---------------------------------- | --------------------------------------------------- |
| RMN      | Retail Media Network               | EpsilonPlataforma de publicidade da                 |
| CTA      | Call-to-Action                     | Botões/links clicáveis                              |
| JSON     | JavaScript Object Notation         | Formato de dados para solicitações/respostas de API |
| HTTPS    | HTTP Secure                        | Protocolo web criptografado                         |
| GDPR     | General Data Protection Regulation | Lei de privacidade da UE                            |
| TLS      | Transport Layer Security           | Protocolo de criptografia                           |
| DNS      | Domain Name System                 | Sistema de nomes de domínio da Internet             |
| SSL      | Secure Sockets Layer               | Protocolo de criptografia                           |
| RFC      | Request for Comments               | Documentos de padrões técnicos                      |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/integration/pt-br/brand-pages/brand-page-retailer-integration-guide/validation-troubleshooting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
