Guía: anónimo → identificado
Captura el consentimiento antes de que alguien inicie sesión y luego asócialo a su cuenta para no perder nada.
El problema: un visitante configura sus preferencias de cookies antes de tener cuenta. Después se registra. No quieres volver a preguntarle, y no quieres que sus elecciones anteriores queden aisladas en un registro anónimo.
La solución: registra al visitante anónimo contra un cookie_id y luego fusiónalo con su identificador real al iniciar sesión. La fusión mueve todas las filas de la bóveda y los identificadores; las lecturas futuras por email: incluyen todo lo que decidió mientras era anónimo.
Antes del inicio de sesión (navegador)
const visitor = 'cookie_id:' + getOrCreateVisitorCookie();
await tc.recordConsent({
subject: visitor,
purpose: 'analytics',
state: 'GRANTED',
channel: 'cookie_banner',
});Justo después del inicio de sesión (tu servidor)
La fusión necesita una clave secreta (sk_…): hazla en el servidor, una sola vez, como parte de tu flujo de inicio de sesión.
await tc.mergeSubjects(
'cookie_id:' + visitorCookieFromRequest,
'email:' + user.email,
'login', // motivo en texto libre, se guarda en el merge
);A partir de aquí, GET /v1/subjects/email:…/consent refleja también el historial anónimo. Se emite un webhook subject.merged por si necesitas sincronizar algo en tus propios sistemas. Fusionar el mismo par otra vez no tiene efecto.