API de conversiones para Google Tag Manager (GTM) en el servidor

La API de conversiones conecta directamente los datos de marketing con nuestros sistemas para optimizar la segmentación de los anuncios, reducir el coste por acción y medir resultados en todas las tecnologías de Meta. Puedes configurar un servidor en Google Cloud Platform (GCP) o cualquier otro proveedor de servicios en la nube para enviar datos de eventos web u offline clave con la API de conversiones. Después de configurar la etiqueta web de Google Analytics 4 (GA4), puedes enviar los datos a tu propio servidor alojado en Google Cloud Platform (GCP) y, por último, a Meta con la API de conversiones.

Meta ha escrito y mantiene la etiqueta de la API de conversiones a partir de la plantilla de etiqueta personalizada de Google. Ponte en contacto con Google si tienes alguna pregunta sobre la configuración de los productos de Google o la documentación para desarrolladores de Google.

En este documento se explica lo siguiente:

  • Requisitos previos, incluida la creación de un contenedor de servidor.
  • Configuración del contenedor para que admita la implementación de la etiqueta web de GA4.
  • Envío de datos desde el sitio web al servidor de GCP.
  • Uso compartido de esos datos con Meta mediante la API de conversiones.
  • Preguntas frecuentes

Requisitos previos

Antes de continuar con la integración, te recomendamos lo siguiente:

  1. Familiarízate con la integración de la API de conversiones y las prácticas recomendadas para la configuración.
  2. Familiarízate con el etiquetado en el servidor y la plantilla de etiqueta personalizada.

Si el sistema usa una versión anterior a GA4, deberás actualizar la configuración del administrador de etiquetas existente para usar GA4 antes de continuar con la integración.

Integración

Creación de un contenedor de servidor de GTM

Deberás configurar un contenedor de servidor y un contenedor web:

  • Contenedor web: si usas GTM por primera vez, empieza con la instalación de un contenedor web en tu cuenta. Obtén más información aquí.
  • Contenedor de servidor: deberás crear un contenedor de servidor en el portal de GTM para configurar una URL de servidor de etiquetado. Obtén más información sobre este paso.

Para configurar un contenedor de servidor, es necesario configurar un servidor de etiquetado. La implementación predeterminada de GCP se puede completar al configurar el contenedor de servidor. Para obtener más información, consulta las siguientes instrucciones. En el caso de otro proveedor de servicios en la nube (por ejemplo, AWS o Microsoft Azure), consulta la guía de configuración manual de servidores.

Configuración de contenedores web y de servidor

  1. En el contenedor web, crea los artefactos siguientes:
    • La configuración de GA4 para configurar la dirección URL del servidor de etiquetado.
    • Un evento de GA4 para configurar que el esquema de eventos se entregue al servidor.
  2. En el contenedor de servidor, crea los artefactos siguientes:
    • Un cliente de GA4, un oyente para el evento que activa el evento en Meta.
    • Una etiqueta de la API de conversiones de Meta, una etiqueta en el servidor que convierte el modelo de eventos estándar de un cliente de GA4 al esquema de eventos de la API de conversiones y lo envía a graph.facebook.com.

Paso 1: Configuración de GA4 (configura la dirección URL del servidor de etiquetado)

Configura el contenedor web para que envíe los datos del sitio web al servidor de etiquetado creado. Obtén más información sobre cómo configurar Google Analytics: etiqueta de configuración de GA4.

  • Si seleccionas Send to server container (Enviar a contenedor de servidor), establece el valor de Server Container URL (URL del contenedor de servidor) como la URL del servidor de etiquetado.
  • Si no seleccionas Send to server container (Enviar a contenedor de servidor), en Fields to Set (Campos que establecer), haz clic en Add Row (Añadir fila) y define lo siguiente:
    • Nombre del campo: transport_url
    • Valor del campo: la URL del servidor de etiquetado

Puedes configurar campos adicionales para cualquier otro parámetro que quieras enviar para todos los eventos.

  • Establece la marca first_party_collection en true. Debes hacerlo para poder pasar los parámetros user_data a GTM en el servidor. En Fields to Set (Campos que establecer), haz clic en Add Row (Añadir fila) y define lo siguiente:
    • Nombre del campo: first_party_collection
    • Valor del campo: true

Uso de una etiqueta de configuración de GA4 existente

Si ya tienes establecida una configuración de GA4 existente, puedes modificarla o crear una etiqueta de configuración adicional para GTM en el servidor.

