Qué vas a lograr
Un setup donde las conversiones críticas (compras, leads, registros) se envían a Meta desde tu servidor, independientemente de si el usuario tiene iOS, ad blockers, o cookies rechazadas. Esto mejora el match rate de conversiones, la optimización de campañas Advantage+ y el ROAS real vs reportado.
Requisitos previos
- Cuenta Meta Business Manager verificada con cuenta publicitaria activa
- Meta Pixel instalado en tu sitio (CAPI complementa, no reemplaza al Pixel)
- Servidor web con soporte de lenguaje backend: PHP, Node.js, Python o Ruby
- Acceso a los datos de conversión en tu backend (ej. cuando se procesa un pedido)
Paso 1 — Crear Dataset y obtener Access Token
- Meta Business Manager → Events Manager
- Selecciona tu Pixel existente → Settings → Conversions API
- Genera Access Token: Generate Access Token (token permanente, no expira)
- Copia el Access Token y guárdalo como variable de entorno en tu servidor (nunca en el código)
- Copia también tu Pixel ID (Dataset ID) visible en Events Manager
Paso 2 — Configurar envío de eventos desde PHP
<?php
// Ejemplo: evento Purchase al completar pedido
$pixel_id = getenv('META_PIXEL_ID');
$access_token = getenv('META_ACCESS_TOKEN');
$data = [
'data' => [[
'event_name' => 'Purchase',
'event_time' => time(),
'action_source' => 'website',
'event_id' => uniqid('purchase_'), // Para deduplicacion con Pixel
'user_data' => [
'em' => hash('sha256', strtolower(trim($customer_email))),
'ph' => hash('sha256', $customer_phone),
'client_ip_address' => $_SERVER['REMOTE_ADDR'],
],
'custom_data' => [
'currency' => 'MXN',
'value' => floatval($order_total),
'order_id' => $order_id,
]
]]
];
$url = "https://graph.facebook.com/v19.0/{$pixel_id}/events?access_token={$access_token}";
// Enviar via curl o file_get_contents
?>Paso 3 — Implementar deduplicación
- Cuando tanto el Pixel (browser) como CAPI (server) envían el mismo evento, Meta los deduplica si tienen el mismo event_id
- En el Pixel (via GTM o gtag.js): agrega eventID al disparo del evento: fbq con parametro eventID
- En CAPI: usa el mismo event_id en el campo event_id del envío al servidor
- El event_id debe ser único por evento pero idéntico entre el Pixel y CAPI para la misma conversión
- Verifica en Events Manager: los eventos deben mostrar "1 out of 2 matched" indicando deduplicación exitosa
Paso 4 — Configurar via GTM Server-Side (alternativa sin código)
- Si ya tienes GTM Server-Side configurado (ver tutorial configurar-server-side-tracking-ga4): agrega tag de Meta Conversions API en el server container
- Meta tiene template oficial en el GTM Server-Side Template Gallery
- Configura con tu Pixel ID y Access Token como variables de GTM
- Trigger: GA4 client events que quieras enviar también a Meta CAPI
Verificación y troubleshooting
- Events Manager → Test Events: pega tu URL y realiza una conversión de prueba para verificar que el evento llega
- Match rate bajo (menor al 70%): mejorar los user_data enviados. Incluir email, teléfono e IP mejora significativamente el match rate
- Eventos duplicados sin deduplicación: verifica que event_id es idéntico entre Pixel y CAPI
- Error 400 Invalid parameter: el email y teléfono deben estar hasheados con SHA-256 antes de enviar
Próximos pasos y optimización
- Advanced Matching: incluye tantos campos de user_data como puedas (email, teléfono, nombre, ciudad, código postal) para maximizar el match rate
- Custom Events: envía eventos custom como ViewContent y Lead además de Purchase para datos más ricos de optimización
- Verification: Meta ofrece herramienta de verificación de CAPI en Events Manager para confirmar configuración correcta
En Weblindrome ofrecemos Google Ads y Meta Ads para ayudarte con esta y otras implementaciones. Solicita una cotización personalizada.