OpenAI contrata gestores de cuenta para anuncios en ChatGPT: qué significa la monetización de la búsqueda IA para el comercio electrónico y WordPress

OpenAI contrata gestores de cuenta para anuncios en ChatGPT: qué significa la monetización de la búsqueda IA para el comercio electrónico y WordPress

Última verificación: 20 de octubre de 2026
23 min de lectura
Guía
500+ proyectos WP

El 14 de octubre de 2026 Barry Schwartz contó en Search Engine Roundtable que OpenAI asigna ahora personas, y no solo un panel de control, a los anunciantes de su plataforma publicitaria. Su resumen: “OpenAI tiene personas que contactan con los anunciantes para ayudarles a gestionar sus anuncios de ChatGPT” (traducción propia). La prueba era un correo que Anthony Higman publicó en X, titulado Introducing your ChatGPT Ads Account Manager. En él aparece una persona de contacto, se invita a plantear dudas, se propone una reunión de presentación y se sugiere una revisión quincenal para analizar el rendimiento y buscar oportunidades de optimización.

No se trata del lanzamiento de la publicidad en ChatGPT. OpenAI publicó sus principios publicitarios a principios de 2026, y su portal para desarrolladores ya documenta una pila completa para anunciantes: campañas, feeds de productos, un Measurement Pixel y una Conversions API del lado del servidor. El correo del gestor de cuenta es la capa comercial que llega sobre una plataforma que ya funciona.

Para las tiendas WooCommerce, la pregunta útil no es si los anuncios conversacionales importarán en general. Es qué espera realmente la plataforma de una tienda: qué datos de producto, en qué formato y cómo se le comunica de vuelta una compra. Esta guía se ciñe a lo que documenta OpenAI y relaciona cada requisito con código de WordPress y WooCommerce.


#qué ofrece a los anunciantes el correo del gestor de cuenta de chatgpt ads

El correo del artículo de Search Engine Roundtable es gestión de cuentas, no captación en frío de marcas que nunca se han anunciado. Presenta a un gestor con nombre, ofrece una primera llamada y propone revisiones quincenales periódicas de los resultados de campaña. Schwartz lo interpreta como personas que podrían ayudar a las agencias a gestionar anuncios para sus clientes, y él mismo califica esa lectura de suposición.

Dos detalles de la propia documentación de OpenAI explican por qué un contacto humano importa incluso en una plataforma de autoservicio:

  • Algunas funciones se habilitan por cuenta. La guía del feed de productos incluye el acceso a la API del feed de productos para la cuenta como requisito previo y dice que, si ese acceso no está disponible, el anunciante debe contactar con el equipo de cuenta de OpenAI.
  • Varios ajustes son permanentes. La guía de seguimiento de conversiones indica que el objetivo de una campaña no se puede cambiar después de crearla y que, en una campaña optimizada para conversiones, tampoco se puede cambiar el evento de conversión elegido. Un error en la configuración obliga a rehacer la campaña, así que una llamada de revisión antes del lanzamiento tiene valor real.

La reacción en X fue dispar. Higman bromeó sobre llamadas interminables con comerciales de Google, Meta y ChatGPT Ads, y otro usuario comentó que OpenAI usa IA para el soporte pero personas para las ventas. Para el dueño de una tienda la conclusión práctica es más sencilla: si te llega este correo, la primera llamada es el momento de preguntar si tu cuenta tiene habilitados el acceso al feed y la optimización para conversiones.


#cómo aparecen los anuncios dentro de chatgpt según openai

La publicación de OpenAI sobre su enfoque de la publicidad y la ampliación del acceso a ChatGPT fija las reglas que sigue cada ubicación. Los anuncios aparecen al final de una respuesta cuando hay un producto o servicio patrocinado relevante según la conversación en curso. Van etiquetados y separados visualmente de la respuesta orgánica.