Si vas a configurar GTM en el servidor por primera vez, se empezará a enviar todo el tráfico al contenedor de servidor al añadir la URL de dicho contenedor. Si quieres seguir enviando datos a GA4, deberás añadir la etiqueta en el servidor de GA4 en el contenedor de servidor y asegurarte de que se activa en todos los eventos. Es posible que debas crear etiquetas de eventos de GA4 adicionales o modificar las existentes para garantizar una asignación completa a los eventos del píxel de Meta.

Envío de los identificadores de navegador y clic de Meta

Si has configurado un dominio personalizado, y el dominio del servidor de etiquetado de GTM te pertenece, los identificadores de navegador y clic de Meta se envían automáticamente.

Si vas a usar el dominio predeterminado proporcionado, u observas que los campos de los identificadores de navegador y clic no se envían en el Administrador de eventos, puedes configurarlos de la siguiente forma:

  • Navega a la sección de variables y crea una nueva variable definida por el usuario para los identificadores de navegador y clic de Meta. Usa el tipo de variable de cookie propia.
    • Para el identificador de navegador de Meta, establece el nombre de la cookie como _fbp.
    • Para el identificador de clic de Meta, establece el nombre de la cookie como _fbc.
  • Guarda estas variables.
  • En la etiqueta de configuración de GA4, en Fields to Set (Campos que establecer), haz clic en Add Row (Añadir fila) y define lo siguiente:
    • Nombre del campo: x-fb-ck-fbp
    • Valor del campo: la variable del identificador de navegador de Meta
  • Añade una fila adicional para el identificador de clic:
  • Nombre del campo: x-fb-ck-fbc
  • Valor del campo: la variable del identificador de clic de Meta

Crea una variable de la capa de datos para cada uno de los parámetros user_data del esquema de eventos habituales de GTM. Obtén más información sobre la configuración de variables de capas de datos. Por ejemplo, para pasar una dirección de correo electrónico a GTM en el servidor, crea una variable (por ejemplo, user_data_email_address) que se pueda asignar al nombre de la variable de la capa de datos, eventModel.user_data.email_address.

Si no vas a usar la capa de datos, configura las variables para cada parámetro de la forma indicada a continuación a fin de utilizarlas en su lugar. En la lista siguiente se indican todas las asignaciones de los parámetros user_data de Meta y GTM y su prioridad general a la hora de ayudar a incrementar la calidad de coincidencias de eventos. Si quieres sacar el máximo partido a los anuncios de Meta, te sugerimos que sigas las prácticas recomendadas sobre la API de conversiones cuando configures una integración. Si ya has configurado la API de conversiones, te sugerimos que tengas en cuenta estas prácticas recomendadas para mejorar la configuración existente. Las prácticas recomendadas sobre la API de conversiones pueden ayudar a mejorar el rendimiento de los anuncios y reducir el coste por acción.

Parámetro de Meta de la API de conversionesNombre del campo de GA4Nombre de la variable de la capa de datos de GTMPrioridad

Correo electrónico

email_address(em)

user_data.email_address

eventModel.user_data.email_address

Alta

Identificador del clic

fbc

x-fb-ck-fbc

No aplicable

Alta

Identificador de inicio de sesión con Facebook fb_login_id

user_data.fb_login_id

No aplicable

Media

Fecha de nacimiento

db

x-fb-ud-db

No aplicable

Media

País

country(country)

user_data.address.country

eventModel.user_data.address.country

Media

Número de teléfono

phone_number(ph)

user_data.phone_number

eventModel.user_data.phone_number

Media

Identificador externo

external_id

x-fb-ud-external_id

No aplicable

Media

Identificador del navegador

fbp

x-fb-ck-fbp

No aplicable

Media

Estado

state(st)

user_data.address.region

eventModel.user_data.address.region

Media

Género

ge

x-fb-ud-ge

No aplicable

Media

Nombre

first_name(fn)

user_data.address.first_name

eventModel.user_data.address.first_name

Baja

Apellidos

last_name(ln)

user_data.address.last_name

eventModel.user_data.address.last_name

Baja

Ciudad

city(ct)

user_data.address.city

eventModel.user_data.address.city

Baja

Código postal postal_code(zip)

user_data.address.postal_code

eventModel.user_data.address.postal_code

Baja


