# Atribución web: del clic en el anuncio al registro

URL: https://traqio.app/es/docs/concepts/web-attribution
Last updated: 2026-10-16

Cómo vincula Traqio los registros y compras de un sitio al clic en el anuncio: el trackID en la URL, el almacenamiento first-party y tu backend.

En un sitio web, la conversión que cuenta — un registro, una suscripción, una compra — ocurre en tu **backend**, donde se conoce el id de usuario, a menudo minutos o días después del clic en el anuncio y a varias páginas de distancia. Traqio une ambos con el **trackID**, el id del propio clic: viaja en la URL de llegada, espera en almacenamiento first-party en tu propio dominio y llega a tu backend con la petición de registro, que lo reporta junto con el id del usuario. La conversión queda vinculada al clic que designa — **de forma determinista**, nunca emparejando dispositivos que se parecen.

## La cadena, paso a paso

| Paso | Dónde | Qué ocurre |
| --- | --- | --- |
| 1. El clic | El host de seguimiento de Traqio | El anuncio apunta a un enlace de seguimiento con un destino web. Traqio registra el clic y redirige a tu página con traq_click=<trackID> en la URL. |
| 2. La llegada | El navegador del visitante | @traqio/web lee traq_click de la URL y lo guarda: en localStorage y en una cookie traq_click en tu dominio registrable. |
| 3. El registro | Tu backend | La petición de registro lleva la cookie. Tu backend crea la cuenta y luego llama a signup() de un SDK de servidor con el id de usuario y el trackID. |
| 4. El vínculo | Traqio | El clic queda vinculado a ese usuario, una sola vez. El registro es la captación; el último clic válido anterior se lleva el crédito. |
| 5. Las conversiones | Tu backend | Las compras y suscripciones se reportan con el mismo id de usuario. Siguen al usuario hasta la campaña que lo captó. |

## El trackID en la URL de llegada