La misma publicación enumera los compromisos que determinan qué pueden comprar los anunciantes y qué no:

  • Independencia de la respuesta. Los anuncios no influyen en las respuestas que da ChatGPT. Una tienda no puede pagar para que la nombren dentro del texto de la respuesta.
  • Privacidad de las conversaciones. Las conversaciones no se comparten con los anunciantes, y OpenAI afirma que no les vende datos de usuarios.
  • Control del usuario. Las personas pueden desactivar la personalización de anuncios y borrar los datos que se usan para ellos.
  • Audiencias y temas excluidos. No se muestran anuncios a cuentas de menores de 18 años ni aparecen junto a temas sensibles como la salud, la salud mental o la política.
  • Planes de pago. Los planes de pago superiores siguen sin anuncios; la publicidad se dirige a los niveles gratuito y de menor precio.

Esto elimina una idea equivocada muy extendida. Las informaciones sobre productos patrocinados entretejidos en el razonamiento del modelo contradicen lo que describe OpenAI: dos sistemas separados, una respuesta orgánica y una unidad publicitaria etiquetada debajo. La visibilidad orgánica y la visibilidad de pago son problemas distintos, y ninguna compra la otra.


#cómo funciona la segmentación de chatgpt ads sin palabras clave

La referencia de segmentación de campañas enumera cuatro palancas, y ninguna es una lista de palabras clave:

PalancaQué controlaNotas de la documentación
Segmentación geográficaPaíses o ID de ubicación, con exclusionesLas campañas con feed de productos solo admiten segmentación por país
Segmentación por plataformaios_app, android_app, webweb incluye navegadores móviles, no solo escritorio
Audiencias personalizadasListas de clientes con hash para inclusión, exclusión o multiplicadores de pujaLas exclusiones prevalecen cuando un usuario está en ambas listas
Pistas de contextoDescripciones de productos, casos de uso o necesidades de un grupo de anunciosNo son palabras clave de concordancia exacta

Las pistas de contexto son lo más parecido a la investigación de palabras clave, y la documentación deja claro que no lo son. Describen qué vende un grupo de anuncios y para quién, así que funcionan mejor redactadas como un breve resumen de producto que como una lista de frases de búsqueda.

La diferencia entre incluir una audiencia y aplicar un multiplicador de puja importa a las tiendas que tienen una lista de clientes. Incluir una audiencia limita la entrega a los usuarios que coinciden. Un multiplicador de puja sube la puja para esos usuarios mientras todos los demás siguen siendo elegibles. Una tienda que sube a sus clientes anteriores como audiencia de inclusión deja de llegar por completo a clientes nuevos; subir esa misma lista como multiplicador no tiene ese efecto.


#opciones de puja y objetivos de campaña en chatgpt ads

La guía de pujas y presupuestos separa tres ajustes que los usuarios de Google Ads suelen tratar como uno solo: el objetivo de la campaña (qué se optimiza), el evento de facturación (por qué pagas) y la estrategia de puja (quién fija la puja).

Objetivo de la campañaEvento de facturaciónEstrategia de puja
ImpresionesImpresiónPuja fija
ClicsClicPuja fija o maximizar clics
ConversionesClicPuja fija o maximizar conversiones

Las campañas de conversión optimizan para una compra o un contacto comercial, pero siguen facturando por clics válidos. Las dos estrategias de “maximizar” exigen un presupuesto diario y ninguna puja máxima. Los multiplicadores de puja por audiencia solo funcionan con pujas fijas.

El dinero se expresa en tres unidades distintas a lo largo de la plataforma, y confundirlas es el error de integración más probable:

  • Presupuestos y pujas usan micros: un millón de micros equivale a una unidad de la moneda de la cuenta. Una puja de 2,50 se envía como 2500000.
  • Las pujas por impresión son por impresión, así que una cifra de CPM se divide entre 1.000 antes de convertirla a micros.
  • Los importes de los eventos de conversión y los precios de la Delta API usan unidades menores en enteros: 8900 significa 89,00 en una moneda con céntimos.
  • Los precios del feed CSV usan unidades mayores con un código de moneda, como 79.99 EUR.

La optimización para conversiones necesita exactamente un evento de conversión estándar activo, como order_created. Los eventos personalizados se pueden medir, pero no pueden ser objetivo de optimización. Como el objetivo y el evento elegido quedan fijados al crear la campaña, el trabajo de seguimiento de conversiones que se describe más abajo tiene que estar terminado antes de crear la primera campaña de conversión.


