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 20268 min de leitura1.8k Palavras|

Parte da nossa série Compliance & Regulation

Leia o guia completo

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

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
CÓDIGO0Estritamente necessárioAutenticaçãoSessãoPrimeira parte
CÓDIGO0Estritamente necessárioAtualização de token7 diasPrimeira parte
CÓDIGO0Estritamente necessárioPreferência de idioma1 anoPrimeira parte
CÓDIGO0AnáliseID de visitante do Google Analytics2 anosTerceiros (Google)
CÓDIGO0Comercializaçã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 Research and Development Team

Construindo produtos digitais de nível empresarial na ECOSIRE. Compartilhando insights sobre integrações Odoo, automação de e-commerce e soluções de negócios com IA.

Mais de Compliance & Regulation

Lista de verificação de preparação para auditoria: como seu ERP torna as auditorias 60% mais rápidas

Lista de verificação completa de preparação de auditoria usando sistemas ERP. Reduza o tempo de auditoria em 60% com documentação, controles e coleta automatizada de evidências adequados.

Regulamentações de transferência de dados transfronteiriças: navegando em fluxos de dados internacionais

Navegue pelas regulamentações de transferência de dados transfronteiriças com SCCs, decisões de adequação, BCRs e avaliações de impacto de transferência para conformidade com GDPR, Reino Unido e APAC.

Requisitos regulatórios de segurança cibernética por região: um mapa de conformidade para empresas globais

Navegue pelas regulamentações de segurança cibernética nos EUA, UE, Reino Unido, APAC e Oriente Médio. Abrange regras NIS2, DORA, SEC, requisitos de infraestrutura crítica e cronogramas de conformidade.

Governança e conformidade de dados: o guia completo para empresas de tecnologia

Guia completo de governança de dados que abrange estruturas de conformidade, classificação de dados, políticas de retenção, regulamentos de privacidade e roteiros de implementação para empresas de tecnologia.

Políticas de retenção de dados e automação: mantenha o que você precisa, exclua o que você precisa

Crie políticas de retenção de dados com requisitos legais, cronogramas de retenção, aplicação automatizada e verificação de conformidade para GDPR, SOX e HIPAA.

Gestão de privacidade de dados de funcionários: equilibrando necessidades de RH com direitos de privacidade

Gerencie a privacidade dos dados dos funcionários com os requisitos do GDPR, bases de processamento de dados de RH, políticas de monitoramento, transferências internacionais e práticas recomendadas de retenção.

Converse no WhatsApp