Un [enlace de seguimiento](https://traqio.app/es/docs/concepts/tracking-links) con un **destino web** envía cualquier dispositivo — móvil u ordenador — a esa página y añade los parámetros de Traqio a su query string: `traq_click` (el trackID) y, cuando el enlace los tiene, `traq_source`, `traq_campaign`, `traq_adset` y `traq_ad`. Tus propios parámetros — `utm_*` incluidos — y el `#fragment` de la página se conservan tal como los escribiste; el prefijo `traq_` nunca choca con ellos. Un enlace sin destino web sigue enviando a la gente a App Store y Google Play, como antes.

## Almacenamiento first-party

[@traqio/web](https://traqio.app/es/docs/sdks/web) lee `traq_click` en cuanto arranca, antes que nada, así que un visitante que se va enseguida lo conserva. Lo guarda dos veces, ambas en **tu** dominio:

- **localStorage**, con su caducidad — sobrevive a la navegación y vuelve en el mismo origen;
- una **cookie** `traq_click` en tu dominio registrable (`example.com`), para que `www.`, `app.` y tu backend en el mismo dominio la vean — el backend la recibe con la petición de registro, sin JavaScript.

Se conserva 30 días por defecto (`trackIdDays`). Sin cookies de terceros, sin fingerprinting, sin identificador publicitario. Con `waitForConsent`, no se escribe nada en el dispositivo antes de que el visitante dé su consentimiento.

## Vincular la conversión a un usuario, en tu servidor

Tu backend reporta el registro con un SDK de servidor — [Node.js](https://traqio.app/es/docs/sdks/node), [PHP / Laravel](https://traqio.app/es/docs/sdks/php) o [Python](https://traqio.app/es/docs/sdks/python) — con dos datos: tu **id de usuario** y el **trackID**. Se autentica con una **clave de servidor**, un secreto que nunca sale de tu backend. Ese secreto es lo que permite aceptar con seguridad un id de clic aportado por quien llama: la clave web de tu página podría usarla cualquiera, así que nunca puede atribuir nada.

### Las reglas que aplica Traqio

- **Un clic, una identidad.** Un clic vinculado a un usuario no puede reclamarlo otro usuario, ni una instalación de app — la respuesta es `claimed`. Reportar de nuevo el mismo clic para el mismo usuario no tiene efecto.
- **La ventana.** Un clic más antiguo que la [ventana de atribución](https://traqio.app/es/docs/concepts/attribution-windows) del producto es `expired`.
- **Antifraude.** Un clic que pasó por una red de anonimización es `refused` y se contabiliza, igual que para una instalación de app.
- **La captación es el registro.** Se conserva el primer registro reportado; el **último clic** anterior, dentro de la ventana, se lleva el crédito. Un clic posterior no acredita nada.
- **Las conversiones siguen al usuario.** Una compra reportada más tarde con el mismo id de usuario son ingresos de la campaña que captó a ese usuario — deduplicada por su id de evento y su id de pago.

Cada llamada responde con lo que ha decidido: el estado del trackID y la campaña acreditada ahora para el usuario.

En la consola, el informe de ROAS cuenta las conversiones web de una campaña como una cifra propia, junto a sus instalaciones y nunca dentro de ellas, y una compra hecha en tu sitio es ingreso de la campaña de su usuario. El generador de informes tiene conversiones web, conversiones web atribuidas y coste por conversión web; un producto solo web tiene un KPI de conversiones web en su Resumen y una plantilla de panel Adquisición del sitio.

## Un producto con una app y un sitio web

El id de usuario es la identidad. Cuando tu app y tu backend reportan el mismo id de usuario, Traqio ve una sola persona: gana el último clic válido antes de la captación, venga de la superficie que venga. Una instalación de app conserva la atribución que recibió, y una conversión enviada desde tu servidor nunca se vincula a una instalación de app, así que las instalaciones, los ingresos y el ROAS de las apps siguen siendo exactamente lo que reportan las apps.

## Límites

- **Otro navegador, sin iniciar sesión.** Un clic en el navegador integrado de una app seguido de un registro en Safari no lleva trackID: el registro es orgánico, nunca adivinado.
- **Safari** conserva 7 días el almacenamiento escrito por JavaScript en los sitios que clasifica como rastreadores: un trackID puede caducar antes allí.
- **Un backend en otro dominio** no recibe la cookie: el formulario debe enviar `Traqio.getTrackId()` por sí mismo.

> **Todavía no** Las conversiones web todavía no se envían a Meta ni a TikTok: se cuentan en los informes de Traqio, y las compras que registras también aparecen en Eventos en directo.

## Preguntas frecuentes

**¿Qué es el trackID?**
El id de un clic en un anuncio. Cuando alguien hace clic en un enlace de seguimiento de Traqio cuyo destino es una página de tu sitio web, Traqio registra el clic y añade su id a la URL de llegada en el parámetro traq_click. Ese id es el trackID: designa ese clic exacto, así que la conversión a la que viaja queda vinculada a él sin ninguna suposición.

**¿La atribución web es probabilística?**
No. El trackID viaja del clic a la conversión en almacenamiento first-party en tu propio dominio, y luego tu backend se lo entrega a Traqio con el id del usuario. La conversión queda vinculada al clic que designa. Una conversión que llega sin trackID es orgánica — nunca se asigna a una campaña por parecido.

**¿Por qué el SDK de navegador no puede enviar el trackID por sí mismo?**
Porque su clave es pública: está en tu página, donde cualquiera puede leerla y enviar peticiones con ella. Una clave que cualquiera puede usar no debe poder acreditar una campaña, así que vincular una conversión a un clic requiere la clave de servidor secreta, que solo tiene tu backend.

**¿Qué pasa cuando la misma persona usa la app y el sitio web?**
Si tu backend y tu app usan el mismo id de usuario, es la misma identidad en Traqio: el último clic válido antes de captar al usuario — en la web o en la app — se lleva el crédito. Una instalación de app conserva su propia atribución, y una conversión web nunca se vincula a una instalación de app.
