Docs

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 (no cuando la respuesta indica device_relinked). Fusionar el mismo par otra vez no tiene efecto.

Si ambos lados ya tenían una decisión para el mismo propósito, gana la más reciente; la fila antigua permanece en el historial, sustituida.
Dispositivos compartidos: si el cookie_id / id de dispositivo ya pertenece a otra cuenta con sesión iniciada (una segunda persona que entra en el mismo navegador), las dos cuentas no se fusionan. Solo el dispositivo pasa a la cuenta que inicia sesión, y la respuesta indica outcome: "device_relinked" con movedRecords: 0. Cada cuenta conserva su propio consentimiento y sus preferencias.
Tras la fusión, el navegador necesita un token de identidad para leer o escribir a esa persona con una clave pk_ — consulta la Guía: identificar a usuarios con sesión iniciada.