Attribution
Attribution conecta tus datos de visibilidad en IA con leads e ingresos reales. En lugar de ver solo si tu marca aparece en las respuestas de IA, puedes ver si los clientes realmente dicen que te encontraron a través de ChatGPT, Perplexity, Claude, Google, anuncios, recomendaciones u otros canales — y cuántos ingresos genera cada canal. La atribución de Finseo funciona con dos tipos de datos que se fusionan automáticamente:- Respuestas — la respuesta de un cliente a “¿Cómo nos conociste?”, desde el popup de encuesta de Finseo, tus propios formularios, una herramienta de encuestas o tu CRM.
- Conversiones — compras y leads con un ID de transacción y un valor, desde tu tracking existente (Google/Meta), Stripe, tu sistema de tienda o un webhook.
Configuración guiada
La forma más rápida de configurar la atribución es el asistente integrado: abre Attribution en tu dashboard y haz clic en Set up attribution. Te pregunta qué quieres rastrear (compras, leads o ambos), qué sistema utilizas y si ya tienes tracking o una encuesta post-compra — y luego te recomienda exactamente una ruta de instalación con snippets para copiar y pegar, verificando en vivo que llega el primer evento. Las rutas recomendadas, según tu configuración:Snippet de Finseo
Una sola etiqueta de script. Popup de encuesta más captura automática de compras desde tu tracking existente de Google/Meta.
Stripe
Un solo evento de webhook de Stripe. Importes, pruebas gratuitas y renovaciones se clasifican automáticamente.
Shopify
Un Custom Pixel que reporta cada checkout completado — los scripts del tema no pueden ejecutarse en el checkout de Shopify, el pixel sí.
WooCommerce
Un webhook nativo de pedidos, incluyendo el origen de la función Order Attribution integrada en WooCommerce.
Shopware
Un webhook de Flow Builder con el disparador “Order placed”.
Webhook / CRM
HubSpot, Pipedrive, Calendly, herramientas de formularios o tu propio backend.
El Snippet de Finseo
El snippet es una única etiqueta de script servida por proyecto:</head> en todas las páginas (o añádela mediante Google Tag Manager como etiqueta Custom HTML). Hace tres cosas:
1. Captura respuestas de tus formularios existentes
Si tus formularios ya preguntan “¿Cómo nos conociste?” (también se detecta en alemán: “Wie bist du auf uns aufmerksam geworden?”), el snippet captura esa respuesta al enviar el formulario — el popup entonces nunca se muestra. Los emails y nombres del mismo formulario se adjuntan como claves de fusión para que la respuesta pueda vincularse más tarde a un deal o pedido.2. Muestra el popup de encuesta
Si ningún formulario de la página hace la pregunta, el snippet muestra un pequeño popup con tu pregunta configurada y las opciones de respuesta. Lo controlas todo en Attribution → Survey settings:- Pregunta y canales — los canales por defecto incluyen AI Search, Google/Bing, Social Media, Online Ads, Referral, Content y Other (con texto libre). También puedes usar canales de IA detallados (ChatGPT, Perplexity, Claude, Gemini, Copilot).
- Disparador — al cargar la página, tras enviar un formulario, tras una compra detectada, o manual vía JavaScript.
- Estilo — color de acento, posición, radio de esquinas, fuente (del sistema o heredada de tu sitio) y mezcla opcional de respuestas para evitar el sesgo de posición (“Other” siempre queda al final).
localStorage).
3. Aprovecha tu tracking de conversiones existente
Si Google Analytics / Google Ads (dataLayer / gtag) o el Meta Pixel (fbq) están instalados, el snippet escucha pasivamente los eventos de conversión y los reporta a Finseo — sin duplicar la configuración de tracking:
El snippet lee el ID de transacción, el valor, la moneda y los artículos del evento, deduplica por ID de transacción (las recargas de la página de agradecimiento no se cuentan dos veces) y también escanea los eventos que se dispararon antes de que se cargara. El comportamiento de cara al visitante nunca se altera.
API de JavaScript
Para control manual, el snippet expone una pequeña API:Cómo se fusionan respuestas y conversiones
Las conversiones y las respuestas de encuesta suelen llegar por separado — un cliente responde al popup mientras navega, y el pedido llega más tarde vía Stripe o el webhook de tu tienda. Finseo los fusiona automáticamente:- Claves de fusión: ID de transacción (
respondentExternalId↔transactionId) o email. Una coincidencia por ID de transacción siempre gana sobre una coincidencia por email. - Ventanas: una conversión nueva busca hacia atrás 90 días una respuesta de encuesta (las pruebas de SaaS suelen convertir semanas después del registro). Una respuesta de encuesta nueva solo busca hacia atrás 48 horas una conversión sin emparejar, de modo que una respuesta reciente nunca se vincula a un pedido antiguo sin relación.
- Valores de deal: si la respuesta no tiene valor de deal, el importe de la conversión fusionada lo completa — los ingresos nunca se cuentan dos veces.
- Tipos de conversión: los checkouts de Stripe con un total de 0 $ se almacenan como trials, las facturas recurrentes como renewals. Solo las compras normales cuentan como clientes nuevos pendientes de atribución.
- Ingresos sin atribuir: las conversiones que nunca recibieron una respuesta de encuesta se muestran como su propio KPI, para que siempre veas cuántos ingresos siguen sin explicación.
Privacidad por defecto
Los emails de los clientes se hashean con SHA-256 en la ingesta. Finseo nunca almacena direcciones en texto plano — solo el hash (usado para fusionar pedidos con respuestas de encuesta) y una vista previa enmascarada comoj***@company.com para el dashboard.
Importa respuestas desde herramientas de encuestas
¿Ya tienes una encuesta post-compra en marcha? Consérvala — Finseo importa sus respuestas en lugar de mostrar un segundo popup:Fairing
Vía Shopify Flow
KnoCommerce
Vía webhook nativo
Zigpoll
Vía webhook nativo
SurveyMonkey
Vía Zapier/Make
Typeform
Soporte nativo
Tally
Soporte nativo
Enviar datos con un webhook
El endpoint de webhook de tu proyecto tiene esta forma:POST con Content-Type: application/json. También se aceptan envíos form-encoded y multipart para herramientas de formularios que no pueden enviar JSON puro.
Los payloads de solo pedido se convierten en conversiones
Si un payload contiene datos de pedido (ID de transacción + importe) pero ninguna respuesta de atribución — un evento de Stripe, un pedido de WooCommerce o un webhook de pedidos personalizado — Finseo lo almacena como conversión en lugar de rechazarlo. La respuesta entonces es así:matched: true significa que la conversión se fusionó de inmediato con una respuesta de encuesta anterior.
Referencia de campos
Finseo normaliza el texto de los canales en categorías. Por ejemplo, las respuestas que contienen
chatgpt, openai, claude, perplexity, gemini, copilot o ai search se categorizan como ai_search.
Mapea campos entrantes
Muchas herramientas envían payloads con sus propios nombres, comoLeadSource, how_did_you_find_us, q3_howDid o respuestas anidadas de Typeform. Finseo puede mapear estos campos en los workflows de Attribution.
- Abre Attribution.
- Ve a Workflows.
- Envía un webhook de prueba desde tu sistema de origen.
- Abre el workflow creado.
- Mapea los campos entrantes a atribución, email, nombre, valor de deal, moneda, ID de formulario o reglas.
- Guarda el mapeo.
utm_source contiene chatgpt, mapéalo a AI Search.
Formatos de origen soportados
Finseo detecta automáticamente varias fuentes comunes:- HubSpot: payloads del webhook de contactos legacy con
properties, o cuerpos JSON personalizados desde Operations Hub. - Typeform:
form_response.answers, incluyendo campos de tipo choice, choices, text y email. - Tally: payloads con
data.fields. - Salesforce: JSON desde Flow HTTP Callout, por ejemplo
LeadSource,Email,Name,AmountyCurrencyIsoCode. - Jotform: multipart/form-data con
rawRequesto campos comoq3_howDid,formIDysubmissionID. - Stripe: payloads de eventos (
checkout.session.completed,invoice.paid, …) — almacenados como conversiones con conversión automática de céntimos y clasificación de trials/renovaciones. - WooCommerce: webhooks de pedidos, incluyendo el meta de Order Attribution como origen de marketing.
- Shopware: payloads de pedidos de Flow Builder con
orderNumber,amountTotaly email del cliente. - Raw JSON: payloads directos con campos como
channelId,respondentEmail,dealValueymetadata.
Ejemplos
Importación diaria por lotes
Si prefieres un job diario, envía hasta1000 respuestas de una vez con la API de importación masiva.
Recibe eventos de atribución
Puedes configurar una URL de webhook saliente en los ajustes de Attribution. Finseo envía un evento a tu URL cada vez que se guarda una nueva respuesta.X-FinSEO-Signature usando HMAC-SHA256.
Límites de peticiones
- Endpoint de webhook: 120 peticiones por minuto por proyecto.
- Endpoint de recolección del snippet: 60 peticiones por minuto por IP de visitante.
429 y pueden reintentarse con seguridad tras un minuto.
Troubleshooting
Cada petición de webhook entrante se registra con su resultado de parseo en Attribution → Webhook logs — incluidas las peticiones rechazadas. Los estados:Buenas prácticas
- Añade la pregunta de atribución cerca de la conversión, como el registro, la solicitud de demo, el checkout o la cualificación de leads.
- Mantén las opciones de respuesta estables entre países. Traduce las etiquetas para los usuarios si es necesario, pero mantén los valores del webhook consistentes.
- Envía la moneda original de pago en
dealCurrency; Finseo puede agregar y mapear los valores igualmente. - Incluye un
respondentExternalIdestable como el ID de pedido, el ID de lead del CRM, el ID de contacto o el ID de deal. - Pon el producto, SKU, mercado, campaña y otro contexto de negocio en
metadata. - Envía un evento por lead, pedido o deal. Evita enviar cada vista de página como atribución.