Pular para o conteúdo principal

Guia de implementação de consentimento de cookies: gerenciamento de consentimento em conformidade legal

Implemente o consentimento de cookies que esteja em conformidade com GDPR, ePrivacy, CCPA e regulamentações globais. Abrange banners de consentimento, categorização de cookies e integração CMP.

E
ECOSIRE Research and Development Team
|16 de março de 20269 min de leitura1.8k Palavras|

Mais de 400 milhões de euros em multas do GDPR foram emitidos especificamente por violações de consentimento de cookies desde 2020. A CNIL francesa multou o Google em 150 milhões de euros e o Facebook em 60 milhões de euros por tornarem mais fácil aceitar cookies do que recusá-los.

Parte da nossa série Conformidade e regulamentação

Leia o guia completo

Mais de 400 milhões de euros em multas do GDPR foram emitidos especificamente por violações de consentimento de cookies desde 2020. A CNIL francesa multou o Google em 150 milhões de euros e o Facebook em 60 milhões de euros por tornarem mais fácil aceitar cookies do que recusá-los. O consentimento de cookies não é mais um exercício de caixa de seleção – é uma área da lei de privacidade fortemente aplicada, com requisitos técnicos específicos.

Este guia aborda os requisitos legais, a implementação técnica e o gerenciamento contínuo do consentimento de cookies para sites e aplicativos da web.

Principais conclusões

  • De acordo com o GDPR e o ePrivacy, o consentimento deve ser obtido ANTES de definir cookies não essenciais --- e não depois
  • O consentimento deve ser tão fácil de retirar quanto de dar (recusar com um clique, não oculto nas configurações)
  • As paredes de cookies ("aceitar ou sair") são ilegais na maioria dos estados membros da UE
  • O Google Consent Mode v2 é necessário para Google Analytics e Ads no EEE desde março de 2024

Requisitos legais por região

Comparação de requisitos de consentimento de cookies

RequisitoUE (GDPR + ePrivacy)Reino Unido (PECR + RGPD do Reino Unido)EUA (CCPA/leis estaduais)Brasil (LGPD)Canadá (PIPEDA)
Consentimento prévio para cookies não essenciaisSim (aceitar)Sim (aceitar)Não (modelo de opt-out)Sim (aceitar)Consentimento implícito permitido
Banner de consentimento obrigatórioSimSimNão obrigatório (mas recomendado)SimRecomendado
Opções granulares (por categoria)SimSimNão obrigatórioSimRecomendado
Igual importância para aceitar/recusarSimSimN/ASimN/A
Parede de biscoitos permitidaNão (na maioria dos estados)NãoN/ANãoN/A
Registro de consentimento necessárioSimSimNãoSimSim
Período de renovação do consentimentoMáx. 12 mesesMáx. 12 mesesN/ANão especificadoNão especificado
Política de cookies necessáriaSim (detalhado)Sim (detalhado)Sim (se estiver rastreando)SimSim

A Diretiva ePrivacy abrange não apenas os cookies HTTP, mas todas as tecnologias que armazenam ou acessam informações no dispositivo do usuário:

  • Cookies HTTP (primários e de terceiros)
  • LocalStorage e SessionStorage
  • IndexadoDB
  • Impressão digital do dispositivo
  • Pixels de rastreamento / web beacons
  • ETags usadas para rastreamento

Categorização de cookies

Categorias padrão

CategoriaConsentimento necessário?ExemplosEstado padrão
Estritamente necessárioNãoCookies de sessão, tokens CSRF, cookies de balanceador de carga, autenticaçãoSempre ligado
Funcional/preferênciasSimPreferência de idioma, preferência de tema, carrinho salvoDesligado (até consentimento)
Análise/desempenhoSimGoogle Analytics, Hotjar, Plausível (com cookies)Desligado (até consentimento)
Marketing/publicidadeSimGoogle Ads, Facebook Pixel, cookies de retargetingDesligado (até consentimento)

Auditando seus cookies

Antes de implementar o consentimento, audite todos os cookies que seu site define:

// Browser console: list all cookies
document.cookie.split(';').forEach(c => console.log(c.trim()));

// Or use a scanning tool
// cookiebot.com/en/cookie-checker
// 2gdpr.com

Documente cada cookie:

Nome do biscoitoCategoriaFinalidadeDuraçãoPrimeiro/Terceiro
ecosire_authEstritamente necessárioAutenticaçãoSessãoPrimeira parte
ecosire_refreshEstritamente necessárioAtualização de token7 diasPrimeira parte
NEXT_LOCALEEstritamente necessárioPreferência de idioma1 anoPrimeira parte
_gaAnáliseID de visitante do Google Analytics2 anosTerceiros (Google)
_fbpComercializaçãoRastreamento de pixels do Facebook90 diasTerceiros (Facebook)

Implementação Técnica

Opção 1: Plataforma de gerenciamento de consentimento (CMP)

