Parte da nossa série Compliance & Regulation
Leia o guia completoGuia 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
| Requisito | UE (GDPR + ePrivacy) | Reino Unido (PECR + RGPD do Reino Unido) | EUA (CCPA/leis estaduais) | Brasil (LGPD) | Canadá (PIPEDA) |
|---|---|---|---|---|---|
| Consentimento prévio para cookies não essenciais | Sim (aceitar) | Sim (aceitar) | Não (modelo de opt-out) | Sim (aceitar) | Consentimento implícito permitido |
| Banner de consentimento obrigatório | Sim | Sim | Não obrigatório (mas recomendado) | Sim | Recomendado |
| Opções granulares (por categoria) | Sim | Sim | Não obrigatório | Sim | Recomendado |
| Igual importância para aceitar/recusar | Sim | Sim | N/A | Sim | N/A |
| Parede de biscoitos permitida | Não (na maioria dos estados) | Não | N/A | Não | N/A |
| Registro de consentimento necessário | Sim | Sim | Não | Sim | Sim |
| Período de renovação do consentimento | Máx. 12 meses | Máx. 12 meses | N/A | Não especificado | Não especificado |
| Política de cookies necessária | Sim (detalhado) | Sim (detalhado) | Sim (se estiver rastreando) | Sim | Sim |
O que conta como um cookie
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
| Categoria | Consentimento necessário? | Exemplos | Estado padrão |
|---|---|---|---|
| Estritamente necessário | Não | Cookies de sessão, tokens CSRF, cookies de balanceador de carga, autenticação | Sempre ligado |
| Funcional/preferências | Sim | Preferência de idioma, preferência de tema, carrinho salvo | Desligado (até consentimento) |
| Análise/desempenho | Sim | Google Analytics, Hotjar, Plausível (com cookies) | Desligado (até consentimento) |
| Marketing/publicidade | Sim | Google Ads, Facebook Pixel, cookies de retargeting | Desligado (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 biscoito | Categoria | Finalidade | Duração | Primeiro/Terceiro |
|---|---|---|---|---|
| CÓDIGO0 | Estritamente necessário | Autenticação | Sessão | Primeira parte |
| CÓDIGO0 | Estritamente necessário | Atualização de token | 7 dias | Primeira parte |
| CÓDIGO0 | Estritamente necessário | Preferência de idioma | 1 ano | Primeira parte |
| CÓDIGO0 | Análise | ID de visitante do Google Analytics | 2 anos | Terceiros (Google) |
| CÓDIGO0 | Comercialização | Rastreamento de pixels do Facebook | 90 dias | Terceiros (Facebook) |
Implementação Técnica
Opção 1: Plataforma de gerenciamento de consentimento (CMP)
| CMP | Nível gratuito | Compatível com GDPR | Parceiro CMP do Google | IAB TCF 2.2 |
|---|---|---|---|---|
| Biscoitobot | Até 1 página | Sim | Sim | Sim |
| OneTrust | Não | Sim | Sim | Sim |
| Osano | Até 5 mil visitantes | Sim | Sim | Não |
| Termalmente | Plano básico | Sim | Sim | Não |
| Cookie-Script | Até 1 local | Sim | Sim | Nã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:
| Ferramenta | Biscoitos | É necessário consentimento do GDPR | Localização dos dados | Preço |
|---|---|---|---|---|
| Plausível | Nenhum | Não | UE | US$ 9/mês |
| Compreender | Nenhum | Não | UE/EUA/Canadá | US$ 14/mês |
| Umami | Nenhum | Não | Auto-hospedado | Grátis |
| Análise Simples | Nenhum | Não | UE | US$ 9/mês |
| Matomo (configuração sem cookies) | Opcional | Não (sem cookies) | Auto-hospedado | Grá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.
Escrito por
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Expanda o seu negócio com ECOSIRE
Soluções empresariais em ERP, comércio eletrônico, IA, análise e automação.
Artigos Relacionados
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.
Mais de Compliance & Regulation
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.