#cómo crear un feed de productos de chatgpt ads desde woocommerce

Los anuncios de shopping en ChatGPT se construyen a partir de un feed de productos. La guía de feeds de productos describe el flujo: crear un feed mediante la Advertiser API, configurar el acceso SFTP con contraseña o clave SSH y subir después un CSV en UTF-8 con una fila por producto o variante. Los archivos van directamente a la raíz del SFTP, sin subcarpetas, y cada producto debe aparecer una sola vez en el conjunto de archivos.

Las definiciones de los campos están en el esquema del archivo de productos de OpenAI, que se comparte con el descubrimiento orgánico de productos en ChatGPT. Hay nueve campos base obligatorios, y cada uno se corresponde sin problemas con datos de WooCommerce:

Campo del feedOrigen en WooCommerceNotas del esquema
item_idSKU del producto o de la variación, o su IDEstable, nunca reutilizado para otro artículo
titleNombre del producto, incluida la variaciónComo máximo unos 150 caracteres
descriptionDescripción corta o larga, sin etiquetasTexto plano, hasta unos 5.000 caracteres
urlEnlace permanente, con la variación seleccionada si es posibleHTTPS público, estable
brandAtributo o taxonomía de marcaUna marca real, no un texto de relleno
seller_nameNombre de la tiendaEl vendedor de esta oferta
image_urlImagen principal de esta variaciónURL directa a JPEG o PNG
pricePrecio normalUnidades mayores más moneda, como 79.99 EUR
availabilityEstado del inventarioin_stock, out_of_stock, pre_order, backorder o unknown

Los productos variables necesitan tres campos más en cada fila de variación: un group_id común (sirve el ID del producto padre), listing_has_variations en true y un variant_dict como {"color":"Black","size":"10"} construido a partir de los atributos de la variación. El ID de grupo debe ser distinto de cada ID de artículo.

Los identificadores merecen atención. Desde WooCommerce 9.1, los productos exponen get_global_unique_id(), el campo que el panel muestra como GTIN, UPC, EAN o ISBN. El esquema acepta un único GTIN de exactamente 8, 12, 13 o 14 dígitos con un dígito de control válido, e indica a los comerciantes que omitan el campo antes que inventar un valor. La alternativa es un número de pieza del fabricante (mpn) junto con la marca.

Dos indicadores deciden dónde puede aparecer un producto. is_ads_eligible debe estar en true para los productos que el sistema de anuncios debe procesar; si se omite, el procesamiento para anuncios queda desactivado salvo que exista un valor por defecto a nivel de feed. is_eligible_search controla el descubrimiento orgánico y es independiente de la elegibilidad para anuncios.

En el mundo WordPress es habitual suponer que se puede reutilizar el feed XML de Google Shopping que genera un plugin. La vía compatible con Google del esquema acepta archivos de texto delimitados por tabuladores o comas con los nombres de columna de Google, y solo después de que OpenAI confirme ese formato para el feed registrado. JSON, hojas de cálculo, XML, RSS y Atom no están admitidos por esa vía. La mayoría de las tiendas necesitará una exportación CSV propia.

/**
 * Escribe un CSV de productos para ChatGPT Ads con productos simples y variaciones.
 * Los nombres de campo siguen developers.openai.com/commerce/specs/file-upload/products.
 */