Paso 2: Evento de GA4 (configura que el esquema de eventos se entregue al servidor)

  • Configura el contenedor web para que envíe los datos del sitio web al servidor de etiquetado creado para añadir Google Analytics. Obtén más información sobre cómo configurar Google Analytics: etiqueta de configuración de GA4.

  • Añade la etiqueta de eventos de GA4 de Google Analytics al área de trabajo desde la galería de plantillas:

    • Establece un nombre de evento para la etiqueta. Puedes definir este campo como un valor estático o configurarlo para que se lea desde una variable. En el caso de determinados eventos estándar, asignaremos los eventos estándar de Google Analytics a los equivalentes de Meta. Para dichos eventos, puedes usar el nombre de evento de Google Analytics o el de Meta. Para todos los demás eventos estándar, usa el nombre de evento de Meta. En el caso de los eventos personalizados, usa el nombre del evento personalizado. Obtén más información.
Nombre del evento estándar de MetaNombre del evento de Google Analytics

AddPaymentInfo

add_payment_info

AddToCart

add_to_cart

AddToWishlist

add_to_wishlist

PageView

gtm.dom

PageView

page_view

Purchase

purchase

Search

search

InitiateCheckout

begin_checkout

Lead

generate_lead

ViewContent

view_item

CompleteRegistration

sign_up


  • En la sección de parámetros de eventos:

    • Si vas a usar el píxel de Meta, añade el parámetro de identificador del evento. Usa event_id como nombre del parámetro y la variable creada para el identificador del evento como valor del parámetro. En la sección Eliminación de duplicados, puedes consultar las instrucciones sobre cómo crear la variable de identificador del evento y modificar el píxel de Meta.
    • Asigna todos los parámetros que quieres configurar. El nombre de la variable se lee desde el evento con el esquema de eventos habituales. Por ejemplo, para configurar el correo electrónico como un parámetro de evento, debes definirlo como nombre de parámetro: user_data.email_address y configurar el valor como nombre de la variable que lee email_address (definido anteriormente en la sección 1).
    • Consulta una lista completa en la sección Parámetros de datos personalizados a continuación.

Paso 3: Crea un oyente para el evento que activa el evento en Meta

Cada contenedor de GTM en el servidor tiene un cliente de GA4 predeterminado para escuchar los eventos configurados desde la etiqueta web de GA4. El cliente de GA4 escucha la ruta /g/collect de la dirección URL del servidor de etiquetado y envía el valor de eventModel a la etiqueta de descarga. Si el cliente de GA4 predeterminado ya está instalado en el contenedor de servidor en la sección de clientes, puedes pasar al paso 4.

Paso 4: Crea una etiqueta de la API de conversiones de Meta, una etiqueta en el servidor que convierte el modelo de eventos estándar de un cliente de GA4 al esquema de eventos de la API de conversiones y lo envía a graph.facebook.com

Para enviar el evento a la API de conversiones, debes instalar la etiqueta de la API de conversiones de Meta desde la galería de plantillas. facebookincubator asigna el nombre Etiqueta de la API de conversiones a la plantilla de etiqueta. Puedes configurar esta etiqueta para que se active con los eventos que reciba el cliente de GA4 en el paso anterior y se envíe a la API de conversiones. Para instalar la etiqueta de la API de conversiones de Meta, deberás disponer de un identificador de píxel y un identificador de acceso y, además, especificar el origen de acción como “sitio web”. Al utilizar la API de conversiones, aceptas que el parámetro action_source es adecuado hasta donde tú sabes.

Prueba de la integración

Recomendamos usar el modo de vista previa de Google Tag Manager para probar las integraciones antes de publicar los cambios. Tanto los contenedores web como los contenedores de servidor tienen modos de vista previa y puedes ejecutar los dos a la vez.

Si cambias la configuración durante la ejecución del modo de vista previa, asegúrate de reiniciarlo para asegurarte de que los cambios se reflejen durante las pruebas.

Para verificar si los eventos del servidor se reciben de la forma prevista, puedes usar la función “Probar eventos” del Administrador de eventos. Para encontrar la herramienta, ve al Administrador de eventos > Orígenes de datos > Tu píxel > Probar eventos.

La herramienta “Probar eventos” genera un identificador de prueba. Envía el identificador de prueba como parámetro test_event_code en la etiqueta de la API de conversiones para empezar a ver cómo se muestra la actividad de los eventos en la ventana “Probar eventos”. Asegúrate de eliminarlo antes de publicar los cambios.

