Seguimiento de conversiones. Atribuye cada euro al clic que lo generó.
Los receptores de webhooks de Stripe y Shopify verifican las firmas y vinculan los ingresos al enlace corto de origen. La atribución de la campaña se deriva automáticamente.
- Atribución server-side de Stripe y Shopify
- Passthrough de click_id - sin JS de cliente
- Ingresos por enlace, campaña, día, plataforma
- Verificación automática de firma HMAC
Cómo funciona
El click_id recorre todo el embudo
Se sella un UUID en el momento del clic y se pasa por cada paso - parámetro URL, cookie de sesión, sesión de Stripe, pedido de Shopify - hasta que el webhook se dispara y cierra el bucle de atribución del lado del servidor. No se necesita JavaScript de cliente para la atribución en sí.
- Paso 01
Clic en el enlace corto
elido.me/saleEdge sella un UUID v4
cid: a3f9c1… - Paso 02
click_id adjuntado
?elido_cid=a3f9c1…Parámetro URL + cookie first-party
cid: a3f9c1… - Paso 03
El usuario convierte
client_reference_id=a3f9c1…La sesión de Stripe lleva el click_id
cid: a3f9c1… - Paso 04
El webhook se dispara
checkout.session.completedIngresos atribuidos al enlace originario
cid: a3f9c1…
Integraciones
Receptores de webhooks listos para usar para Stripe y Shopify
Registra el endpoint en tu dashboard, pega la signing secret y la atribución empieza a fluir. La verificación de firma HMAC se hace antes de procesar el payload - los webhooks falsificados se rechazan antes de tocar tus datos.
Dashboard de ingresos
Ingresos por enlace, por campaña, por día
Cada enlace corto tiene un total de ingresos en vivo - suma de todos los valores de conversión atribuibles a través de ese enlace. Filtra por etiqueta de campaña, rango de fechas o plataforma. Exporta a CSV o transmite a BigQuery con exports programados.
- Ingresos por enlaceValores de conversión sumados, en cualquier moneda, en la denominación original
- CVR en el tiempoSerie temporal de tasa de conversión junto al volumen de clics
- Forwarding a GA4 / Meta CAPIReenvío asíncrono después de registrar la conversión
- DeduplicaciónIdempotente sobre click_id + event_name - los webhooks dobles no duplican el conteo
| Enlace | Clics | Conv. | Ingresos | CVR |
|---|---|---|---|---|
| elido.me/bfcm | 18,420 | 847 | €76,280 | 4.6% |
| elido.me/sale | 11,034 | 512 | €41,430 | 4.6% |
| elido.me/nl/shop | 8,901 | 398 | €29,104 | 4.5% |
| elido.me/email-q2 | 6,201 | 201 | €14,872 | 3.2% |
| elido.me/ig-bio | 5,032 | 88 | €6,104 | 1.7% |
Lo que puedes hacer
- Stripe checkout.session.completed
- Stripe payment_intent.succeeded
- Shopify orders/paid
- Atribución de campaña derivada del enlace
- Resumen de ingresos en el panel de control
Cómo funciona la atribución de conversiones del lado del servidor de extremo a extremo
Los píxeles del lado del cliente pierden entre un 20 y un 40% de las conversiones debido a bloqueadores de anuncios, restricciones de privacidad de iOS y cadenas de redireccionamiento de pago. La atribución del lado del servidor cierra la brecha.
Cada clic recibe un UUID que se pasa al destino: el ancla de atribución para la coincidencia de conversiones
Cuando un usuario hace clic en un enlace corto de Elido, el edge genera un click_id (UUID v4) y lo añade como un parámetro de consulta (elido_cid) a la URL de destino. Su flujo de pago debe preservar este parámetro a través de cada página del embudo; la mayoría de los enrutadores SPA y los stacks de pago renderizados en el servidor reenvían los parámetros de consulta desconocidos por defecto, pero las cadenas de pago de varios pasos con redireccionamientos pueden eliminarlos. El click_id también se almacena en una cookie de sesión en el dominio de destino si inserta el fragmento de atribución de 2KB de Elido (opcional). Pruebe el flujo de pago completo antes de lanzarlo: haga clic en un enlace corto, complete una compra de prueba y verifique que el elido_cid aparezca en el POST de conversión. Si no aparece, añada el reenvío de parámetros de consulta en su middleware de pago. Este es el fallo de configuración de atribución más común, no el webhook, sino la pérdida de parámetros de consulta en el pago.
El receptor de webhooks de Stripe verifica las firmas y atribuye los eventos checkout.session.completed y payment_intent.succeeded
Registre el endpoint del webhook de Stripe de Elido en su panel de Stripe (Ajustes → Webhooks → Añadir endpoint). Elido escucha los eventos checkout.session.completed y payment_intent.succeeded. En cada evento, Elido verifica la cabecera Stripe-Signature utilizando su secreto de firma de webhook, extrae el importe del pago y la moneda, busca el click_id almacenado en el client_reference_id de la Checkout Session (que su pago debe completar, consulte la guía) y registra la conversión contra ese clic. Los ingresos y el click_id están entonces disponibles en la vista de analíticas del enlace y en el resumen de ingresos de la campaña. El campo client_reference_id de la Checkout Session es el paso recomendado; alternativamente, use el campo metadata de Stripe con la clave elido_cid si utiliza PaymentIntents directamente. La configuración completa toma unos 30 minutos si su integración con Stripe ya gestiona webhooks.
El webhook orders/paid de Shopify vincula los ingresos del pedido al clic del enlace corto de origen
Registre el endpoint del webhook de Shopify de Elido en su administrador de Shopify (Ajustes → Notificaciones → Webhooks → Crear webhook → Tema: orders/paid). Elido verifica la cabecera X-Shopify-Hmac-Sha256, extrae el total del pedido y la moneda, y busca el elido_cid en los note_attributes del pedido (usted completa esto desde el carrito usando la API de note_attributes de Shopify, pasando el click_id de la cookie de sesión o del parámetro de la URL). Para las tiendas Shopify que usan temas Online Store 2.0, el fragmento de atribución de Elido inyecta el click_id en el carrito automáticamente al hacer clic. Los pedidos atribuidos se deduplican por ID de pedido para que los pedidos reembolsados y reemplazados no cuenten doble. Las tiendas Shopify Plus con extensiones de pago personalizadas pueden pasar el click_id a través de un canal más fiable; la guía de configuración cubre el flujo específico de Plus.
Realice un POST al endpoint de conversión de Elido desde cualquier backend, no solo desde Stripe y Shopify
Realice un POST a /v1/conversions con un cuerpo JSON: { click_id: "...", event_name: "compra", value: 99.00, currency: "EUR", metadata: {} }. El click_id es el elido_cid del clic. Elido autentica la solicitud con la clave API de su espacio de trabajo (se recomienda HMAC-SHA256 sobre el cuerpo del payload para mayor seguridad). Este endpoint cubre cualquier conversión no gestionada por las integraciones nativas de Stripe o Shopify: WooCommerce, activaciones de prueba de SaaS personalizadas, envíos de formularios de clientes potenciales, conversiones de llamadas telefónicas rastreadas por su plataforma de telefonía. El campo event_name es texto libre; use cualquier convención de nomenclatura que su equipo prefiera: se muestra tal cual en la vista de analíticas. Idempotencia: envíe la misma combinación de click_id + event_name dos veces y solo se registrará la primera. El valor del evento y los metadatos son mutables solo en la primera escritura.
Distribuya las conversiones al Protocolo de medición de GA4, Meta CAPI y el seguimiento de servidor de Mixpanel simultáneamente
Después de que Elido registre una conversión contra un clic, distribuye el evento a cualquier destino de reenvío del lado del servidor que haya habilitado: Protocolo de medición de GA4 (el evento aparece en GA4 como un evento de compra del lado del servidor con los parámetros UTM originales del clic), Meta Conversions API (el evento se deduplica contra el píxel del lado del cliente si ambos se activan, usando el event_id del click_id) y seguimiento de servidor de Mixpanel (el evento se envía con el distinct_id de la llamada $identify de Mixpanel si ha configurado la identidad cruzada). El reenvío ocurre de forma asíncrona después de que se registra la conversión: no bloquea la respuesta del webhook a Stripe o Shopify. Los eventos de reenvío fallidos se reintentan con un retroceso exponencial durante 24 horas y luego se descartan con una entrada en el log. Puede ver el estado del reenvío por conversión en el panel.
Equipos de ingresos que utilizan el seguimiento de conversiones de Elido
Los nombres son marcadores de posición: los casos de estudio de clientes reales aparecerán aquí a medida que se publiquen.
“iOS 14.5 acabó con nuestra atribución de Meta Pixel en el 30% de las compras móviles. El webhook de Stripe del lado del servidor a través de Elido recuperó la mayor parte; la transferencia de click_id al client_reference_id de Stripe fue la clave. La configuración llevó una tarde.”
“Realizamos POST de activaciones de prueba al endpoint de conversión personalizado de Elido. La cadena clic → prueba → pago es ahora rastreable de extremo a extremo sin un CDP completo. El reenvío del Protocolo de medición de GA4 significa que nuestros paneles de canales de pago vuelven a ser precisos.”
“El webhook orders/paid de Shopify más el fragmento de atribución en el tema fue una integración de un día. Los ingresos por campaña son ahora un número en vivo en nuestro standup matutino, no una fórmula de hoja de cálculo que alguien tiene que actualizar.”
Seguimiento de conversiones de Elido vs Bitly vs Short.io
Bitly no tiene seguimiento de conversiones del lado del servidor. Short.io tiene píxeles de conversión básicos. El seguimiento de conversiones de Elido es del lado del servidor y se reenvía a múltiples plataformas publicitarias.
| Feature | Elido | Bitly | Short.io |
|---|---|---|---|
| Atribución de conversiones del lado del servidor | Sí: basado en webhooks, con firma verificada | No disponible | No disponible |
| Integración con webhooks de Stripe | checkout.session.completed + payment_intent.succeeded | No disponible | No disponible |
| Integración con webhooks de Shopify | orders/paid: firma verificada, deduplicación de pedidos | No disponible | No disponible |
| Endpoint de conversión personalizado | POST /v1/conversions: cualquier backend, cualquier evento | No disponible | No disponible |
| Reenvío a GA4 / Meta CAPI | Sí: distribuido tras registrar la conversión | No disponible | Parcial: solo píxel del lado del cliente |
| Ingresos en analíticas | Resumen de ingresos por enlace y por campaña con moneda | No disponible | Solo recuento de conversiones, sin ingresos |
| Deduplicación de conversiones | Sí: idempotencia en click_id + event_name | No aplicable | No disponible |
Preguntas sobre el seguimiento de conversiones
¿Qué pasa si el click_id se elimina antes de la conversión?
Si el parámetro de consulta elido_cid se pierde antes de que se active el evento de conversión -debido a una cadena de redireccionamiento, a que el enrutador SPA no reenvía los parámetros de consulta o a que un pago de terceros elimina los parámetros desconocidos-, la conversión no podrá atribuirse. Pruebe el embudo completo: haga clic en un enlace corto, rastree el elido_cid a través de cada página hasta la confirmación de pago, verifique que aparezca en el POST de conversión. El fragmento de atribución de Elido (un pequeño bloque de JavaScript) también establece el click_id en una cookie de origen como respaldo: si el parámetro de la URL se pierde pero el usuario sigue en la misma sesión del navegador, la atribución puede recuperarse de la cookie.
¿Cómo se gestionan los reembolsos en la atribución de conversiones?
Elido no procesa automáticamente los eventos de reembolso. Si se activa un evento charge.refunded de Stripe o refunds/create de Shopify, Elido no debita los ingresos atribuidos. Puede realizar un POST de un evento de conversión de valor negativo al endpoint personalizado para revertir la atribución manualmente. Un receptor de webhooks de reembolsos está en la hoja de ruta. Hasta entonces, si necesita ingresos netos precisos en Elido, reste los totales de reembolso utilizando la exportación de datos y su sistema de gestión de pedidos.
¿Funciona el seguimiento de conversiones si el usuario completa el pago en un dispositivo diferente?
No. Si el usuario hace clic en el enlace corto en el móvil pero completa el pago en el escritorio, el click_id no se transfiere entre dispositivos. La conversión no se atribuirá a menos que la sesión del usuario haya preservado el elido_cid a través del cambio de dispositivo (por ejemplo, a través de una cuenta iniciada que lo almacenó). La atribución multidispositivo requiere un gráfico de identidad del lado del servidor, que Elido no proporciona. Para mayor precisión en la atribución multidispositivo, use su MMP o CDP junto con las conversiones del lado del servidor de Elido.
¿Qué monedas se admiten para la atribución de ingresos?
Se aceptan todos los códigos de moneda ISO 4217 en el campo de valor de un evento de conversión. Los ingresos se almacenan en la moneda original; el panel de analíticas muestra los ingresos en la moneda de cada evento de conversión. Si necesita una vista consolidada en una sola moneda, exporte los eventos de conversión y conviértalos en su almacén: Elido no aplica tasas de cambio FX.
¿Cómo configuro la transferencia del client_reference_id de Stripe?
Al crear una Checkout Session de Stripe, establezca el client_reference_id con el valor del parámetro de URL elido_cid del clic de referencia. En JavaScript: const session = await stripe.checkout.sessions.create({ ..., client_reference_id: searchParams.get('elido_cid') }). El controlador de webhooks de Elido lee este campo de checkout.session.completed. Si utiliza PaymentIntents directamente, use el campo de metadatos con la clave elido_cid en su lugar. La guía de configuración en /docs/guides/conversion-tracking tiene código para copiar y pegar en Node, Python y Go.
¿Se incluyen los datos de conversión en las exportaciones de analítica?
Sí. Los eventos de conversión se almacenan en una tabla separada (conversions) junto a la tabla de eventos de clics (clicks). Las exportaciones programadas a S3, BigQuery o Snowflake incluyen ambas tablas. La clave de JOIN es click_id. Una consulta SQL de referencia que une clics con conversiones y calcula los ingresos por fuente UTM de campaña se encuentra en la guía de exportación.
¿Puedo rastrear conversiones que no sean de ingresos, como registros de formularios o activaciones de prueba?
Sí. El endpoint de conversión personalizado acepta cualquier event_name y un valor opcional (establecido en 0 para eventos que no son de ingresos). Use nombres de eventos como 'trial_started', 'demo_booked', 'form_submitted'. Estos aparecen en la vista de analíticas del enlace bajo 'Conversiones' con el nombre del evento como etiqueta. Si también reenvía a GA4, estos se mapean a eventos personalizados de GA4. Los recuentos de conversiones (no solo los ingresos) son visibles por enlace y por campaña, independientemente del valor del evento.
¿Cuál es la latencia desde la recepción del evento de conversión hasta la visibilidad en analíticas?
Recepción del webhook al almacén de analítica: normalmente menos de 5 segundos a través del mismo pipeline de flujo de eventos que los eventos de clic. La atribución (hacer coincidir la conversión con el clic de origen) ocurre de forma síncrona al recibir el webhook: si el click_id se resuelve, la atribución es inmediata. El reenvío descendente a GA4 / Meta CAPI / Mixpanel es asíncrono y añade entre 2 y 10 segundos. El número de ingresos en la vista de analíticas del panel se actualiza en un plazo de 30 segundos tras la recepción del evento de conversión.
Sigue leyendo
Analíticas de clics: donde los ingresos por conversión aparecen junto a los recuentos de clics.
Active píxeles de Meta CAPI y Google Ads en el redireccionamiento: el lado de adquisición del bucle de conversión.
Atribución de ingresos a nivel de campaña: vea qué variante de campaña generó más ingresos.
Webhooks de salida firmados con HMAC desde Elido: reciba eventos de clic atribuidos a conversiones en sus propios sistemas.
¿Listo para probarlo?
Empieza con el plan gratuito, actualiza cuando necesites un dominio personalizado.