function wppoland_write_chatgpt_feed( string $path ): void {
    $fh = fopen( $path, 'w' );
    fputcsv( $fh, [ 'item_id', 'group_id', 'listing_has_variations', 'variant_dict',
        'title', 'description', 'url', 'brand', 'seller_name', 'image_url',
        'price', 'availability', 'gtin', 'is_ads_eligible' ] );

    $map = [ 'instock' => 'in_stock', 'outofstock' => 'out_of_stock', 'onbackorder' => 'backorder' ];
    $ids = wc_get_products( [ 'status' => 'publish', 'limit' => -1, 'return' => 'ids',
        'type' => [ 'simple', 'variation' ] ] );

    foreach ( $ids as $id ) {
        $p      = wc_get_product( $id );
        $parent = $p->get_parent_id() ? wc_get_product( $p->get_parent_id() ) : null;
        $image  = wp_get_attachment_image_url( $p->get_image_id() ?: ( $parent ? $parent->get_image_id() : 0 ), 'full' );
        if ( ! $image || '' === $p->get_regular_price() ) {
            continue; // Faltan campos obligatorios: se omite en lugar de enviar valores de relleno.
        }
        $variant = $parent ? wp_json_encode( array_map( 'strval', $p->get_attributes() ) ) : '';

        fputcsv( $fh, [
            $p->get_sku() ?: (string) $id,
            $parent ? 'group-' . $parent->get_id() : '',
            $parent ? 'true' : '',
            $variant,
            $p->get_name(),
            wp_strip_all_tags( $p->get_description() ?: ( $parent ? $parent->get_description() : '' ) ),
            $p->get_permalink(),
            get_bloginfo( 'name' ), // Sustitúyelo por un atributo de marca real si los productos lo tienen.
            get_bloginfo( 'name' ),
            $image,
            wc_format_decimal( $p->get_regular_price(), 2 ) . ' ' . get_woocommerce_currency(),
            $map[ $p->get_stock_status() ] ?? 'unknown',
            $p->get_global_unique_id(),
            'true',
        ] );
    }
    fclose( $fh );
}

La subida en sí va por SFTP, así que basta con una tarea cron o un comando de WP-CLI que escriba el archivo y lo envíe con el cliente SFTP del servidor. Después de cada subida, el endpoint del historial de subidas devuelve un estado (completed, completed_with_errors, failed y otros) junto con el número de filas aceptadas y rechazadas y códigos de diagnóstico como missing_required_column o invalid_value. OpenAI advierte que una subida completada no significa que todos los productos puedan publicarse.


#cómo mantener precios y stock al día con la delta api

La guía de feeds separa las actualizaciones por tipo. Los cambios de título, precio o disponibilidad de un artículo existente van por la Delta API, una petición PATCH que envía solo los campos modificados. Los productos nuevos y los cambios en otros campos, como imágenes o descripciones, requieren una nueva subida del catálogo por SFTP.

La regla del stock es directa: un artículo marcado como out_of_stock deja de poder mostrarse en cuanto el cambio se propaga, y vuelve a ser elegible cuando se cambia de nuevo a in_stock. La documentación también advierte que las fechas de oferta y de disponibilidad del feed no programan nada, así que un cambio de precio hay que enviarlo en el momento en que se produce.

En WooCommerce, los puntos de disparo naturales son los hooks de stock de productos y variaciones. La petición necesita la clave de la Advertiser API, que debe quedarse en el servidor junto a los demás secretos que se revisan en una auditoría de seguridad de WordPress. En las tiendas donde un ERP gestiona el stock y los precios, esa misma llamada pertenece a la capa de integración de WooCommerce con el ERP, no a un tema.

/**
 * Envía un cambio de stock a la Delta API de ChatGPT Ads.
 * Endpoint y estructura del payload: developers.openai.com/ads/product-feeds
 */
function wppoland_push_chatgpt_stock( WC_Product $product ): void {
    if ( ! defined( 'OPENAI_ADS_API_KEY' ) || ! defined( 'OPENAI_ADS_FEED_ID' ) ) {
        return;
    }
    $item_id  = $product->get_sku() ?: (string) $product->get_id();
    $group_id = $product->get_parent_id() ? 'group-' . $product->get_parent_id() : $item_id;

    wp_remote_request( 'https://api.ads.openai.com/v1/feeds/' . OPENAI_ADS_FEED_ID . '/products', [
        'method'  => 'PATCH',
        'timeout' => 10,
        'headers' => [
            'Authorization' => 'Bearer ' . OPENAI_ADS_API_KEY,
            'Content-Type'  => 'application/json',
        ],
        'body'    => wp_json_encode( [ 'products' => [ [
            'id'       => $group_id,
            'variants' => [ [
                'id'           => $item_id,
                'availability' => [ 'status' => $product->is_in_stock() ? 'in_stock' : 'out_of_stock' ],
            ] ],
        ] ] ] ),
    ] );
}
add_action( 'woocommerce_product_set_stock', 'wppoland_push_chatgpt_stock' );
add_action( 'woocommerce_variation_set_stock', 'wppoland_push_chatgpt_stock' );