La herramienta “Probar eventos” permite comprobar si los eventos se reciben y los duplicados se eliminan correctamente. Si los eventos no aparecen tras un minuto o dos, consulta el depurador en el servidor de GTM para asegurarte de que la solicitud se haya procesado:

  1. En el depurador en el servidor, elige el evento pertinente que quieras registrar en el menú de la izquierda.
  2. Confirma que la etiqueta aparece en la sección de etiquetas activadas. En ese caso, verás “Conversions API Tag - Succeeded” (Etiqueta de la API de conversiones: operación realizada correctamente) o “Conversions API Tag - Failed” (Etiqueta de la API de conversiones: operación con errores).
    • Tag Not Fired (Etiqueta no activada): revisa el activador de la etiqueta de la API de conversiones y el activador del evento de GA4 pertinente en el contenedor web. Confirma que el evento de GA4 se haya activado en el depurador web.
    • Tag Fired: Succeeded (Etiqueta activada: operación realizada correctamente): haz clic en la etiqueta y comprueba que el código del evento de prueba sea correcto. Actualiza el código del evento de prueba si es necesario y reinicia el modo de vista previa.
    • Tag Fired: Failed (Etiqueta activada: operación con errores): abre la pestaña de solicitudes y haz clic en la solicitud saliente enviada a https://graph.facebook.com. Revisa el cuerpo de la respuesta en la parte inferior de los detalles de la solicitud para ver cuál ha sido el error y actualiza la integración según corresponda. Recuerda reiniciar el modo de vista previa después de cualquier cambio.

Cuando se muestren los eventos, verifica que el identificador de cada evento se envíe correctamente y que todas las claves de coincidencia y los parámetros de datos personalizados previstos se muestren correctamente. En la herramienta “Probar eventos” se indicará si los eventos duplicados se eliminan correctamente. Si los identificadores de eventos son diferentes, asegúrate de que las etiquetas de GA4 y del píxel de Meta se activen en el mismo activador y revisa la implementación de la variable de identificador del evento.

Eliminación de duplicados

Te recomendamos que uses una configuración de eventos redundante y compartas los mismos eventos desde la API de conversiones y el píxel de Meta. Asegúrate de que ambos eventos usen el mismo valor de event_name y de que se incluya event_id o una combinación de external_id y fbp.

Esto ayudará a Meta a eliminar los eventos duplicados y reducir la generación de informes duplicados de eventos idénticos. Obtén más información sobre la eliminación de duplicados, cuándo es necesaria y cómo configurarla. external_id y fbp son soluciones alternativas para la eliminación de duplicados y también ayudan a mejorar la calidad de la configuración. Te sugerimos que incluyas estos tres parámetros siempre que puedas.

GTM dispone de varias formas de configurar un parámetro con el mismo valor en una etiqueta de navegador y de servidor. Una de ellas consiste en usar el mismo evento de GA4 para activar la etiqueta del píxel de Meta y el evento del servidor. Para lograrlo, debes hacer lo siguiente:

  • Usa el mismo activador para la etiqueta de evento de GA4 y la etiqueta HTML personalizada del píxel de Meta. Por ejemplo, podrías definir una condición de activación basada en la URL de la página de confirmación del pedido.
  • Usa el mismo event_id en ambas etiquetas:
    1. Define un único identificador del cliente: establece un parámetro personalizado (x-fb-event_id) del evento gtag. Genera un identificador único (por evento) en el sitio web con un método de JavaScript (o con la variable de JavaScript personalizada de Google Tag Manager) y establece el valor del evento tal como se detalla a continuación:
    2. gtag('event', 'purchase', {
       'x-fb-event_id': generateEventId(),
      ...:...
      
       });
      Puedes crear una variable que apunte al JavaScript personalizado que hemos indicado anteriormente. Cuando se haga referencia a la variable, se cargará el siguiente fragmento de JavaScript en la línea:
      function() {
      var gtmData = window.google_tag_manager[{{Container ID}}].dataLayer.get('gtm');
      return gtmData.start + '.' + gtmData.uniqueEventId;
      }
    3. Crea y completa una variable de capa de datos: puedes crear tu propia variable en el contenedor web para leer el valor de event_id. Para ello, puedes crear una nueva variable de capa de datos (por ejemplo, FBEventIdVar) con el nombre de variable de la capa de datos como eventModel.event_id.
    4. Una vez configurada la variable, podrás usarla para conectarte al evento web en la etiqueta HTML personalizada y utilizar el evento de servidor como un parámetro de evento de GA4 adicional.
    5. En la web, puedes configurar la etiqueta de Meta en contenedores web de Google Tag Manager para que lea el valor de event_id de una variable.
    6. fbq('track', Purchase, {..}, {eventID: FBEventIDVar });
      Configura el evento de GA4 para que envíe un parámetro adicional denominado event_id y que esté establecido en la variable FBEventIdVar.

