Guia de Integração de Consentimento de Cookies para Mapas de Calor e Gravações de Sessão do Hotjar: Manual 2026 para Editores

O Hotjar ocupa um lugar único na pilha de ferramentas. Não é uma plataforma de análise web como o Google Analytics, não é uma plataforma de análise de produtos como Amplitude ou Mixpanel, e não é um gerenciador de tags. É uma ferramenta de pesquisa de experiência do usuário que existe especificamente para registrar o que usuários individuais fazem em uma página — onde movem o mouse, o que clicam, onde rolam, onde hesitam, e no caso da gravação de sessão, exatamente o que digitaram e viram renderizado na tela. Essa granularidade é o produto. É também por isso que os reguladores destacaram a reprodução de sessão como uma das categorias de processamento comportamental de maior risco, e por que uma implantação descuidada do Hotjar é uma das formas mais fáceis de um site de outra forma em conformidade sair da conformidade. A CNIL, a Garante e o EDPB publicaram orientações especificamente voltadas para o comportamento de reprodução de sessão, e o grupo de trabalho de banners de cookies do EDPB para 2026 está tratando-o como uma categoria prioritária. A boa notícia é que o Hotjar é uma das ferramentas mais bem projetadas da categoria para implantação com consentimento em primeiro lugar — desde que o editor realmente use os controles disponíveis.

Por que o Hotjar requer consentimento explícito

O perfil de coleta do Hotjar é o que aciona obrigações de consentimento em todos os frameworks relevantes. Em uma inicialização padrão, o script de rastreamento do Hotjar grava pelo menos três cookies de primeira parte — _hjSessionUser_{siteId}, _hjSession_{siteId}, e uma série de cookies de supressão e de fonte de entrada — no navegador em milissegundos após o carregamento da página. O script então começa a transmitir um registro contínuo de coordenadas do cursor, coordenadas de clique, posição de rolagem, tamanho do viewport e, quando a gravação de sessão está habilitada, o DOM totalmente renderizado comparado com uma linha de base.

Sob o Artigo 5(3) da Diretiva ePrivacy, cada um desses cookies é uma operação de armazenamento e acesso que requer consentimento prévio, livremente dado, específico, informado e inequívoco no EEA, no Reino Unido, na Suíça e em qualquer jurisdição que tenha importado o mesmo padrão. Sob o GDPR, o fluxo comportamental constitui processamento de dados pessoais porque a combinação de rastro do cursor, endereço IP, impressão digital do dispositivo e identificador de sessão é suficiente para singularizar um indivíduo. Sob o CCPA e o CPRA, a mesma coleta conta como venda ou compartilhamento, a menos que o editor tenha o contrato de provedor de serviços relevante com o Hotjar — que o Hotjar oferece por meio de seu DPA em conformidade com o CCPA, mas que só entra em vigor quando a integração está corretamente configurada. Sob as orientações de reprodução de sessão do EDPB, o padrão é ainda mais alto: a reprodução deve estar vinculada a um propósito específico e legítimo de pesquisa de UX, o período de retenção deve ser o mínimo necessário, e o titular dos dados deve ser informado não apenas de que gravações existem, mas de que sua própria sessão pode ser reproduzida por um analista.

O que o Hotjar coleta antes do consentimento — e o que deve ser suprimido

O erro de implementação mais comum é aquele que vem com o próprio início rápido do Hotjar: colar o script de rastreamento diretamente no <head> da página. Isso funciona, mas carrega o Hotjar antes mesmo que o banner de cookies tenha sido renderizado, o que significa que os cookies são definidos e a gravação comportamental começa na primeira exibição de página — independentemente do que o usuário decidir depois. Todo regulador da UE que se pronunciou sobre esse padrão o fez da mesma forma: cookies definidos antes do consentimento são ilegais, e o editor é responsável.

Uma integração em conformidade deve, portanto, impedir que o script do Hotjar carregue de forma alguma até que a categoria de consentimento relevante tenha sido concedida. A maneira mais limpa de fazer isso é envolver o trecho do Hotjar em uma tag <script> controlada por consentimento que o CMP injeta somente após o usuário ter optado pela categoria de análise ou pesquisa de produto. Se o script for carregado por meio de um gerenciador de tags, o equivalente é definir o acionador para um evento de consentimento concedido em vez de Todas as páginas. A documentação própria do Hotjar agora recomenda esse padrão explicitamente, e a plataforma expõe uma API hj('consent', 'grant') para casos em que o script deve estar presente, mas deve permanecer inativo até que o consentimento seja registrado.

Cookies e armazenamento que o Hotjar grava

O Código de Rastreamento 6.x do Hotjar grava os seguintes identificadores, todos os quais são não essenciais e requerem consentimento: _hjSessionUser_{siteId} com expiração de 365 dias contendo o identificador do usuário, _hjSession_{siteId} com expiração de 30 minutos contendo o identificador de sessão, _hjFirstSeen, _hjIncludedInSessionSample_{siteId}, _hjAbsoluteSessionInProgress, e vários cookies de atribuição de campanha quando pesquisas ou widgets de feedback estão ativos. As próprias gravações de sessão são armazenadas nos servidores do Hotjar e vinculadas ao identificador de sessão — a retirada do consentimento deve, portanto, também sinalizar uma solicitação de exclusão por meio da API do Hotjar ou do fluxo de exclusão de usuário no produto.

Mapeando o Hotjar para frameworks de consentimento

