Meta Pixel y Conversions API con deduplicación
El Meta Pixel se ejecuta en el navegador, así que los bloqueadores de anuncios y las restricciones de los navegadores frenan parte de sus eventos. La Conversions API (CAPI) envía los mismos eventos desde tu contenedor de servidor, que es mucho más difícil de bloquear. Meta recomienda usar ambos. El problema es que entonces cada conversión llega dos veces, así que das a las dos copias el mismo ID de evento y Meta se queda con una.
Avanzado 12 min de lectura
Lo que aprenderás
- Enviar eventos del Meta Pixel desde el contenedor web con un
event_id. - Pasar el mismo
event_idal contenedor de servidor junto con el hit de GA4. - Configurar una etiqueta de Conversions API en el contenedor de servidor.
- Confirmar en Events Manager que los eventos del navegador y del servidor se deduplican.
01 Cómo funciona la deduplicación
Meta considera que un evento del navegador y uno del servidor son el mismo cuando vienen del mismo Pixel con el mismo event_name y el mismo event_id, y llegan con menos de 48 horas de diferencia. Se queda con uno y descarta el otro.
- El nombre del evento debe coincidir exactamente, por ejemplo
Purchaseen ambos. - El
event_iddebe ser idéntico en ambos, así que hay que crearlo una sola vez, en el navegador, y compartirlo. - Las cookies
_fbpy_fbcayudan a Meta a asociar el evento del servidor con el visitante. Como el hit de GA4 va a tu propio subdominio, el navegador envía estas cookies con él y la etiqueta de servidor puede leerlas.
02 Crea el ID de evento en el contenedor web
Genera un ID único cuando ocurra el evento y envíalo al dataLayer junto con el evento.
const eventId = crypto.randomUUID();
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
event_id: eventId,
ecommerce: {
transaction_id: 'T-10293',
value: 129.90,
currency: 'EUR',
items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
}
});- 1 En el contenedor web crea una Data Layer Variable con el nombre
event_id. - 2 En tu etiqueta del Meta Pixel (de la Community Template Gallery o de tu configuración actual) pon
Purchasecomo nombre del evento y{{DLV - event_id}}en el campo Event ID. - 3 Abre la etiqueta de evento de GA4 que envía
purchasey añade un parámetro de eventoevent_idcon el valor{{DLV - event_id}}. Ahora el ID viaja al contenedor de servidor dentro del hit de GA4. - 4 Publica el contenedor web cuando el Preview muestre el mismo ID en las dos etiquetas.
03 Añade la etiqueta de Conversions API en el contenedor de servidor
Primero consigue un token de acceso: en Events Manager selecciona tu Pixel, abre Settings, baja hasta Conversions API y haz clic en Generate access token. Guarda el token en secreto: permite enviar eventos a tu Pixel.
- 1 En el contenedor de servidor ve a Templates, luego a Tag Templates, y haz clic en Search Gallery. Añade una plantilla de Conversions API, como la Conversions API Tag de la propia Meta o la de Stape.
- 2 Crea una etiqueta nueva a partir de la plantilla. Introduce tu Pixel ID y el access token.
- 3 Asigna el nombre del evento (
purchasede GA4 aPurchasede Meta) si la plantilla no lo hace por ti. - 4 Asegúrate de que el ID de evento sale del parámetro de evento
event_id. La mayoría de las plantillas lo leen automáticamente. - 5 Activa la etiqueta con un activador Custom en el que Client Name equals
GA4y Event Name equalspurchase.
04 Prueba en Events Manager
- 1 En Events Manager selecciona tu Pixel y abre Test events. Copia el código de prueba (tiene este aspecto:
TEST12345). - 2 Pégalo en el campo Test Event Code de la etiqueta de servidor y publica, o prueba en el Preview del servidor.
- 3 Provoca el evento en tu sitio. Deberían aparecer un evento Browser y otro Server.
- 4 Comprueba que están marcados como deduplicados. Si no lo están, compara el nombre del evento y el
event_idde ambos. - 5 Quita el código de prueba al terminar; si no, los eventos reales seguirán llegando a Test events.
- El evento del Pixel y el hit de GA4 llevan el mismo
event_id. - El Preview del servidor muestra que la etiqueta de Conversions API se activó con una respuesta 2xx.
- Events Manager muestra los eventos del navegador y del servidor deduplicados.
- El código de prueba se ha quitado de la etiqueta en producción.
Preguntas frecuentes
¿Puedo usar solo la Conversions API y prescindir del Pixel?
Puedes, pero Meta recomienda los dos. El Pixel recoge señales del navegador que el servidor no ve, y el servidor cubre a los visitantes cuyo navegador bloquea el Pixel. La deduplicación mantiene el recuento correcto.
¿Por qué Events Manager cuenta mis compras dos veces?
Los dos eventos no comparten el mismo nombre de evento y event_id. Comprueba que ambas etiquetas leen el ID del mismo push al dataLayer y que la etiqueta de servidor recibe el parámetro event_id desde el hit de GA4.
¿De dónde salen `_fbp` y `_fbc` en el servidor?
Los crea el Pixel en el navegador. Como tus hits de GA4 van a un subdominio de tu sitio, el navegador envía estas cookies con ellos y la plantilla de Conversions API las lee de la solicitud.
¿Listo para ponerlo en práctica?
Despliega un contenedor GTM de servidor en tu propio dominio en pocos minutos. El plan Gratis no pide tarjeta.
Crear una cuenta gratuita