El ID de producto en la petición Delta es el group_id del catálogo cuando las variantes están agrupadas y, en caso contrario, el item_id. Una actualización de precio usa la misma estructura con price como objeto de unidades menores en enteros y moneda, por ejemplo {"amount": 7999, "currency": "EUR"}. Una respuesta accepted: true solo confirma el envío; el cambio se aplica de forma asíncrona. Mantén la exportación CSV coherente con los cambios Delta, o la siguiente subida completa los sobrescribirá con valores desfasados.


#cómo instalar el measurement pixel de chatgpt ads en wordpress

La guía del Measurement Pixel pide un pequeño script de carga cerca del principio del <head> en cada página que deba registrar conversiones, inicializado con un ID de píxel creado en la pestaña de conversiones de Ads Manager. Ninguna clave de API va al navegador. En WordPress eso significa una acción en wp_head con prioridad temprana, o el espacio del head de una configuración de gestor de etiquetas ya existente.

Tres partes de la guía requieren decisiones antes del despliegue:

  • Consentimiento. El píxel da por concedido el consentimiento salvo que se le indique lo contrario. Para el tráfico de la UE, llama a oaiq("consent", false) antes de la inicialización y cámbialo a true cuando el visitante acepte la medición en el banner de consentimiento. Los eventos bloqueados no se reenvían después, y poner el consentimiento en false elimina las cookies del píxel.
  • Content Security Policy. Los sitios con CSP deben permitir https://bzrcdn.openai.com en script-src y connect-src, y https://bzr.openai.com en connect-src e img-src. La guía dice que no se añada 'unsafe-inline' solo por el píxel; usa el mecanismo de nonce o hash que ya tenga el sitio.
  • Cookies. Con consentimiento, el píxel crea __oppref, que guarda el identificador de clic durante 30 días, y __obref, una referencia aleatoria del navegador que dura 365 días. Las dos deben figurar en la política de cookies.

Para una tienda, el evento que más importa es order_created en la página de pedido recibido, con el total del pedido en unidades menores y el número de pedido como event_id.

add_action( 'woocommerce_thankyou', function ( $order_id ) {
    $order = wc_get_order( $order_id );
    if ( ! $order || $order->get_meta( '_oaiq_sent' ) ) {
        return; // Evita un segundo evento cuando se recarga la página.
    }
    $order->update_meta_data( '_oaiq_sent', 1 );
    $order->save();
    $payload = [
        'type'     => 'contents',
        'amount'   => (int) round( $order->get_total() * 100 ), // Unidades menores para monedas con dos decimales.
        'currency' => $order->get_currency(),
    ];
    printf(
        '<script>window.oaiq && oaiq("measure","order_created",%s,{event_id:%s});</script>',
        wp_json_encode( $payload ),
        wp_json_encode( 'order_' . $order->get_order_number() )
    );
} );

La multiplicación por 100 sirve para monedas con dos decimales como EUR, PLN o NOK. La documentación pone el JPY como ejemplo en el que 8900 significa 8.900, así que las tiendas que venden en monedas sin decimales deben omitirla.


#cómo enviar pedidos de woocommerce a través de la conversions api

El píxel depende del navegador: los bloqueadores de anuncios, el rechazo del consentimiento o una pestaña cerrada después del pago pueden hacer que se pierda el evento. La Conversions API cubre ese hueco enviando los pedidos confirmados desde el servidor a https://bzr.openai.com/v1/events, con autenticación mediante una clave de Conversions API independiente.