CMPNível gratuitoCompatível com GDPRParceiro CMP do GoogleIAB TCF 2.2
BiscoitobotAté 1 páginaSimSimSim
OneTrustNãoSimSimSim
OsanoAté 5 mil visitantesSimSimNão
TermalmentePlano básicoSimSimNão
Cookie-ScriptAté 1 localSimSimNão

Opção 2: implementação personalizada

Para equipes que desejam controle total:

// lib/cookie-consent.ts
type ConsentCategory = 'necessary' | 'functional' | 'analytics' | 'marketing';

interface ConsentPreferences {
  necessary: true; // Always true, cannot be changed
  functional: boolean;
  analytics: boolean;
  marketing: boolean;
  timestamp: string;
  version: string;
}

const CONSENT_COOKIE = 'ecosire_consent';
const CONSENT_VERSION = '2.0';
const CONSENT_DURATION = 365; // days

export function getConsent(): ConsentPreferences | null {
  const cookie = document.cookie
    .split(';')
    .find(c => c.trim().startsWith(`${CONSENT_COOKIE}=`));

  if (!cookie) return null;

  try {
    const prefs = JSON.parse(decodeURIComponent(cookie.split('=')[1]));
    // Invalidate if consent version changed
    if (prefs.version !== CONSENT_VERSION) return null;
    return prefs;
  } catch {
    return null;
  }
}

export function setConsent(preferences: Omit<ConsentPreferences, 'necessary' | 'timestamp' | 'version'>) {
  const consent: ConsentPreferences = {
    necessary: true,
    ...preferences,
    timestamp: new Date().toISOString(),
    version: CONSENT_VERSION,
  };

  const expires = new Date(Date.now() + CONSENT_DURATION * 86400000).toUTCString();
  document.cookie = `${CONSENT_COOKIE}=${encodeURIComponent(JSON.stringify(consent))}; expires=${expires}; path=/; SameSite=Lax`;

  // Apply consent decisions
  applyConsent(consent);

  return consent;
}

function applyConsent(consent: ConsentPreferences) {
  if (consent.analytics) {
    // Initialize Google Analytics
    loadScript('https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX');
  }

  if (consent.marketing) {
    // Initialize marketing pixels
    loadScript('https://connect.facebook.net/en_US/fbevents.js');
  }

  if (!consent.analytics) {
    // Remove analytics cookies
    deleteCookie('_ga');
    deleteCookie('_gid');
  }

  if (!consent.marketing) {
    // Remove marketing cookies
    deleteCookie('_fbp');
    deleteCookie('_fbc');
  }
}

Modo de consentimento do Google v2

Obrigatório para Google Analytics e Google Ads no EEE desde março de 2024:

<!-- Set default consent state BEFORE loading Google tags -->
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}

  // Default: deny all until user consents
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'analytics_storage': 'denied',
    'functionality_storage': 'denied',
    'personalization_storage': 'denied',
    'security_storage': 'granted', // Always granted (necessary)
    'wait_for_update': 500 // Wait for CMP
  });
</script>

<!-- Load Google Tag Manager -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>

Quando o usuário fornece consentimento:

// Update consent state when user interacts with banner
function updateGoogleConsent(preferences) {
  gtag('consent', 'update', {
    'ad_storage': preferences.marketing ? 'granted' : 'denied',
    'ad_user_data': preferences.marketing ? 'granted' : 'denied',
    'ad_personalization': preferences.marketing ? 'granted' : 'denied',
    'analytics_storage': preferences.analytics ? 'granted' : 'denied',
    'functionality_storage': preferences.functional ? 'granted' : 'denied',
    'personalization_storage': preferences.functional ? 'granted' : 'denied',
  });
}

Requisitos de design de banner de consentimento

Requisitos legais da UE

  • [] O banner aparece ANTES de qualquer cookie não essencial ser definido
  • Os botões "Aceitar todos" e "Recusar todos" têm igual destaque visual
  • [] Seleção granular de categoria disponível (não apenas tudo ou nada)
  • [] Sem caixas pré-marcadas para categorias não essenciais
  • [] Explicação clara e em linguagem simples de cada categoria
  • Link para a política completa de cookies
  • [] Retirada de consentimento acessível a qualquer momento (por exemplo, link de rodapé)
  • [] Sem parede de cookies (deve ser capaz de usar o site sem consentimento)
  • [] Consentimento registrado com carimbo de data/hora e versão

Requisitos de acessibilidade

  • Banner é navegável pelo teclado
  • Compatível com leitor de tela (etiquetas ARIA)
  • Contraste de cor suficiente
  • Não bloqueia conteúdo essencial permanentemente

Alternativa de análise sem cookies

Para sites que desejam evitar totalmente os banners de consentimento de cookies:

FerramentaBiscoitosÉ necessário consentimento do GDPRLocalização dos dadosPreço
PlausívelNenhumNãoUEUS$ 9/mês
CompreenderNenhumNãoUE/EUA/CanadáUS$ 14/mês
UmamiNenhumNãoAuto-hospedadoGrátis
Análise SimplesNenhumNãoUEUS$ 9/mês
Matomo (configuração sem cookies)OpcionalNão (sem cookies)Auto-hospedadoGrátis

