Pixel de Hotmart Meta Ads: cómo rastrear cada venta
David Parada · Fundador de Escalads
Publicado el · Actualizado el · 11 min de lectura
En este artículo
- Cómo funciona el pixel de Hotmart con Meta Ads
- Por qué las ventas de Hotmart no aparecen en Meta
- Parámetros sck, src y UTMs: cómo marcar cada venta con su anuncio
- API de Conversiones con Hotmart: enviar la venta aprobada
- Deduplicación: cuando el píxel y la API envían la misma compra
- Ejemplo con números: un lanzamiento visto de tres formas
- Cómo lo resolvemos en Escalads Center
- En resumen
- Preguntas frecuentes
El pixel de Hotmart en Meta Ads funciona en dos partes: tu píxel en la página de ventas registra la visita, y el píxel configurado dentro del producto en Hotmart envía los eventos del checkout (inicio de pago y compra). Pero ese montaje pierde ventas: el checkout está en otro dominio, iOS y los bloqueadores cortan eventos y los pagos con boleto, PIX o transferencia se aprueban días después. Para atribuir cada venta a su anuncio necesitas pasar los datos del clic al enlace de pago (sck, src y UTMs) y enviar la compra aprobada a Meta por la API de Conversiones.
Trabajo con infoproductores y agencias de lanzamiento, y la queja es casi siempre la misma: "Hotmart dice 40 ventas y Meta dice 26" (o al revés). Aquí te explico de dónde sale esa diferencia y cómo armar un tracking que aguante.
Cómo funciona el pixel de Hotmart con Meta Ads
En un embudo típico de Hotmart hay dos lugares donde vive el píxel:
- Tu página de ventas. Está en tu dominio, en un constructor de páginas o en la página de Hotmart. Aquí el píxel registra PageView, ViewContent y, si lo configuras, el clic en el botón de compra.
- El checkout de Hotmart. Está en un dominio de Hotmart, no en el tuyo. Dentro de la configuración del producto, en la sección de seguimiento o píxeles, puedes agregar el ID de tu píxel de Meta. Con eso, el checkout envía eventos como InitiateCheckout y Purchase.
En algunas cuentas, esa misma configuración permite agregar también un token de la API de Conversiones para que Hotmart envíe eventos desde su servidor. Los nombres de los menús cambian con las actualizaciones de Hotmart, así que no te voy a dar una ruta exacta: busca en el producto las opciones de "píxel" o "seguimiento" y revisa qué eventos ofrece y si permite elegir cuándo se dispara la compra.
Lo importante es entender qué ve cada pieza:
| Pieza | Qué ve | Qué no ve |
|---|---|---|
| Píxel en tu página de ventas | La visita, el clic del anuncio (fbclid), el interés | El pago |
| Píxel en el checkout de Hotmart | El inicio de pago y la compra en el navegador | Pagos aprobados después, cuando la persona ya cerró la página |
| Notificaciones de Hotmart (webhook) | Cada compra aprobada, reembolso y chargeback, con los parámetros del enlace | Nada por sí solas en Meta; hay que enviarlas |
| API de Conversiones | Lo que tu servidor o tu herramienta le envíe | Nada si no le mandas datos del clic |
Por qué las ventas de Hotmart no aparecen en Meta
Estas son las causas que encuentro en casi todas las cuentas de infoproductos:
1. Dominios distintos. El píxel guarda el clic del anuncio en la cookie _fbc de tu dominio. Cuando la persona salta al checkout de Hotmart, esa cookie no viaja. Si el fbclid no va en la URL del enlace de pago, el checkout empieza sin saber que la visita vino de un anuncio.
2. iOS y bloqueadores. Usuarios de iPhone que no dieron permiso de seguimiento, navegadores con protección contra rastreo y extensiones que bloquean el píxel. El evento del navegador simplemente no sale.
3. Pagos que se aprueban después. Boleto, PIX, transferencia o pagos en revisión. La persona genera el pago, cierra la página y paga horas o días después. El píxel del navegador no está ahí cuando se aprueba. Dependiendo de la configuración, el checkout puede disparar la compra al generar el pago (y entonces cuentas pagos que nunca se completan) o no dispararla (y pierdes la venta en Meta).
4. Fuera de la ventana de atribución. Por defecto Meta cuenta compras hasta 7 días después del clic y 1 día después de la visualización. En un lanzamiento con carrito abierto semanas después del primer anuncio, muchas compras quedan fuera.
5. Upsells y order bumps. El producto principal dispara la compra, pero el upsell de un clic o el producto adicional pueden no disparar el píxel con su valor, o dispararlo bajo otro producto con otra configuración. Tu ingreso real queda subreportado en Meta.
6. Anuncios sin parámetros. Si los anuncios no llevan UTMs ni el ID del anuncio, aunque la venta llegue a Hotmart no hay forma de saber qué anuncio la trajo.
7. Reembolsos. Meta no los descuenta. Hotmart sí. En lanzamientos con garantía, el ROAS de Meta puede verse mucho mejor que lo que queda en tu cuenta.
Para entender la diferencia general entre lo que reporta Meta y lo que cobras, te dejo por qué Meta Ads no coincide con tus ventas reales.
Parámetros sck, src y UTMs: cómo marcar cada venta con su anuncio
Hotmart acepta parámetros en el enlace de pago que se guardan con la transacción. Los dos más usados son src y sck: los agregas al enlace del checkout y luego aparecen en el detalle de la venta y en las notificaciones que Hotmart envía. Muchas cuentas también pasan las UTMs al checkout. Antes de depender de un parámetro, haz una compra de prueba y confirma que aparece en el reporte y en la notificación.
El montaje que uso:
UTMs dinámicas en todos los anuncios. En el campo "Parámetros de URL" de cada anuncio:
utm_source=facebook&utm_medium=paid&utm_campaign={{campaign.id}}&utm_content={{ad.id}}&utm_term={{adset.id}}Uso IDs y no nombres porque los nombres cambian cuando alguien los edita.
Captura los parámetros en la página de ventas. Un script lee utm_*, fbclid y el ID del anuncio al llegar y los guarda, para que no se pierdan si la persona navega por la página.
Pásalos al enlace de pago. El botón de compra debe construir el enlace de Hotmart con esos valores. Una forma práctica: el ID del anuncio en sck, la fuente en src y las UTMs completas al final del enlace. Por ejemplo:
https://pay.hotmart.com/XXXX?sck=120211234567890&src=facebook&utm_campaign=...&utm_content=...Prueba con tu propio anuncio. Abre la vista previa del anuncio, haz clic y verifica que el enlace del checkout conserva todos los parámetros. Los acortadores y algunos constructores de páginas los borran.
Revisa el porcentaje de ventas sin anuncio. Cada semana, cuenta cuántas ventas llegaron sin sck ni UTMs. Si es más del 20 % o 30 %, hay un hueco en el montaje (anuncios sin parámetros, enlaces compartidos, afiliados).
Con esto, cada venta en Hotmart lleva el ID del anuncio aunque el pago se apruebe días después. El método general, válido para cualquier pasarela, está en cómo saber de qué anuncio viene una venta.
API de Conversiones con Hotmart: enviar la venta aprobada
Saber qué anuncio trajo la venta te sirve a ti. Que Meta lo sepa le sirve al algoritmo. Para eso envías la compra aprobada por la API de Conversiones, desde el servidor, con:
- Evento Purchase con el valor real y la moneda.
- Correo y teléfono del comprador cifrados con SHA-256.
- fbc construido con el fbclid que viajó en el enlace, si existe.
- event_id único por transacción.
- La hora real de la compra (event_time). Meta acepta eventos con fecha pasada dentro de un límite de días; revisa la documentación vigente si los pagos tardan mucho.
El disparador correcto es la notificación de compra aprobada de Hotmart, no la generación del boleto ni la visita a la página de gracias. Así solo envías pagos reales. Si quieres el detalle de la configuración, lo explico en la guía de la API de Conversiones de Meta.
Deduplicación: cuando el píxel y la API envían la misma compra
Aquí está el error que más infla los números. Si el píxel del checkout de Hotmart dispara Purchase y además tú envías la misma compra por la API de Conversiones, Meta solo entiende que son el mismo evento si ambos tienen el mismo nombre de evento y el mismo event_id. Si no coinciden, cuenta dos compras.
El problema práctico: no controlas el event_id que usa el checkout de Hotmart. Tienes tres opciones:
| Opción | Cómo funciona | Cuándo la uso |
|---|---|---|
| Solo la API envía Purchase | Quitas la compra del píxel del checkout (o el píxel del producto) y envías Purchase solo desde el servidor con la venta aprobada | Cuando quiero que Meta optimice con pagos aprobados y tengo buen volumen |
| Solo el checkout envía Purchase | Dejas el píxel (y el token de API si Hotmart lo ofrece) y no envías nada más | Cuando no tengo forma de enviar por servidor; acepto perder ventas tardías |
| Ambos, con eventos distintos | El checkout envía Purchase y tu servidor envía un evento personalizado de venta aprobada | Cuando no quiero tocar la configuración del checkout y quiero tener las dos lecturas |
Después de cualquier cambio, revisa el Administrador de eventos durante unos días: que el número de compras se parezca a las ventas aprobadas de Hotmart y que la calidad de coincidencia del evento (Event Match Quality) sea buena. Si las compras de Meta superan claramente a las de Hotmart, sospecha de duplicados.
Ojo: cambiar el evento de optimización de una campaña activa reinicia el aprendizaje. Haz estos cambios en campañas nuevas o en un momento tranquilo, no a mitad de un lanzamiento.
Ejemplo con números: un lanzamiento visto de tres formas
Un lanzamiento de un curso de 197 USD, carrito abierto durante 7 días:
- Inversión en Meta: 9.000 USD.
- Compras en Meta (píxel del checkout): 58.
- Ventas aprobadas en Hotmart: 74 (de ellas, 15 por boleto, PIX o pago diferido).
- Ventas aprobadas con sck o UTMs de anuncio: 63.
- Reembolsos durante la garantía: 6, todos de ventas con anuncio identificado.
| Lectura | Ventas | Costo por venta | ROAS |
|---|---|---|---|
| Meta (píxel) | 58 | 155,2 USD | 1,27 |
| Hotmart, todas las aprobadas | 74 | 121,6 USD | 1,62 |
| Hotmart con anuncio identificado, netas de reembolsos | 57 | 157,9 USD | 1,25 |
La segunda fila mezcla ventas de Meta con ventas de email, orgánico y afiliados, así que es optimista. La tercera es la que uso para decidir qué anuncios escalar en el próximo lanzamiento, porque cada venta tiene nombre, monto y anuncio. Y es la que comparo contra mi costo por venta objetivo (si no lo tienes, calcúlalo con qué es un buen ROAS).
Cómo lo resolvemos en Escalads Center
Todo lo anterior se puede montar a mano con scripts, webhooks y una hoja de cálculo. Para una agencia con varios lanzamientos al mes se vuelve pesado. En Escalads Center conectas Hotmart con su webhook (versión 2.0, con compra aprobada, compra completa, reembolso y chargeback), y cada compra queda unida a su campaña, conjunto y anuncio leyendo los parámetros del enlace. Las ventas aprobadas vuelven a Meta por la API de Conversiones con event_id único y datos del comprador cifrados, y los reembolsos se restan del ROAS real. Los pasos están en la página de integración con Hotmart.
En resumen
- El píxel de tu página y el del checkout de Hotmart ven partes distintas del camino; ninguno ve el pago aprobado días después.
- Las ventas se pierden por dominios distintos, iOS y bloqueadores, boleto, PIX y transferencias, upsells, ventanas de atribución y anuncios sin parámetros.
- Marca cada venta con su anuncio usando UTMs dinámicas con {{ad.id}} y los parámetros sck y src en el enlace de pago.
- Envía la compra aprobada a Meta por la API de Conversiones con event_id, fbc y datos cifrados.
- Decide una sola fuente para Purchase o usa eventos distintos, y revisa duplicados en el Administrador de eventos.
Preguntas frecuentes
¿Dónde pongo el píxel de Meta en Hotmart? En dos lugares: en tu página de ventas (que está en tu dominio o en tu constructor de páginas) y en la configuración del producto dentro de Hotmart, donde puedes agregar el ID de tu píxel para que el checkout de Hotmart envíe eventos como el inicio de pago y la compra. El nombre exacto del menú puede cambiar, búscalo en las opciones de seguimiento o píxel del producto.
¿Por qué mis ventas de Hotmart no aparecen en Meta Ads? Las causas más comunes son: el checkout está en otro dominio y se pierde la cookie del clic, bloqueadores y usuarios de iPhone que no permiten el seguimiento, pagos con boleto, PIX o transferencia que se aprueban días después, upsells que no disparan el píxel, y anuncios sin UTMs. La solución es pasar los parámetros del clic al enlace de pago y enviar la venta aprobada por la API de Conversiones.
¿Qué son los parámetros sck y src de Hotmart? Son parámetros que puedes agregar al enlace de pago de Hotmart para identificar de dónde viene cada venta. Hotmart los guarda con la transacción y los muestra en el detalle de la venta y en las notificaciones que envía. Si pones ahí el ID del anuncio, cada venta queda marcada con su anuncio.
¿Cómo evito que Meta cuente dos veces la misma venta de Hotmart? Si el píxel del checkout y la API de Conversiones envían la misma compra, Meta solo las une si ambos eventos tienen el mismo nombre y el mismo event_id. Como no controlas el event_id que usa el checkout de Hotmart, lo más seguro es decidir una sola fuente para el evento Purchase y revisar en el Administrador de eventos que no haya duplicados.
¿Las ventas con boleto o PIX se atribuyen al anuncio correcto? Solo si los datos del clic viajan con la venta. Si el enlace de pago lleva el ID del anuncio en sck, src o UTMs, cuando Hotmart notifica la compra aprobada puedes unirla al anuncio aunque el pago llegue días después. Si dependes solo del píxel, muchas de esas ventas quedan fuera de la ventana de atribución o no se reportan.
Si manejas lanzamientos en Hotmart y quieres cada venta aprobada unida a su anuncio y de vuelta en Meta sin programar, revisa los planes de Escalads Center y pruébalo 3 días.
David Parada
Fundador de Escalads
Trafficker y fundador de Escalads, agencia de tráfico pago para programas de alto ticket en Latinoamérica. Creó Escalads Center para que las agencias sepan qué hacer después de lanzar una campaña.