Pular para o conteúdo principal

Modo Cosmético (cookieConsentCosmeticOnly)

Algumas brands operam em modo cosmético — o banner LGPD aparece pro usuário, mas qualquer clique já autoriza tudo (accept_all). Esta página explica quando isso vale, como ativa, e o que acontece tecnicamente.

O que é

Feature flag featuresConfig.cookieConsentCosmeticOnly: true muda a semântica do banner:

CenárioComportamento defaultComportamento cosmético
User clica "Aceitar todos"{ all categories: true }{ all categories: true } (igual)
User clica "Recusar"{ necessary: true, others: false }{ all categories: true }
User clica "Salvar Personalização"preferências granulares{ all categories: true }
User fecha o banner sem clicar (bot, ESC)banner permanece{ all categories: true } após primeiro mount
Banner reaparece em 12 mesessimbanner não volta a aparecer

Tradução: banner é puramente visual. Qualquer interação ou tempo decorrido vira accept_all.

Quando usar

Apenas com autorização conjunta:

  1. Marketing — confirma que tracking é prioridade comercial e perda de attribution por consent denial é inaceitável
  2. Compliance / DPO — confirma que a brand opera em jurisdição/contrato onde isso é aceitável (ex: brand internacional sem requisito LGPD-strict, ou brand com TOS específico)

Documentar a aprovação no canal interno antes de ativar.

Brands ativas

BrandcookieConsentCosmeticOnly
Veratrue
Demaisfalse (default)

Implicação técnica em GCM v2

Quando ativo, GCM defaults sobem direto como granted:

// Sem cookieConsentCosmeticOnly (default)
gtag('consent', 'default', {
analytics_storage: 'denied',
ad_storage: 'denied',
// etc
});

// Com cookieConsentCosmeticOnly
gtag('consent', 'default', {
analytics_storage: 'granted',
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted',
functionality_storage: 'granted',
personalization_storage: 'granted',
security_storage: 'granted',
});

Resultado: pixels disparam em modo full desde a primeira pageview, sem janela cega esperando consent.

Por que NÃO é simplesmente "desativar o banner"

Brands ainda renderizam o banner pra:

  • Documentar para auditoria que o user recebeu aviso de cookies
  • Manter UX consistente (user vê visual familiar)
  • Cumprir requisitos contratuais com plataformas de pagamento, parceiros, etc

A diferença é: interação não muda preferência — preferência já é "aceitar tudo" desde o primeiro render.

Mesmo em modo cosmético, o parser de cookies_consent ainda detecta cookies em formato legado e migra. User existente que tinha ["necessary"] (recusou no modo default) vê suas preferências sobrescritas pra { all granted } no próximo mount cosmético.

Este é o comportamento desejado — mudança de modo (default → cosmetic) requer re-aceite explícito.

Anti-patterns

  1. Ativar cookieConsentCosmeticOnly: true sem aprovação documentada de marketing + compliance. Risco regulatório alto.
  2. Confundir com "esconder banner". Banner ainda renderiza em cosmetic — apenas a semântica de interação muda.
  3. Esperar dashboard de "users que recusaram cookies" funcionar em modo cosmético. Métrica vira 0% recusa, sempre.
  4. Mudar de true pra false em prod sem aviso a marketing. Da noite pro dia, pixels passam a operar em modo limitado pra novos users até consent — drop drástico em attribution.