O Hotjar não se integra nativamente ao IAB TCF ou ao IAB Global Privacy Platform. Não é um fornecedor de tecnologia de publicidade e nunca foi destinado a ser. No entanto, integra-se ao Google Consent Mode v2 por meio do sinal analytics_storage, e expõe sua própria API de consentimento nativa à qual qualquer CMP pode vincular. O padrão que sobrevive à revisão de um regulador trata cada capacidade do Hotjar como um portão de consentimento separado.

O padrão de integração que funciona

A implantação de referência tem quatro partes: um CMP que expõe um evento de mudança de consentimento em tempo real, um carregador de script diferido que injeta o trecho do Hotjar somente depois que o consentimento de análise dispara, uma camada de supressão de gravação de sessão que padroniza a gravação como desligada até que um portão separado se abra, e uma configuração de mascaramento de entrada que suprime rigidamente qualquer campo que um regulador consideraria sensível mesmo quando o consentimento foi concedido. O quarto ponto é frequentemente ignorado: o mascaramento de entrada não é um substituto para o consentimento, mas é um substituto para a catástrofe quando o consentimento é concedido para pesquisa legítima e um usuário acaba colando dados sensíveis em um campo de texto livre.

Implementação web

Na web, o padrão mais limpo é assinar o evento de mudança de consentimento do CMP e, em seguida, injetar condicionalmente o trecho do Hotjar quando o propósito de análise mudar de falso para verdadeiro. Use document.createElement('script') para injetar o código de rastreamento com o atributo async definido, e anexe um manipulador onload que chama hj('identify', userId, properties) apenas se um identificador de usuário validado pelo servidor existir. Quando o consentimento é retirado, chame hj('consent', 'revoke'), expire todos os cookies _hj via document.cookie e envie uma solicitação de exclusão via API de Dados do Hotjar para as gravações de sessão anteriores do usuário. Não inicialize o Hotjar preguiçosamente no mesmo passo de renderização que o banner — o script deve aguardar uma concessão explícita, e a concessão deve ser registrada com um carimbo de data/hora e uma string de consentimento antes que o script seja ativado.

Mascaramento de entrada e supressão de dados sensíveis

O gravador de sessão do Hotjar vem com três modos de mascaramento: Suppress mode, que é o padrão para campos de senha e qualquer elemento marcado com o atributo data-hj-suppress; Whitelist mode, onde apenas entradas explicitamente selecionadas são gravadas; e Mask mode, onde pressionamentos de tecla são gravados como asteriscos. Sob as regras de categoria especial do GDPR e a definição de informação pessoal sensível do CCPA, qualquer campo que possa capturar informações de saúde, detalhes financeiros, identificadores governamentais, dados biométricos, geolocalização precisa ou conteúdo de comunicações privadas deve usar o Suppress mode independentemente do estado de consentimento do usuário. Definir data-hj-suppress no nível do formulário em vez do nível do campo é o padrão mais seguro — ele suprime o formulário inteiro mesmo que um desenvolvedor adicione posteriormente um novo campo que esqueça de marcar individualmente.

Aplicativos de página única e mudanças de rota

Para SPAs (React, Vue, Angular, Svelte) o trecho do Hotjar se vincula apenas ao carregamento inicial da página por padrão. Para rastrear transições de página virtuais, o bootstrap deve chamar hj('stateChange', newPath) em cada mudança de rota. Essa chamada respeita qualquer estado de consentimento que o Hotjar mantém naquele momento, portanto a lógica de controle do CMP não precisa ser duplicada — mas a mudança de rota em si não deve acionar um novo carregamento de script se o consentimento tiver sido retirado entre as exibições de página.

Validando a integração

A etapa de validação é o que os reguladores verificam e o que os editores mais frequentemente ignoram. Uma implantação do Hotjar corretamente integrada deve passar em quatro testes em ordem. Primeiro, uma sessão do navegador recente com o banner exibido, mas sem escolha feita, deve produzir zero solicitações para static.hotjar.com, script.hotjar.com ou vars.hotjar.com, e zero cookies _hj em document.cookie. Segundo, recusar a análise deve manter esse estado — sem carregamento de script, sem gravação, sem cookies. Terceiro, aceitar a análise deve produzir um carregamento de script e os cookies _hjSessionUser e _hjSession esperados com atributos SameSite corretos, e uma gravação de mapa de calor deve aparecer no painel do Hotjar em cinco minutos. Quarto, a retirada do consentimento após o fato deve imediatamente parar qualquer gravação adicional, expirar os cookies e acionar uma solicitação de exclusão — uma limpeza atrasada é uma descoberta.

O rastro de auditoria importa separadamente. Os reguladores esperam que o editor possa provar, para qualquer gravação específica na conta do Hotjar, que o usuário que a gerou havia dado consentimento válido no momento da captura. O padrão é incorporar a versão do consentimento e o carimbo de data/hora como um atributo personalizado no registro de usuário do Hotjar via hj('identify', userId, { consent_version: 'v3', consent_ts: ts }). Isso torna qualquer gravação específica rastreável de volta a uma entrada de log de consentimento específica, que é o padrão estabelecido pelo EDPB e o padrão que os editores devem adotar independentemente de onde operam. Uma implantação corretamente controlada, combinada com mascaramento de entrada que suprime por padrão e um caminho de exclusão que ativa na retirada, é o que torna o Hotjar uma parte defensável de uma pilha de pesquisa em vez de um passivo de conformidade.

← Blog Ler tudo →