La afirmación de que una herramienta puede decirte qué tuit produjo un pago específico de $49 suena a magia o a rastreo invasivo. No es ninguna de las dos. Son cuatro pasos mecánicos concretos, cada uno de los cuales podrías implementar tú mismo en una tarde, encadenados para que corran automáticamente.
Entender la cadena importa aunque nunca la construyas. Te dice exactamente dónde se rompe la atribución, por qué algunas ventas reciben crédito y otras no, y qué puedes esperar razonablemente que signifiquen los números.
Paso 1: conectar Stripe
La conexión usa Stripe Connect OAuth, que es el mismo mecanismo que usa tu contador para bajar tus libros. Haces clic en autorizar, Stripe te muestra exactamente qué permisos se están pidiendo y apruebas. Sin API keys pegadas en un formulario, sin código.
Sé preciso con el permiso, porque los proveedores lo difuminan. La conexión estándar de Stripe pide acceso de lectura y escritura, y eso es lo que te muestra la pantalla de consentimiento de Stripe: Stripe solo concede conexiones de solo lectura a plataformas que su equipo de soporte ha aprobado para ello. Así que el permiso en sí es amplio. Lo que una herramienta hace con él es otra pregunta, y es la que hay que hacer. seenpaid solo lee pagos, cargos, facturas y reembolsos para asociarlos con publicaciones; no hay código en seenpaid que cobre, reembolse o haga transferencias. Si alguna vez quieres revisarlo, Stripe lista cada aplicación conectada en la configuración de tu panel junto con sus permisos, y puedes revocar el acceso desde ahí en un clic sin contactar a nadie.
Vale la pena entender esto bien en vez de tomarlo por fe. La versión honesta de la pregunta de seguridad tiene dos mitades: de qué es técnicamente capaz la conexión, que en una conexión estándar de Stripe es mucho, y qué hace de verdad el código del proveedor con ella, que en seenpaid es leer. Si alguna vez dejas de confiar en la segunda mitad, revocar la conexión cierra la primera.
Paso 2: publicar con un enlace rastreado
En vez de pegar la URL cruda de tu producto en un post, compartes un enlace corto que redirige a ella. La redirección es instantánea e invisible para el visitante. Lo que hace es anotar de qué post vino el clic antes de reenviar el navegador.
El mecanismo es una tabla de búsqueda. Cada enlace corresponde a un id de post. Cuando alguien hace clic, el servidor anota el id del post y emite una redirección. El visitante aterriza en tu página de producto unos milisegundos después, llevando un identificador de rastreo en la URL o en una cookie puesta en tu propio dominio.
Este paso es donde la atribución falla calladamente, porque depende de que de verdad uses un enlace distinto por post. Si pegas la misma URL en todos los posts, no hay nada río abajo que pueda separarlos. La disciplina de un enlace por post es toda la base.
Paso 3: el id de rastreo sobrevive hasta el checkout
Ahora el identificador tiene que viajar de la landing hasta el pago. Stripe ofrece dos campos diseñados exactamente para esto.
- client_reference_id en un Payment Link o una Checkout Session. Una cadena libre que tú defines, que Stripe guarda junto a la sesión y devuelve en el webhook.
- metadata en una Checkout Session o un PaymentIntent. Pares clave-valor arbitrarios, útiles cuando quieres llevar más de un valor.
Si vendes a través de un Payment Link de Stripe, esto es un parámetro de URL y nada más. Si vendes a través de un flujo de registro con prueba, el id se guarda del lado del cliente en el primer contacto y se adjunta cuando se crea la Checkout Session, que son unas pocas líneas en donde sea que se cree esa sesión.
La consecuencia práctica es que la etiqueta ahora viaja junto al dinero. Pase lo que pase después, el registro del pago mismo sabe qué post mandó al visitante.
Paso 4: el webhook se dispara y la venta se empareja
Cuando se completa el pago, Stripe manda un evento por webhook. El payload del evento incluye el monto, la moneda, el cliente y el client_reference_id o la metadata que definiste en el paso tres.
La lógica de emparejamiento es entonces trivial: busca el id de rastreo, encuentra el post al que pertenece, anota el monto contra ese post. La fila del panel que antes decía “1,240 impresiones, 31 clics” ahora también dice “$147 atribuidos”. Los reembolsos y las disputas llegan como sus propios eventos de webhook, así que un sistema bien construido los resta en vez de dejarte con números inflados.
Esa es la cadena completa. Conectas una vez, publicas normalmente con enlaces rastreados, y el emparejamiento ocurre solo. Este es el flujo que seenpaid implementa de punta a punta, y por eso la configuración es un clic único en vez de un proyecto de integración. Se encarga de generar los enlaces en las 21 redes en las que publica, así que el enlace rastreado se crea como parte de publicar y no como una tarea aparte.
Qué significa y qué no significa el número
La cifra atribuida a un post significa: alguien hizo clic en este enlace específico y después pagó. Es una señal fuerte. No es prueba de causalidad.
Esto es atribución de último clic, y el último clic tiene un sesgo bien conocido. Sobrecredita lo que llegó al final del recorrido y subcredita todo lo que construyó conciencia antes. Un post que finalmente convirtió a alguien que llevaba dos meses leyéndote se lleva todo el crédito; los doce posts que lo volvieron lector no se llevan nada.
Lee los números en consecuencia. Un ingreso atribuido alto te dice que un post convierte a gente que ya está tibia. Un ingreso atribuido bajo no te dice que un post no valió nada, sobre todo si es contenido educativo cerca de la parte alta de tu embudo. Usa los números para encontrar qué cierra, no para decidir qué borrar.
Razones comunes por las que una venta no se atribuye
Algunos pagos van a llegar sin etiqueta. Esto es normal y conviene entenderlo para que no persigas bugs fantasma.
- El visitante borró las cookies o usó una ventana privada entre hacer clic y comprar.
- Hizo clic en el teléfono y compró en la laptop. Nada une los dos dispositivos.
- Alguien compartió tu enlace de una forma que borró los parámetros, algo que hacen muchas apps de mensajería.
- El cliente vino de un canal sin ningún enlace clickeable, como una mención en un podcast.
- El hueco entre el clic y la compra excedió tu ventana de atribución.
Si una mayoría sólida de tus pagos lleva etiqueta, tu montaje está funcionando. Cubre el resto con un campo post-compra de “¿cómo nos conociste?”, que atrapa exactamente los casos que el tracking estructuralmente no puede.
Una primera semana sensata
Conecta Stripe. Genera enlaces rastreados para los siguientes diez posts que publiques, uno por post. Déjalo tranquilo dos semanas para que se acumulen pagos reales.
Después abre el reporte y ordena por ingreso. No actúes todavía. Solo mira si el orden coincide con tu intuición. Normalmente no va a coincidir, y el desajuste entre lo que creías que funcionaba y lo que realmente pagó es lo más valioso que produce todo este montaje.