Pixel de ChatGPT Ads y Conversions API: instalar el seguimiento de conversiones
Última actualización: 24 de agosto de 2026, verificado a partir de la documentación oficial de OpenAI. Los nombres de eventos y de parámetros citados aquí proceden de la documentación para desarrolladores de OpenAI y pueden evolucionar durante la beta.
Sin medición de conversiones, una campaña de ChatGPT Ads es ciega: sabes lo que gastas, no lo que obtienes. Y sobre todo, no puedes activar la optimización a conversión. Esta página cubre los dos métodos oficiales, el pixel de navegador y la Conversions API en servidor, y la forma de hacerlos convivir. El marco general está en nuestra guía ChatGPT Ads.
Motores de IA tratados en esta página
- ChatGPT
Por qué la medición es un requisito, no una opción
Tres razones, una de ellas bloqueante:
- Bloqueante: la optimización a conversión (oCPC) exige que el seguimiento esté ya configurado, con el pixel JavaScript, la Conversions API, o ambos. Sin señal, el sistema no tiene nada que optimizar.
- El reporting de Ads Manager incluye una columna de conversiones que queda vacía si no hay nada conectado.
- El cálculo de tu coste por adquisición depende por completo de ese dato: sin él, pilotas a CPC, es decir, por el gasto, no por el resultado.
El principio general que plantea OpenAI es simple: creas una fuente de datos (data source) en Ads Manager y después le envías eventos de conversión mediante el pixel, la API, o ambos.
Pixel o Conversions API: ¿cuál elegir?
| Pixel JavaScript | Conversions API | |
|---|---|---|
| Dónde se ejecuta | En el navegador del visitante | En tu servidor, únicamente |
| Implementación | Un script que colocar en el head | Desarrollo en el back-end |
| Robustez | Sensible a los bloqueadores y a las restricciones del navegador | OpenAI la presenta como una fuente más fiable que el pixel solo |
| Recomendación de OpenAI | Punto de partida | Usarla cuando sea posible, para obtener datos más precisos |
La respuesta pragmática no es «uno u otro» sino «los dos, con deduplicación». El pixel se instala en una hora y hace vivir las campañas de inmediato; la API se conecta después y asegura la medición a largo plazo.
Instalar el pixel de medición
El pixel de medición de ChatGPT Ads es un SDK de navegador destinado a medir los eventos de tu sitio atribuibles a anuncios en ChatGPT. El script se carga de forma asíncrona desde https://bzrcdn.openai.com/sdk/oaiq.min.js, y debe colocarse en la sección <head>, para inicializarse después con tu identificador de pixel:
oaiq("init", { pixelId: "TU-PIXEL-ID" });
El parámetro pixelId es obligatorio y se crea en Ads Manager. Un parámetro debug opcional escribe la actividad del SDK en la consola del navegador, útil durante la fase de pruebas.
Toda la medición pasa a continuación por un único comando: oaiq("measure", nombreEvento, datosEvento, opciones).
Los eventos estándar, los eventos personalizados y sus restricciones
Cada evento estándar espera un objeto de datos cuyo campo type debe corresponder. La documentación para desarrolladores de OpenAI los agrupa así:
| Familia | Eventos | Campo type esperado |
|---|---|---|
| Comercio | order_created, items_added, checkout_started | contents |
| Contenido | page_viewed, contents_viewed | contents |
| Lead y registro | lead_created, registration_completed, appointment_scheduled | customer_action |
| Suscripción | subscription_created, trial_started | plan_enrollment |
Para los eventos de tipo contents, los campos documentados incluyen amount, currency y un array contents formado por entradas con id, name, content_type y quantity. Los eventos de tipo plan_enrollment esperan un plan_id. La documentación precisa que se usen valores enteros para amount y quantity.
Cuando ningún evento estándar encaja, un evento personalizado se declara con un tercer argumento y un objeto de opciones:
oaiq("measure", "custom", { type: "custom" }, { custom_event_name: "quote_requested" })
Los nombres de eventos personalizados deben respetar reglas precisas: de 1 a 64 caracteres, únicamente letras, cifras, guiones bajos y guiones, y empezar y terminar por un carácter alfanumérico.
Atención a un límite estructurante: un evento personalizado no puede servir de objetivo de optimización oCPC. Si tu conversión de negocio debe pilotar la optimización, hay que enviarla como evento estándar.
Conectar la Conversions API en el servidor
La API se usa desde tu servidor, exclusivamente. Los puntos de implementación documentados:
- Creas una fuente de conversión web y su Pixel ID mediante el punto de entrada
POST /conversions/pixels. - Generas una clave capaz de enviar eventos en servidor para la cuenta publicitaria actual.
- Esa clave debe guardarse en un gestor de secretos en el servidor. La documentación es categórica: nunca colocarla en código de navegador, en variables de entorno visibles en el cliente, en registros ni en un repositorio de código.
- La API acepta lotes de hasta 1.000 eventos. Punto crítico para tu gestión de errores: si un solo evento del lote falla, el lote entero falla.
Esta última regla merece tratarse desde el diseño: un lote rechazado en bloque por un campo mal formado en un pedido puede hacer desaparecer 999 conversiones válidas de tu reporting.
Deduplicar pixel y API: la regla que no hay que fallar
Si envías la misma conversión desde el pixel y desde la Conversions API, hay que decírselo al sistema, si no la contarás dos veces. El método documentado:
- Reutilizar el mismo valor como id en la API y como event_id en el pixel.
- Enviar ambos eventos con el mismo Pixel ID.
- Para los eventos personalizados, usar el mismo custom_event_name en ambos lados.
En el pixel, eso se parece a: oaiq("measure", "order_created", {...}, { event_id: "order_12345" }). La correspondencia se apoya en el Pixel ID, el nombre del evento y el event_id; para un evento personalizado, el custom_event_name sustituye al nombre del evento en esa lógica.
En la práctica: usa tu identificador de pedido o de lead como clave de deduplicación, es el único valor disponible de forma natural en ambos lados.
oppref: preservarlo hasta la conversión, no solo capturarlo
El pixel captura oppref, la referencia de clic de OpenAI, y la guarda en una cookie propia (__oppref). Documentar su captura no basta: la documentación oficial insiste en un punto que muchas implementaciones pasan por alto, oppref debe preservarse a través de las redirecciones y la navegación hasta la página donde la conversión se mide realmente. Un embudo de pago que pasa por un subdominio de pago, una redirección después de un formulario, o un carrito que cambia de dominio pierden la cookie por el camino si no se ha previsto nada para propagarla.
Segundo punto que a menudo se pasa por alto: la Conversions API no captura oppref por ti, a diferencia del pixel. Si llamas a la API desde el servidor, es tu código el que debe ir a buscar el valor de oppref (normalmente depositado por el pixel en una cookie o transmitido como parámetro de URL) e incluirlo explícitamente en la llamada, cuando esté disponible. Sin este paso, un evento enviado únicamente por la API pierde el vínculo con el clic publicitario que lo precedió.
La arquitectura recomendada por OpenAI se resume en tres partes: el pixel en cada página para capturar oppref y los eventos ligeros, la Conversions API para los eventos de alto valor enviados desde tu back-end (donde tienes el pedido, y donde nada puede bloquear la llamada), y los dos canales enviando la misma conversión con el mismo event_id.
El advanced matching automático
El advanced matching automático (AAM) sirve para vincular conversiones a tus anuncios cuando no hay ningún identificador de clic disponible. El pixel detecta automáticamente la información de cliente reconocible en los formularios y otras fuentes de tu sitio, la normaliza y la convierte en hash SHA-256 directamente en el navegador. La documentación precisa que no se transmite ningún dato en bruto.
También puedes proporcionar tú mismo identificadores en hash dentro del objeto user en la inicialización: email_sha256, phone_number_sha256, external_id_sha256, first_name_sha256, last_name_sha256, así como los campos sin hash country, city, region y postal_code.
Esta funcionalidad afecta a datos personales: su activación debe decidirse con tu responsable de protección de datos, especialmente en Europa.
Consentimiento, RGPD y control del pixel
El SDK expone un comando de consentimiento, que hay que llamar antes de la inicialización para bloquear la medición mientras el usuario no haya aceptado:
oaiq("consent", false); después oaiq("init", { pixelId: "..." }); y después oaiq("consent", true); una vez obtenido el consentimiento.
Dos puntos a retener. Primero, el consentimiento vale true por defecto, salvo que se ponga explícitamente a false o que se haya registrado una negativa: en un sitio europeo hay que llamar por tanto explícitamente a oaiq("consent", false) antes, en lugar de confiar en el comportamiento por defecto. Segundo, cuando el valor es false, los eventos de medición no se envían.
Un parámetro opt_out permite además excluir un evento de la personalización a nivel de usuario; su valor por defecto es false. El SDK gestiona también un identificador respetuoso con la privacidad, oppref, capturado desde la URL y almacenado en una cookie __oppref.
Recordatorio de contexto: los anuncios personalizados no están disponibles en el lanzamiento en el Espacio Económico Europeo ni en Suiza. Eso no exime en absoluto de gestionar el consentimiento para la medición en sí.
Content Security Policy: los dominios que hay que autorizar
Causa de avería silenciosa más frecuente en los sitios que aplican una CSP estricta: el SDK queda bloqueado antes incluso de inicializarse. Las directivas documentadas:
| Directiva | Origen a autorizar | Función |
|---|---|---|
| script-src | https://bzrcdn.openai.com | Carga del SDK |
| connect-src | https://bzr.openai.com y https://bzrcdn.openai.com | Envío y recuperación de los eventos |
| img-src | https://bzr.openai.com | Alternativa mediante petición de imagen |
Si el pixel no envía nada aunque el código esté bien colocado, abre la consola con el parámetro debug activado: el error de CSP aparece de inmediato.
Lo que el pixel no sabe hacer
Un límite explícito, que conviene conocer antes de diseñar tu plan de marcado: el pixel de medición no admite los eventos app_installed ni app_opened. Esos eventos deben enviarse en servidor, mediante la Conversions API.
OpenAI documenta además integraciones con partners de medición, incluidos partners de medición móvil (MMP), para los anunciantes cuya conversión se produce dentro de una aplicación.
Otro punto de atención: el uso de varios Pixel IDs en un mismo sitio requiere una configuración específica, documentada aparte por OpenAI.
Atribución: qué se cuenta y cómo
OpenAI evalúa los eventos de conversión respecto a los eventos configurados para tu campaña y a la ventana de atribución aplicable. Dos reglas a conocer:
- La atribución post clic usa la ventana de clic configurada.
- Las conversiones post impresión (view-through) usan una ventana fija de un día tras una impresión elegible, independiente de tu ventana de clic.
Y la regla de lectura que evita errores de cálculo: la columna Conversiones principal solo contiene las conversiones post clic. Las conversiones post impresión son un reporting adicional independiente que, según OpenAI, no debe sumarse a las conversiones ni utilizarse para métricas de rendimiento básicas como el CPA.
Checklist de pruebas antes de lanzar
- Fuente de datos creada en Ads Manager, Pixel ID recuperado.
- Script cargado en el head, inicialización llamada con el Pixel ID correcto.
- Consentimiento cableado antes de la inicialización en los sitios europeos.
- Eventos estándar disparados en los lugares adecuados, con el campo type correcto.
- Deduplicación implementada si duplicas con la API: mismo valor en id y event_id, mismo Pixel ID.
- CSP actualizada para las tres directivas.
- Modo debug activado durante las pruebas y desactivado después.
- Página de destino accesible a OAI-AdsBot: una página bloqueada puede provocar el rechazo del anuncio, con independencia de la calidad del marcado. Nuestro checker de página de destino de ChatGPT Ads comprueba este punto.
- Un único evento estándar activo elegido como objetivo si buscas el oCPC, sabiendo que ya no será modificable tras la creación de la campaña.
Preguntas frecuentes
¿Es obligatorio el seguimiento de conversiones en ChatGPT Ads?
¿La Conversions API recoge oppref por sí sola?
¿Hay que elegir entre el pixel y la Conversions API?
¿Cómo evitar contar una conversión dos veces?
¿Puede un evento personalizado servir de objetivo oCPC?
¿Respeta el pixel el consentimiento del usuario?
Mi pixel no envía nada, ¿qué comprobar primero?
¿Cómo medir una instalación de aplicación?
¿Cuál es la ventana de atribución?
Puntuación SEO, puntuación GEO, rendimiento y responsive: 49 análisis técnicos, veredicto AI Overviews al instante.
Guías relacionadas
ChatGPT Ads: guía completa 2026 para hacer publicidad en ChatGPT
Cómo funciona ChatGPT Ads, dónde está disponible, cómo crear una cuenta, estructurar una campaña, segmentar con context hints y calcular tu presupuesto.
Leer la guíaPrecios de ChatGPT Ads: subastas, presupuestos y coste real de una campaña
Cuánto cuesta realmente una campaña de ChatGPT Ads: los tres modelos de puja, la puja inicial recomendada por OpenAI, el presupuesto diario mínimo y la facturación por umbral.
Leer la guíaChatGPT Ads para e-commerce: campañas a partir de un feed de productos
Conectar tu catálogo a ChatGPT Ads: los tres métodos de envío de feed, la caducidad de los artículos, el campo is_ads_eligible y la diferencia con los resultados de producto orgánicos.
Leer la guía