Las reglas documentadas se traducen en una lista de comprobación corta para una integración con WooCommerce:

  • Deduplicación. Usa el mismo ID de píxel, el mismo nombre de evento y el mismo ID de evento que el píxel. OpenAI se queda con el primer evento que recibe para una clave coincidente e ignora los duplicados posteriores.
  • El identificador de clic. A diferencia del píxel, la API no captura oppref. Léelo de la cookie __oppref durante el checkout, guárdalo en el pedido y envía la cadena original sin modificarla.
  • Marcas de tiempo. timestamp_ms es el momento de la compra en milisegundos Unix, y debe estar dentro de los últimos 7 días y no más de 10 minutos en el futuro. Una cola que reintenta pedidos fallidos días después los perderá.
  • Lotes. Hasta 1.000 eventos por petición, y un solo evento no válido hace fallar el lote entero. validate_only: true comprueba un payload sin guardarlo.
  • Datos del cliente. Los identificadores opcionales con hash mejoran la coincidencia. Los correos se recortan y se pasan a minúsculas antes del hash SHA-256; los números de teléfono conservan el prefijo del país y pierden los símbolos y los ceros iniciales.
  • Todos los pedidos, no solo los etiquetados. OpenAI recomienda enviar todas las conversiones, no solo las que tienen oppref, para poder contabilizar las conversiones posimpresión.
// Guarda el identificador de clic en el pedido mientras la cookie sigue disponible.
add_action( 'woocommerce_checkout_create_order', function ( $order ) {
    if ( ! empty( $_COOKIE['__oppref'] ) ) {
        $order->update_meta_data( '_oppref', sanitize_text_field( wp_unslash( $_COOKIE['__oppref'] ) ) );
    }
} );

add_action( 'woocommerce_payment_complete', function ( $order_id ) {
    $order = wc_get_order( $order_id );
    if ( ! $order || ! defined( 'OPENAI_CONVERSIONS_API_KEY' ) || ! defined( 'OPENAI_PIXEL_ID' ) ) {
        return;
    }
    $event = [
        'id'            => 'order_' . $order->get_order_number(), // Mismo valor que el event_id del píxel.
        'type'          => 'order_created',
        'timestamp_ms'  => $order->get_date_paid()->getTimestamp() * 1000,
        'action_source' => 'web',
        'source_url'    => $order->get_checkout_order_received_url(),
        'user'          => [ 'emails_sha256' => [ hash( 'sha256', strtolower( trim( $order->get_billing_email() ) ) ) ] ],
        'data'          => [
            'type'     => 'contents',
            'amount'   => (int) round( $order->get_total() * 100 ),
            'currency' => $order->get_currency(),
        ],
    ];
    if ( $order->get_meta( '_oppref' ) ) {
        $event['oppref'] = $order->get_meta( '_oppref' );
    }
    wp_remote_post( 'https://bzr.openai.com/v1/events?pid=' . rawurlencode( OPENAI_PIXEL_ID ), [
        'timeout' => 10,
        'headers' => [
            'Authorization' => 'Bearer ' . OPENAI_CONVERSIONS_API_KEY,
            'Content-Type'  => 'application/json',
        ],
        'body'    => wp_json_encode( [ 'events' => [ $event ] ] ),
    ] );
} );

El hash del correo solo tiene cabida en tiendas cuyo aviso de privacidad y configuración de consentimiento cubran la cesión de identificadores con hash a una plataforma publicitaria. Sin esa base legal, elimina el bloque user; el evento sigue contando, con una coincidencia más débil.

Antes de pegar el píxel, comprueba también qué envía desde tu lado. El análisis de Buchodi del 20 de septiembre de 2026 describe la cookie __obi, que ChatGPT fija en .openai.com durante un año y que vuelve a OpenAI desde las webs de los anunciantes junto con los eventos de oaiq.min.js. El SDK puede recoger por sí solo datos de campos de formulario y de la data layer del gestor de etiquetas, y la coincidencia automática estaba activada en 638 de 881 píxeles con configuración conocida. Todos los tokens decodificados llevaban consent_decision: analytics_allowed, así que OpenAI trata la cookie como analítica. En una tienda WooCommerce, carga el píxel solo después del consentimiento de marketing en tu propio banner y desactiva la coincidencia automática si no quieres que el script lea los campos del checkout.