O uso de análises sem cookies elimina a necessidade de consentimento analítico, simplificando seu banner de consentimento para cobrir apenas cookies de marketing (se usados).


Perguntas frequentes

Precisamos de um banner de cookies se usarmos apenas os cookies necessários?

Não. Se você usar apenas cookies estritamente necessários (autenticação, CSRF, balanceamento de carga), nenhum consentimento será necessário e nenhum banner será necessário. No entanto, você ainda deve divulgar esses cookies na sua política de privacidade. No momento em que você adiciona análises (Google Analytics) ou qualquer rastreamento de terceiros, um banner de consentimento torna-se legalmente obrigatório na UE.

É legal usar um "soft opt-in" (continuar navegando = consentimento)?

Não, não sob o GDPR. O Conselho Europeu para a Proteção de Dados declarou explicitamente que a navegação contínua, a rolagem ou ações passivas semelhantes não constituem consentimento válido. O consentimento deve ser uma ação clara e afirmativa – clicar em um botão que diz “Aceitar” ou algo semelhante. O soft opt-in foi considerado não conforme no Planet49 (TJUE, 2019).

Como lidamos com o consentimento para aplicativos de página única?

Para SPAs, verifique o estado de consentimento no carregamento inicial da página e em cada alteração de rota. Se o consentimento não tiver sido dado, não inicialize scripts de rastreamento. Armazene as preferências de consentimento em um cookie primário (que é estritamente necessário para lembrar o consentimento). Quando o usuário fornecer consentimento, inicialize os scripts de rastreamento sem exigir o recarregamento da página.

Precisamos de consentimento de cookies para nosso site Odoo?

Se o seu site Odoo atende visitantes da UE e usa análises, pixels de marketing ou cookies funcionais além do estritamente necessário, sim. Odoo possui um aviso básico de cookies, mas não atende aos padrões do GDPR. Implemente um CMP adequado como o Cookiebot ou crie uma solução personalizada. ECOSIRE fornece serviços do site Odoo que incluem consentimento de cookies em conformidade com GDPR.


O que vem a seguir

O consentimento de cookies é o aspecto mais visível da conformidade com a privacidade na web. Combine-o com privacidade desde a concepção para a arquitetura da sua aplicação, governança de dados para o seu programa de dados completo e regulamentações de segurança cibernética para uma conformidade mais ampla.

Entre em contato com a ECOSIRE para implementação de consentimento de cookies e consultoria de conformidade de privacidade.


Publicado pela ECOSIRE – ajudando as empresas a implementar conformidades de privacidade nas quais os usuários confiam.

E

Escrito por

ECOSIRE Team

Redação técnica

A equipe de redação técnica da ECOSIRE escreve sobre Odoo ERP, e-commerce com Shopify, agentes de IA, análise de dados com Power BI, automação com GoHighLevel e boas práticas de software empresarial. Nossos guias ajudam as empresas a tomar decisões de tecnologia bem fundamentadas.

ECOSIRE

Expanda o seu negócio com ECOSIRE

Soluções empresariais em ERP, comércio eletrônico, IA, análise e automação.

Mais de Conformidade e regulamentação

Cibersegurança para comércio eletrônico: proteja sua empresa em 2026

Guia completo de segurança cibernética de comércio eletrônico para 2026. PCI DSS 4.0, configuração WAF, proteção de bot, prevenção de fraudes em pagamentos, cabeçalhos de segurança e resposta a incidentes.

ERP para Indústria Química: Segurança, Conformidade e Processamento em Lote

Como os sistemas ERP gerenciam documentos SDS, conformidade com REACH e GHS, processamento em lote, controle de qualidade, envio de materiais perigosos e gerenciamento de fórmulas para empresas químicas.

ERP para comércio de importação/exportação: multimoedas, logística e conformidade

Como os sistemas ERP lidam com cartas de crédito, documentação alfandegária, incoterms, lucros e perdas em várias moedas, rastreamento de contêineres e cálculo de taxas para empresas comerciais.

Relatórios de Sustentabilidade e ESG com ERP: Guia de Conformidade 2026

Navegue pela conformidade dos relatórios ESG em 2026 com sistemas ERP. Abrange emissões CSRD, GRI, SASB, escopo 1/2/3, rastreamento de carbono e sustentabilidade Odoo.

Lista de verificação de preparação para auditoria: preparando seus livros

Lista de verificação completa para preparação de auditoria, cobrindo a preparação das demonstrações financeiras, documentação de suporte, documentação de controles internos, listas de PBC de auditores e descobertas comuns de auditoria.

Guia GST australiano para empresas de comércio eletrônico

Guia completo de GST australiano para empresas de comércio eletrônico, cobrindo registro ATO, limite de US$ 75.000, importações de baixo valor, apresentação de BAS e GST para serviços digitais.