Implementación de la API Conversión de Facebook en GTM Server

Vicente Peris

En la actualidad nos estamos encontrando con que varios clientes nos solicitan incluir las conversiones de Facebook y TikTok por medio de un contenedor de servidor. 

Este tipo de implementación se utiliza para evitar la pérdida en la recepción de conversiones debido al uso de addblockers y a ciertas especificaciones de los navegadores.

Lo que vamos a mostrar en este post son los pasos para crear las etiquetas necesarias, tanto en contenedor cliente como en el contenedor servidor para enviar las conversiones a Facebook o TikTok.
Damos por supuesto que ya contamos con un contenedor de servidor de Google Tag Manager en un proyecto de Cloud.

Si este no es el caso debemos seguir la documentación de Google https://developers.google.com/tag-platform/tag-manager/server-side/overview?hl=es#create_a_tag_manager_server_container

 

Implementación en el contenedor cliente

En primer lugar, crearemos una etiqueta de evento de Google Analytics en nuestro contenedor cliente que se lanzará cuando ocurra la conversión en nuestro site.

Nota: Podemos incluir una etiqueta por cada evento que queramos enviar al servidor o podemos usar una única etiqueta que envíe el evento correspondiente dependiendo del trigger que la haga saltar.

Empezaremos incluyendo en nuestra etiqueta un identificador de propiedad ficticio e introduciendo en el campo evento la variable {{event}}, que llevará el valor del evento en el que se lanza la etiqueta.

Ejemplo: ID Medición: G-XXXXCAPI

A continuación, en los parámetros de evento de la etiqueta,  añadimos la variable “server_container_url” con la URL del contenedor de servidor.

Ejemplo: server_container_url: https://server.midominio.com  

Además incluiremos el identificador de evento “event_id” con un número aleatorio. Este dato se debe incluir en la etiqueta que lance el pixel en el cliente si lo hubiera. De esta manera la plataforma puede deduplicar eventos.

Ejemplo: event_id: {{{{Random Number}}

Nota: para disponer de la variable “random number” es necesario seleccionarla en la configuración de las variables predefinidas.

Por último podemos añadir un parámetro con un valor constante que nos ayude a identificar en el servidor que esta petición está dedicada a la API de conversiones.

Por ejemplo: tag_type = CAPI.

Si queremos enviar un evento de compra es importante pasar los datos de e-commerce en la etiqueta, por lo que hay que incluir la información del DataLayer con el objeto e-commerce de GA4.

La etiqueta se verá como la imagen siguiente:

Lo siguiente que haremos será incluir el trigger o activador en nuestra etiqueta. Si queremos recoger sólo la conversión bastará con que el trigger evalúe que se lanza el lead o el purchase en nuestra web.

Nota: Hay que tener en cuenta que aunque estas etiquetas vayan a un servidor propio, debemos condicionarlas a la aceptación de seguimiento de cookies por parte del usuario.

En este momento lo que tenemos es una etiqueta que lanza una petición http a la URL, donde se encuentra nuestro contenedor de servidor con una serie de parámetros, entre ellos, el evento que queremos mandar a Facebook o a otra plataforma de terceros.

 

Implementación en el contenedor de servidor

En el contenedor de servidor debemos recoger la petición y transmitirla a donde corresponda.

En nuestro contenedor de servidor, en la sección “clientes”, vamos a encontrar, entre otros, un adaptador de las peticiones de GA4 que son del tipo de la que hemos creado en nuestro contenedor cliente.

Esta parte no vamos a necesitar modificarla.
Accederemos a la sección Templates para localizar una plantilla disponible en la galería que nos permita mandar las peticiones a Facebook.

 

Y confirmamos los permisos:

Esto nos permitirá utilizar esta etiqueta en la sección Tags:

Nota: Para la implementación de TikTok basta con utilizar la plantilla correspondiente.

Crearemos una nueva etiqueta usando la plantilla descargada:

Para configurar esta etiqueta vamos a necesitar obligatoriamente el ID del pixel que nos proporciona Facebook y el token de acceso. 

El dato de “Test Event Code” es opcional.

Por último definiremos el trigger para nuestra etiqueta. Para asegurarnos de identificar la petición correcta, ya que podemos estar recibiendo varias peticiones en el servidor, vamos a verificar el valor del tag_type que pasamos en la etiqueta de cliente. 

Para esto vamos a crear una variable que recoja este dato, esta variable será de tipo “Event Data”.

Esto nos permitirá condicionar nuestro trigger a la etiqueta que acabamos de crear en el contenedor cliente.

Nota: es importante recordar que para que nuestra etiqueta en el servidor se lance al recibir la petición de la etiqueta de GA4 que incluimos en el cliente, debemos condicionar el Client Name a GA4, que coincide con el nombre del adaptador que tenemos en la sección de “Clientes”.

Revisión de la implementación

Para revisar la implementación haremos uso de las opciones de preview de Google Tag Manager en ambos contenedores.

En el contenedor cliente para verificar que salta nuestra petición con la compra.

En el caso del cliente, al mostrar el preview del contenedor podremos ver las etiquetas y peticiones que saltan hacia nuestro servidor y comprobar que tienen los valores correctos.

Esperamos que haya sido una información de utilidad.