Guía de integración de consentimiento de cookies para análisis de producto con captura automática de Heap: Manual 2026 para editores

Heap es inusual en el ecosistema de análisis de producto por lo que hace de forma predeterminada. Mientras que Mixpanel, Amplitude y PostHog piden al editor que instrumente los eventos importantes, Heap captura todo automáticamente y permite al analista definir eventos retroactivamente a partir del flujo capturado. Este modelo de captura automática es la característica definitoria del producto y la razón por la que los equipos lo eligen; es también la razón por la que un despliegue predeterminado de Heap lleva una de las superficies de datos de comportamiento más amplias de cualquier herramienta que un editor probablemente instale. Cada clic, toque, desplazamiento, interacción con formularios, transición de página y clic de rabia se captura contra un identificador persistente en milisegundos tras la carga de la página — lo que significa que cada una de esas operaciones genera una obligación de consentimiento. La buena noticia es que Heap, desde su adquisición por Contentsquare, incluye una de las API de consentimiento más granulares del espacio de análisis de producto; el trabajo está en conectarla correctamente a través de la superficie de captura automática, la capa de identidad y el módulo de reproducción de sesión que añade la integración de Contentsquare.

Por qué Heap requiere consentimiento — y por qué la respuesta es más amplia que el análisis típico

Una inicialización predeterminada de Heap hace varias cosas en el primer renderizado de la página. Establece una cookie de primera parte bajo _hp2_id.{envId} que contiene el identificador de usuario persistente, una cookie de sesión bajo _hp2_ses_id.{envId} con el identificador de sesión, una cookie de tasa de muestreo bajo _hp2_props.{envId} y un marcador _hp2_loaded que indica que el SDK se ha inicializado. Genera el identificador distinto si aún no existe, captura la vista de página inicial con el referente, los parámetros UTM y los identificadores de clic, y comienza inmediatamente a registrar cada interacción posterior contra ese identificador — clics, toques, cambios de formulario, cambios de ruta, eventos personalizados y, cuando la integración de Contentsquare está habilitada, la diferencia DOM completa renderizada para la reproducción de sesión.

Cada una de esas actividades genera una puerta de consentimiento separada. Persistir el identificador de usuario es una operación de almacenamiento y acceso bajo Article 5(3) de la Directiva ePrivacy y requiere consentimiento previo, libremente dado, específico, informado e inequívoco en el EEA, el Reino Unido y cualquier jurisdicción que haya importado el mismo estándar. Capturar el flujo de eventos de captura automática es procesamiento de datos personales bajo el GDPR porque la combinación de identificador, dirección IP y traza de comportamiento es suficiente para individualizar a una persona. La reproducción de sesión cae en una categoría separada y más estricta bajo la guía del EDPB sobre reproducción de sesión — la reproducción captura el DOM renderizado y cualquier campo de entrada sin máscara y requiere un consentimiento explícito y granular distinto del consentimiento genérico de análisis. La CCPA y la CPRA tratan el mismo procesamiento como una venta o compartición a menos que el editor tenga el contrato de proveedor de servicios relevante con Heap — que Heap ofrece, pero el contrato solo entra en vigor cuando la integración está configurada para el modo de proveedor de servicios.

Qué escribe Heap antes del consentimiento — y qué debe suprimirse

El inicio rápido estándar que viene con el panel de control de Heap instala el fragmento de seguimiento directamente en el <head> de la página. Eso funciona como se documenta y es la fuente del fallo de cumplimiento más común en los despliegues de Heap: el fragmento se ejecuta antes de que el banner de cookies se haya renderizado, las cookies _hp2_ se escriben en milisegundos y el flujo de captura automática comienza a fluir hacia heapanalytics.com independientemente de lo que el usuario decida después. Cada regulador europeo que se ha pronunciado sobre este patrón ha decidido de la misma manera: las cookies establecidas antes del consentimiento son ilegales y el editor lleva la responsabilidad.

Una integración conforme debe por tanto impedir que el fragmento de Heap se cargue hasta que se haya concedido la categoría de consentimiento relevante. Los dos patrones que funcionan en producción son la inyección de scripts condicional — el fragmento se añade al DOM solo después de que el CMP señalice el consentimiento — y la precarga del fragmento con heap.load(appId, { disableTextCapture: true, secureCookie: true, autocapture: false }) como bootstrap diferido y luego llamar a heap.startAutoCapture() una vez registrado el consentimiento. El patrón de inyección condicional es más limpio y el que la documentación de Heap recomienda ahora. El patrón de bootstrap diferido es la elección adecuada cuando el editor necesita una referencia global estable para el cosido de identidad pero no puede permitir que la captura automática se active antes del consentimiento.

Las cookies y el almacenamiento que escribe Heap

El fragmento de Heap escribe los siguientes identificadores en la inicialización, todos los cuales no son esenciales y requieren consentimiento: _hp2_id.{envId} con un vencimiento de 14 meses que contiene el identificador de usuario, _hp2_ses_id.{envId} con un vencimiento de sesión de 30 minutos, _hp2_props.{envId} para la tasa de muestreo y la propagación de propiedades, y _hp2_loaded como marcador de carga. El módulo de reproducción de sesión integrado con Contentsquare añade un búfer de grabación en memoria que se vacía al endpoint de Heap cada pocos segundos y puede persistir por separado un pequeño identificador de sesión de reproducción. Revocar el consentimiento debe por tanto tanto expirar las cookies _hp2_ como señalizar una solicitud de eliminación a través de la API GDPR de Heap para las grabaciones anteriores y el flujo de eventos del usuario.

