Banner de cookies conforme ao RGPD, pronto a colar
Um banner de cookies só cumpre a lei se pedir consentimento antes de instalar cookies não essenciais, se permitir rejeitar tão facilmente como aceitar e se guardar a escolha do utilizador. Este gerador cria exatamente isso: HTML, CSS e JavaScript num único bloco, sem bibliotecas externas, sem serviços pagos e sem qualquer chamada a servidores.
Como bloquear os scripts até haver consentimento
Não basta mostrar o banner — os scripts de análise e marketing não podem correr antes do "sim". Para isso, altere as tags desses scripts no seu site: troque type="text/javascript" por type="text/plain" e acrescente data-cookiecategory. O browser deixa de os executar; o banner recria-os só quando a categoria for aceite.
<!-- Google Analytics: só corre se aceitar "Analíticos" -->
<script type="text/plain" data-cookiecategory="analytics"
src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<!-- Meta Pixel: só corre se aceitar "Marketing" -->
<script type="text/plain" data-cookiecategory="marketing">
/* o seu código do pixel aqui */
</script>
O consentimento fica guardado no localStorage (chave dm_cookie_consent), com data e categorias aceites, e expira ao fim de 6 meses. Para dar ao utilizador a possibilidade de mudar de ideias, coloque no rodapé uma ligação a chamar dmCookiePrefs().
Como usar
Escolha as categorias, a posição, as cores e os textos do banner.
Copie o código e cole-o imediatamente antes de </body> em todas as páginas.
Marque os scripts de análise e marketing com type="text/plain" e data-cookiecategory.
Complete o pacote com o gerador de política de privacidade e o gerador de termos e condições.
Perguntas frequentes
O banner de cookies é mesmo obrigatório?
Se o site instala cookies que não são estritamente necessários ao seu funcionamento — análise, publicidade, redes sociais — é preciso obter consentimento prévio, livre e informado. Só os cookies estritamente necessários estão dispensados de consentimento.
O botão "Rejeitar" tem de estar visível?
Sim. Rejeitar deve ser tão fácil como aceitar: os reguladores europeus consideram que "Aceitar todos" e "Rejeitar" devem estar ao mesmo nível, no primeiro ecrã, sem o utilizador ter de abrir menus para recusar. O banner gerado segue esse princípio.
Como é que os scripts ficam bloqueados até haver consentimento?
Os scripts de análise ou marketing passam a ter type="text/plain" e data-cookiecategory="analytics" ou "marketing". O browser não os executa. Quando o utilizador aceita essa categoria, o script do banner recria a tag como JavaScript real e só nessa altura ela corre.
Onde fica guardado o consentimento?
No localStorage do browser do utilizador, na chave dm_cookie_consent, com a data e as categorias aceites. Nada é enviado para servidores. Ao fim de 6 meses o consentimento expira e o banner volta a aparecer.