Parámetros de datos personalizados

Para enviar datos personalizados, usa las siguientes asignaciones en las etiquetas de eventos de GA4:

Nombre del parámetro de MetaNombre del parámetro de GA4

value

value

currency

currency

search_string

search_term

order_id

transaction_id

content_ids

x-fb-cd-content_ids

content_type

x-fb-cd-content_type

content_name

x-fb-cd-content_name

content_category

x-fb-cd-content_category

contents*

items O x-fb-cd-contents

num_items

x-fb-cd-num_items

predicted_ltv

x-fb-cd-predicted_ltv

status

x-fb-cd-status

delivery_category

x-fb-cd-delivery_category

custom_properties*

custom_properties

Convierte a cadena JSON x-fb-cd-contents y custom_properties antes del envío, ya que se trata de parámetros JSON definidos por Meta.

Envío de datos desde el sitio web al servidor de GCP

Después de configurar los contenedores web y de servidor, puedes enviar un evento de muestra desde tu sitio web para verificar el evento de servidor. Un evento de muestra con los parámetros configurados puede tener un aspecto similar al siguiente:

 gtag('event', 'purchase', 
  {
    'event_id': generateEventId(),
    'transaction_id': 't_12345',
    'currency': 'USD',
    'value': 1.23,
    user_data: {
      email_address: '<HASHED_DATA>',
      phone_number: '<HASHED_DATA>',
      address: {
        first_name: '<HASHED_DATA>',
        last_name: '<HASHED_DATA>',
        city: '<HASHED DATA>',
        region: '<HASHED_DATA>',
        postal_code: '<HASHED_DATA>',
        country: '<HASHED_DATA>'     
      },    
    },
    items: [
      {
        item_id: '1',
        item_name: 'foo',
        quantity: 5,
        price: 123.45,
        item_category: 'bar',
        item_brand: 'baz'     
      }
    ], 
  });      
     

Cuando se activa el evento, se debería enviar una solicitud al enlace, por ejemplo, www.analytics.example.com/g/collect, con los parámetros configurados. Puedes añadir el código del evento de prueba a la etiqueta de la API de conversiones de Meta para verificar los eventos enviados a la API de conversiones. El código del evento de prueba solo se debe usar para las pruebas. Debes eliminarlo al enviar la carga útil de producción.

Una vez publicados los cambios, usa la página Verificar la configuración para asegurarte de que los eventos se envíen correctamente; para ello, deberás consultar “Verificar configuración: API de conversiones” a continuación y revisar si la integración de calidad sigue nuestras prácticas recomendadas.

Preguntas frecuentes

¿Está previsto añadir la función de enviar parámetros personalizados? En caso afirmativo, ¿cuándo estará disponible?
Respuesta: Hemos añadido la asignación para la mayoría de parámetros personalizados estándar de la API de conversiones que se admiten en el esquema de GTM. También hemos proporcionado la asignación personalizada. Consulta esta página para obtener más información.

¿Un solo servidor o grupo puede ejecutar varios contenedores?
Respuesta: Actualmente, GTM solo admite la asignación 1:1. Lee las recomendaciones para organizar tus contenedores.

¿GTM en el servidor requiere una etiqueta basada en el navegador para emitir eventos?
Respuesta: Sí

¿Es posible que GA4 permanezca de forma independiente con la integración en el servidor?
Respuesta: Para mantener una integración de GA4 y GTM en el servidor independiente, puedes crear un identificador de medición adicional en Google Analytics. Crea una etiqueta de configuración de GA4 independiente para GTM en el servidor con este identificador de medición; para ello, puedes seguir los pasos anteriores. En este escenario, la etiqueta de configuración de GA4 existente seguirá enviando el tráfico de GA mediante el contenedor web, mientras que la nueva etiqueta de configuración enviará los datos al contenedor de servidor. Crea etiquetas de eventos de GA4 adicionales según la información del paso 2 para enviar eventos en el servidor con la nueva etiqueta de configuración.

¿La integración de la API de conversiones de GTM funciona con soluciones de alojamiento en la nube diferentes de GCP?
Respuesta: La integración de la API de conversiones de GTM debería funcionar con GCP o con cualquier otra plataforma que elijas. Lee más información sobre el aprovisionamiento manual.