Mapeo de Heap a marcos de consentimiento

Heap no implementa IAB TCF ni IAB Global Privacy Platform de forma nativa — es una plataforma de análisis de producto de primera parte, no un proveedor de tecnología publicitaria — pero se integra con Google Consent Mode v2 mediante el puenteo del lado del editor, expone una API nativa de opt-in y opt-out y admite una capa de redacción de propiedades sensibles que opera independientemente del estado del consentimiento. El patrón que supera la revisión de un regulador trata cada módulo de Heap como una puerta separada vinculada a una señal específica del CMP.

El patrón de integración que funciona

El despliegue de referencia tiene cuatro partes: un CMP que expone un evento de cambio de consentimiento en tiempo real, un bootstrap diferido que carga Heap con la captura automática deshabilitada, un oyente de consentimiento que activa la captura automática y arranca el búfer de reproducción de sesión cuando se abren las puertas relevantes, y una ruta de retirada que llama a heap.resetIdentity(), detiene la captura automática, expira las cookies _hp2_ y despacha una solicitud de eliminación a través del endpoint GDPR de Heap.

Implementación web

En la web el patrón más limpio es cargar el fragmento de Heap condicionalmente — la etiqueta <script> se inyecta solo después de que se haya concedido la categoría de análisis. Suscríbase al evento de cambio de consentimiento del CMP. Cuando la categoría de análisis pasa a verdadero, inyecte el fragmento de Heap con secureCookie: true, disableTextCapture: false para la captura automática completa y cualquier configuración específica del entorno. Cuando el consentimiento de reproducción de sesión pasa a verdadero y la integración de Contentsquare está habilitada, el búfer de reproducción se activa automáticamente. Cuando cualquier puerta se retira, llame a heap.resetIdentity() seguido de la eliminación del elemento de script de Heap, expire las cookies _hp2_ mediante document.cookie e invoque la GDPR-deletion API para el identificador del usuario.

Redacción de propiedades sensibles

Heap viene con una capa de redacción que opera independientemente del estado del consentimiento y que los editores deben usar incluso cuando se ha concedido el consentimiento. El atributo data-heap-redact-text en un campo de formulario suprime el contenido de texto capturado; el atributo data-heap-redact-attributes suprime los atributos del elemento. Bajo las reglas de categoría especial del GDPR y la definición de información personal sensible de la CCPA, cualquier campo que pudiera capturar información de salud, detalles financieros, identificadores gubernamentales, datos biométricos, geolocalización precisa o contenidos de comunicaciones privadas debe usar los atributos de redacción independientemente del estado de consentimiento del usuario. Establecer los atributos a nivel de formulario es el patrón más seguro — suprime todo el formulario incluso cuando un desarrollador añade un nuevo campo que olvida marcar individualmente.

Selección de región: residencia de datos en la UE versus EE. UU.

Heap opera endpoints de ingestión separados para la UE y los EE. UU. Para el tráfico de EEA y el Reino Unido, el endpoint de la UE es el valor predeterminado correcto; mantiene la ingestión, el procesamiento y el almacenamiento dentro de la EEA y reduce la exposición a Schrems II que conlleva cualquier despliegue de análisis en la región de EE. UU. El endpoint se establece a través de la configuración del fragmento y no puede cambiarse retroactivamente — los datos existentes permanecen donde fueron ingeridos por primera vez. Para los editores que planean un despliegue de Heap, por tanto, vale la pena confirmar la región antes de escalar y documentar la elección en el aviso de privacidad para que la cadena de base legal sea limpia desde la recogida hasta el almacenamiento.

Validación de la integración y el rastro de auditoría

El paso de validación es lo que los reguladores comprueban y lo que los editores más frecuentemente omiten. Un despliegue de Heap correctamente integrado debe pasar cuatro pruebas en secuencia. En primer lugar, una sesión de navegador limpia con el banner mostrado pero sin elección realizada debe producir cero solicitudes a heapanalytics.com más allá de la obtención del archivo SDK y cero cookies _hp2_ en document.cookie. En segundo lugar, rechazar el análisis debe mantener ese estado — sin captura automática, sin identificador, sin grabación. En tercer lugar, aceptar el análisis debe producir la cookie _hp2_id esperada con atributos SameSite correctos y tráfico de eventos fluyendo al endpoint de la región configurada. En cuarto lugar, revocar el consentimiento debe detener inmediatamente la captura automática y la reproducción adicionales, expirar las cookies _hp2_ y activar una solicitud de eliminación a través de la API GDPR de Heap.

La expectativa del rastro de auditoría bajo las directrices de banner de cookies del EDPB de 2023 y las prioridades renovadas del grupo de trabajo de 2026 es que el editor pueda demostrar, para cualquier evento dado en el proyecto de Heap, que el usuario que lo generó había dado consentimiento válido en el momento de la captura. El patrón estándar es establecer la versión de consentimiento y la marca de tiempo como propiedades de usuario en el ID distinto a través de heap.addUserProperties({ consent_version: 'v3', consent_ts: ts }) de modo que cualquier evento individual sea rastreable hasta una entrada específica del registro de consentimiento. Un despliegue correctamente controlado, combinado con atributos de redacción que suprimen campos sensibles por defecto y una ruta de eliminación que se activa en la retirada, es lo que convierte el modelo de captura automática de Heap de un riesgo de concentración regulatoria en una de las partes más potentes y defendibles del stack de análisis de producto de un editor.

← Blog Leer todo →