#en qué se diferencia la atribución de chatgpt ads del seguimiento con utm

Las herramientas de analítica que dependen de parámetros UTM verán los clics de anuncios de ChatGPT solo en la medida en que estén etiquetadas las URL de destino. La atribución de ChatGPT Ads no depende de los UTM. Usa su propia referencia de clic, oppref, que se pasa en la URL de la página de destino y se conserva en la cookie propia descrita más arriba.

El modelo de atribución documentado tiene tres partes:

  • Las conversiones tras clic se atribuyen dentro de la ventana de clic configurada en el ajuste del evento de conversión. La guía de configuración usa una ventana de 30 días.
  • Las conversiones posimpresión, cuando están disponibles para una cuenta, usan una ventana fija de un día tras una impresión elegible. Ads Manager las muestra como una métrica de campaña aparte; no forman parte del total de Conversiones, y el CPA, las pujas y la facturación siguen basándose en clics.
  • Cuando se dan ambas, prevalece el clic.

Para las pruebas, el endpoint de monitorización devuelve una muestra de eventos de aproximadamente los últimos 15 minutos e indica si cada uno llegó por pixel_sdk o por server_to_server. Una compra de prueba debería aparecer en ambos canales con el mismo ID de evento, y solo una vez en las conversiones registradas.

La consecuencia práctica para los informes es que las cifras de ChatGPT Ads y las de GA4 no coincidirán, y es algo previsto. GA4 ve sesiones y los UTM que añadas; Ads Manager ve coincidencias de oppref y la atribución posimpresión, que GA4 no tiene forma de observar. Compara tendencias, no totales.


#schema de producto en las páginas de woocommerce junto al feed de anuncios

La documentación de feeds de OpenAI no menciona los datos estructurados de la página de producto, así que no hay ninguna regla documentada según la cual el marcado schema afecte a la entrega de anuncios en ChatGPT. Aun así importa para la parte orgánica: Google usa los datos estructurados de Product para las fichas de comerciante, y una única fuente de verdad para precio, disponibilidad y GTIN evita que el feed, la página y el marcado se contradigan.

WooCommerce ya genera marcado Product. El filtro siguiente añade el GTIN desde el campo integrado y hace explícita la disponibilidad, sin sustituir los datos de la oferta que genera WooCommerce:

add_filter( 'woocommerce_structured_data_product', function ( $markup, $product ) {
    $gtin = $product->get_global_unique_id();
    if ( $gtin && preg_match( '/^\d{8}$|^\d{12,14}$/', $gtin ) ) {
        $markup[ 'gtin' . strlen( $gtin ) ] = $gtin;
    }
    if ( isset( $markup['offers'][0] ) ) {
        $markup['offers'][0]['availability'] = $product->is_in_stock()
            ? 'https://schema.org/InStock'
            : 'https://schema.org/OutOfStock';
    }
    return $markup;
}, 10, 2 );

La misma regla de validación del GTIN se aplica en los dos sitios: 8, 12, 13 o 14 dígitos, nunca un valor inventado.


#cómo combinar la visibilidad orgánica en chatgpt con chatgpt ads

Como OpenAI mantiene los anuncios separados de las respuestas, la presencia orgánica y la ubicación de pago requieren trabajos distintos, y cada una cubre un hueco que la otra no puede cubrir.

  1. Respuestas orgánicas. Que te citen en la respuesta depende de contenido y datos de producto que ChatGPT pueda encontrar y considerar fiables: guías claras, comparativas, páginas de producto precisas y, para los productos, is_eligible_search en el feed. Pagar anuncios no cambia esto.
  2. Ubicación de pago. El anuncio debajo de la respuesta es donde una tienda puede aparecer en conversaciones comerciales incluso sin una mención orgánica. Funciona con el feed, las pujas y los datos de conversión descritos más arriba.

Una tienda que solo compra anuncios depende del gasto para cada visita. Una tienda que solo trabaja la visibilidad orgánica no tiene forma de aparecer cuando una conversación está cerca de la compra y la respuesta cita a otro. Hacer las dos cosas, con una sola canalización de datos de producto que alimente la elegibilidad para búsqueda y para anuncios, evita mantener dos catálogos.


