Ready2GEO Publicidad en ChatGPT

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.

10 min de lectura
J Josh Experto en SEO y GEO en Ready2GEO

Motores de IA tratados en esta página

2 fuentes de medición oficiales: el pixel JavaScript y la Conversions API en servidor

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 JavaScriptConversions API
Dónde se ejecutaEn el navegador del visitanteEn tu servidor, únicamente
ImplementaciónUn script que colocar en el headDesarrollo en el back-end
RobustezSensible a los bloqueadores y a las restricciones del navegadorOpenAI la presenta como una fuente más fiable que el pixel solo
Recomendación de OpenAIPunto de partidaUsarla 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í:

FamiliaEventosCampo type esperado
Comercioorder_created, items_added, checkout_startedcontents
Contenidopage_viewed, contents_viewedcontents
Lead y registrolead_created, registration_completed, appointment_scheduledcustomer_action
Suscripciónsubscription_created, trial_startedplan_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:

DirectivaOrigen a autorizarFunción
script-srchttps://bzrcdn.openai.comCarga del SDK
connect-srchttps://bzr.openai.com y https://bzrcdn.openai.comEnvío y recuperación de los eventos
img-srchttps://bzr.openai.comAlternativa 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

  1. Fuente de datos creada en Ads Manager, Pixel ID recuperado.
  2. Script cargado en el head, inicialización llamada con el Pixel ID correcto.
  3. Consentimiento cableado antes de la inicialización en los sitios europeos.
  4. Eventos estándar disparados en los lugares adecuados, con el campo type correcto.
  5. Deduplicación implementada si duplicas con la API: mismo valor en id y event_id, mismo Pixel ID.
  6. CSP actualizada para las tres directivas.
  7. Modo debug activado durante las pruebas y desactivado después.
  8. 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.
  9. 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?
No para difundir en CPM o en CPC, pero sí para la optimización a conversión: el oCPC exige que el seguimiento esté ya configurado mediante el pixel JavaScript, la Conversions API o ambos, y que un evento de conversión estándar activo sirva de objetivo.
¿La Conversions API recoge oppref por sí sola?
No. Solo el pixel captura automáticamente oppref, la referencia de clic de OpenAI, y la guarda en una cookie. Una llamada a la Conversions API debe incluirla explícitamente cuando esté disponible: es tu código el que debe ir a buscarla, la API no lo hace por ti. Precisamente por eso OpenAI recomienda hacer funcionar juntos el pixel y la API, no uno u otro.
¿Hay que elegir entre el pixel y la Conversions API?
No, ambos pueden coexistir. OpenAI presenta la Conversions API como una fuente más fiable que el pixel solo y recomienda usarla cuando sea posible. Si envías la misma conversión por los dos lados, hay que deduplicarla.
¿Cómo evitar contar una conversión dos veces?
Reutilizando el mismo valor como id en la API y como event_id en el pixel, enviando ambos eventos con el mismo Pixel ID, y usando el mismo custom_event_name en ambos lados para los eventos personalizados.
¿Puede un evento personalizado servir de objetivo oCPC?
No. La documentación precisa que los eventos personalizados no pueden ser objetivos de optimización oCPC. Hace falta exactamente un evento de conversión estándar activo como objetivo, y ya no es modificable tras la creación de la campaña.
¿Respeta el pixel el consentimiento del usuario?
El SDK expone un comando de consentimiento. Punto a conocer: 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 al comando con false antes de la inicialización, y pasar a true tras recoger el consentimiento.
Mi pixel no envía nada, ¿qué comprobar primero?
La Content Security Policy. El SDK necesita https://bzrcdn.openai.com en script-src, https://bzr.openai.com y https://bzrcdn.openai.com en connect-src, y https://bzr.openai.com en img-src. Activa el parámetro debug en la inicialización para ver el error en la consola.
¿Cómo medir una instalación de aplicación?
No con el pixel: este no admite app_installed ni app_opened. Esos eventos deben enviarse en servidor mediante la Conversions API. OpenAI documenta también integraciones con partners de medición móvil.
¿Cuál es la ventana de atribución?
La atribución post clic usa la ventana de clic configurada. Las conversiones post impresión usan una ventana fija de un día tras una impresión elegible, independiente de la ventana de clic, y se reportan por separado de la columna Conversiones principal.
Prueba tu web en 30 segundos

Puntuación SEO, puntuación GEO, rendimiento y responsive: 49 análisis técnicos, veredicto AI Overviews al instante.

Lanzar el test SEO y GEO

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ía

Precios 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ía

ChatGPT 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