#lista de implementación para wordpress y woocommerce

  1. Identificadores limpios. Da a cada producto y variación un SKU estable, rellena el campo GTIN cuando exista y nunca lo rellenes con valores de relleno.
  2. Crea la exportación CSV. Relaciona los nueve campos obligatorios, añade group_id, listing_has_variations y variant_dict para las variaciones y define is_ads_eligible por producto.
  3. Automatiza la subida. Genera el archivo de forma programada, envíalo a la raíz del SFTP y revisa el historial de subidas en busca de filas rechazadas.
  4. Conecta la Delta API. Envía los cambios de stock y precio desde WooCommerce o el ERP en el momento en que se producen, en unidades menores.
  5. Instala el píxel con consentimiento. Cárgalo pronto en el head, condiciónalo al banner de consentimiento y actualiza la CSP y la política de cookies.
  6. Añade la Conversions API. Captura oppref en el checkout, envía los pedidos confirmados con el mismo ID de evento que el píxel y guarda las dos claves de API en el servidor.
  7. Crea los ajustes de conversión antes que las campañas. Elige el evento estándar, comprueba los eventos en el endpoint de monitorización y solo entonces crea una campaña optimizada para conversiones, ya que el objetivo no se puede cambiar después.
Siguiente paso

Transforma el artículo en una implementación real

Este bloque refuerza el enlazado interno y lleva al lector al siguiente paso más útil dentro de la arquitectura del sitio.

¿Quieres implementar esto en tu sitio?

Si la visibilidad en Google y en sistemas de IA importa, puedo estructurar contenido, FAQ, schema y enlazado interno para SEO, GEO y AEO.

Cluster relacionado

Explora otros servicios WordPress y base de conocimiento

Refuerza tu negocio con soporte técnico profesional en áreas clave del ecosistema WordPress.

Preguntas frecuentes

Respuestas prácticas para aplicar el tema en la ejecución real.

Los anuncios de ChatGPT cambian lo que responde ChatGPT#
OpenAI dice que no. Sus principios publicitarios establecen que los anuncios no influyen en las respuestas, que aparecen debajo de la respuesta cuando un producto o servicio patrocinado es relevante para la conversación y que van etiquetados y separados de la respuesta orgánica.
Cómo segmenta ChatGPT Ads a los usuarios sin palabras clave#
Las campañas combinan segmentación por país o ubicación, segmentación por plataforma (app de iOS, app de Android, web) y audiencias personalizadas. Los grupos de anuncios pueden llevar pistas de contexto que describen productos y casos de uso, y la documentación de OpenAI aclara que esas pistas no son palabras clave de concordancia exacta.
Qué debe contener un feed de productos de WooCommerce para ChatGPT Ads#
Una fila CSV por producto o variación con los campos base obligatorios, entre ellos item_id, title, description, url, brand, seller_name, image_url, price y availability, además de is_ads_eligible en true. Las páginas de producto y las imágenes deben ser URL HTTPS públicas, y los archivos van directamente a la raíz del SFTP.
Cómo mide ChatGPT Ads las conversiones de una tienda WooCommerce#
Mediante el Measurement Pixel en el navegador, la Conversions API desde el servidor, o ambos. Los clics llevan un identificador oppref que el píxel guarda en una cookie propia; la integración de servidor tiene que leerlo y reenviarlo. Usar el mismo ID de pedido como ID de evento en los dos canales evita contar dos veces.
Por qué el correo del gestor de cuenta importa a las tiendas WooCommerce pequeñas#
Demuestra que OpenAI añade gestión de cuentas con personas encima de la compra en autoservicio. Algunas funciones, como el acceso al feed de productos, se habilitan por cuenta, y la guía de feeds indica a los anunciantes sin acceso que contacten con su equipo de cuenta de OpenAI.

¿Necesitas un FAQ adaptado a tu sector y mercado? Preparamos una versión alineada con tus objetivos de negocio.

Hablemos

Artículos Relacionados