WhatsApp Ads y Meta Conversions API 2026: seguimiento sin cookies para Click-to-WhatsApp en España

, Editorial Team

El Meta Pixel pierde datos con los bloqueadores de anuncios y iOS. La Conversions API (CAPI) los recupera desde el servidor. Aprende a implementar los 4 eventos CAPI clave para Click-to-WhatsApp Ads sin depender de una integración de plataforma con interfaz gráfica.

TL;DR

El Meta Pixel pierde entre el 20-40 % de los eventos en España por bloqueadores y restricciones de iOS 14+. La Conversions API (CAPI) recupera esos datos enviando eventos directamente desde tu servidor a Meta. Para Click-to-WhatsApp Ads, los 4 eventos más importantes son: Lead (conversación iniciada), Contact (conversación cualificada), InitiateCheckout (interés confirmado) y Purchase (venta cerrada). La implementación requiere Webhooks + REST API — no existe actualmente una integración CAPI con interfaz gráfica en SendSeven. Este artículo muestra el flujo técnico completo con ejemplos de código.

Este artículo profundiza en el aspecto técnico de la guía pillar sobre Click-to-WhatsApp Ads. Si tu equipo tiene experiencia en backend o tienes un desarrollador, la CAPI es la diferencia entre campañas optimizadas y campañas ciegas.

Por qué el Pixel solo no es suficiente en España

El Meta Pixel es JavaScript que se ejecuta en el navegador del usuario. Tiene tres problemas estructurales que afectan especialmente a España:

  1. Bloqueadores de anuncios y navegadores: uBlock Origin, Brave, Firefox Enhanced Tracking Protection — todos bloquean el Pixel. En España, la tasa de uso de bloqueadores de anuncios es del 25-30 % entre usuarios de escritorio.
  2. iOS 14+ App Tracking Transparency (ATT): Los usuarios de iPhone (alta penetración en España) deben dar permiso explícito. La mayoría lo deniegan. Resultado: ~40 % de eventos de iOS nunca llegan al Pixel.
  3. Conversaciones de WhatsApp no rastreables por Pixel: Una vez que el usuario hace clic en el CTWA y abre WhatsApp, el Pixel no puede rastrear lo que ocurre dentro de la conversación. Cada conversación cualificada, cada cierre de venta — invisible para el algoritmo de Meta.

La Conversions API resuelve los tres problemas enviando los eventos desde tu servidor (no desde el navegador del usuario).

Cómo funciona la Conversions API

Flujo CTWA + Conversions APIUsuarioClic en CTWAWhatsApp CloudMensaje entranteSendSevenWebhook → Tu servidorTu BackendNode / Python / PHPMeta Conversions APIgraph.facebook.com/v19.0/{pixel_id}/eventsEvento enviadoLínea continua = integración nativa. Línea discontinua = implementación DIY (Webhooks + REST API).

El flujo es: (1) usuario hace clic en CTWA → (2) mensaje llega a WhatsApp Cloud → (3) SendSeven reenvía el webhook a tu servidor → (4) tu backend mapea el evento y lo envía a Meta CAPI con los datos del usuario hasheados.

Nota importante: SendSeven no tiene actualmente una integración CAPI con interfaz gráfica que haga este proceso automático. La implementación se realiza vía Webhooks + REST API de SendSeven: recibes los eventos de conversación en tu servidor y envías tú mismo los payloads a Meta. Si no tienes desarrolladores, ve a la sección «Alternativa sin CAPI» al final del artículo.

Los 4 eventos CAPI para CTWA

Estos cuatro eventos cubren el funnel completo desde el primer clic hasta la venta:

Evento CAPICuándo enviarloValor para Meta
LeadPrimer mensaje de un nuevo usuario (webhook message)Optimización de alcance a perfiles similares
ContactConversación cualificada (bot tag + agente asignado)Mejora la calidad de lead en el modelo de optimización
InitiateCheckoutUsuario solicita precio o reserva citaSeñal de intención alta de compra
PurchaseVenta confirmada (CRM o bot etiqueta «cerrado»)Dato de mayor valor: optimiza para ROAS

Puedes añadir el parámetro ctwa_clid (Click ID de WhatsApp Ads) para una atribución más precisa cuando está disponible en el webhook de WhatsApp.

El flujo técnico completo

La implementación tiene cinco pasos. Necesitarás:

  • Cuenta SendSeven con Webhooks configurados (guía de configuración)
  • Un servidor backend (Node.js, Python, PHP o similar)
  • Un Pixel de Meta con CAPI activado (en Meta Events Manager)
  • Un token de acceso de CAPI (generado en Meta Business Settings)

Paso 1: Recibir eventos CTWA via Webhook

Configura en SendSeven la URL de tu webhook para recibir los eventos message entrantes. El payload incluye el número de teléfono del usuario y, si el mensaje viene de un CTWA, el campo referral con el ID del anuncio:

// Payload webhook de SendSeven (simplificado)
{
  "event": "message",
  "contact": {
    "phone": "+34601234567",
    "name": "María García"
  },
  "message": {
    "text": "Hola, vi vuestro anuncio de fontanería...",
    "referral": {
      "source_id": "120202303456789",  // ID del anuncio CTWA
      "source_type": "ad",
      "ctwa_clid": "ARAkLkA8yng..."  // Click ID para atribución
    }
  }
}

Paso 2: Hash SHA-256 de los datos del usuario

Meta requiere que los datos personales (teléfono, email, nombre) se envíen hasheados con SHA-256. Nunca se envían en texto claro:

const crypto = require('crypto');

function hashData(value) {
  // Normalizar: minúsculas, sin espacios
  const normalized = value.toLowerCase().trim();
  return crypto.createHash('sha256').update(normalized).digest('hex');
}

// Teléfono: formato E.164, sin espacios ni guiones
const hashedPhone = hashData('+34601234567');
// 'a3b2c1...' (64 caracteres hex)

Paso 3: Enviar el evento a Meta CAPI

Construye el payload del evento y envíalo al endpoint de la Graph API de Meta:

const PIXEL_ID = 'TU_PIXEL_ID';
const CAPI_TOKEN = 'TU_TOKEN_CAPI';

async function sendCapiEvent(eventName, userData, customData = {}) {
  const payload = {
    data: [{
      event_name: eventName,          // 'Lead', 'Contact', etc.
      event_time: Math.floor(Date.now() / 1000),
      action_source: 'business_messaging',
      user_data: {
        ph: [hashData(userData.phone)],
        client_ip_address: userData.ip || null,
        client_user_agent: userData.userAgent || null,
      },
      custom_data: customData,
      // Si está disponible en el webhook de CTWA:
      ...(userData.ctwaClid && { referrer_url: userData.ctwaClid })
    }]
  };

  const url = `https://graph.facebook.com/v19.0/${PIXEL_ID}/events`;
  const response = await fetch(url, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      ...payload,
      access_token: CAPI_TOKEN
    })
  });
  return response.json();
}

// Ejemplo de uso al recibir webhook de SendSeven:
app.post('/webhook/sendseven', async (req, res) => {
  const { contact, message } = req.body;
  if (message.referral?.source_type === 'ad') {
    await sendCapiEvent('Lead', {
      phone: contact.phone,
      ctwaClid: message.referral.ctwa_clid
    });
  }
  res.status(200).send('OK');
});

Paso 4: Deduplicación Pixel + CAPI

Si usas tanto el Pixel como la CAPI para el mismo evento, Meta necesita deduplicarlos. Añade un event_id idéntico en ambos:

// Genera un ID único por evento
const eventId = `ctwa_lead_${contact.phone}_${Date.now()}`;

// En el Pixel (lado cliente, si aplica):
fbq('track', 'Lead', {}, { eventID: eventId });

// En la CAPI (lado servidor):
payload.data[0].event_id = eventId;  // mismo valor

Paso 5: Verificar con Meta Test Events

Antes de activar la campaña, verifica que los eventos llegan correctamente usando la herramienta Test Events de Meta Events Manager:

  1. Ve a Meta Events Manager → Tu Pixel → Test Events
  2. Añade el parámetro test_event_code al payload de prueba
  3. Simula un webhook de SendSeven y comprueba que el evento aparece en la interfaz
  4. Verifica que los datos de usuario estén hasheados (deben mostrar «Hashed» en la columna de datos)

Implementa CTWA + CAPI con SendSeven

Webhooks en tiempo real, REST API documentada, entorno sandbox para pruebas. Made in Germany.

Prueba gratuita 14 días  Guía de configuración

Alternativa: CTWA sin CAPI (para no desarrolladores)

Si no tienes un desarrollador backend, puedes seguir ejecutando CTWA sin la Conversions API. Perderás algo de señal de optimización, pero las campañas seguirán siendo efectivas con el targeting manual:

  • Custom Audiences de WhatsApp: Meta puede crear audiencias de retargeting de personas que han interactuado con tu número de WhatsApp Business (sin necesidad de CAPI).
  • Optimización manual: Usa el informe de conversaciones de SendSeven para identificar qué creatividades generan más leads cualificados y ajusta el presupuesto manualmente.
  • Pixel básico en tu web: Si tienes una página de aterrizaje antes del CTWA, el Pixel puede rastrear visitas y crear audiencias similares.

Para la configuración técnica del bot y las respuestas automáticas, consulte la guía Crear un CTWA en 7 pasos.

FAQ

¿SendSeven tiene una integración nativa con Meta Conversions API?

No actualmente. SendSeven ofrece Webhooks en tiempo real y una API REST completa que te permiten construir la integración CAPI en tu propio backend. No existe un botón «Activar CAPI» con interfaz gráfica en la plataforma. Si esto es un requisito crítico para ti, contáctanos — es un producto que estamos evaluando para una versión futura.

¿Qué es el ctwa_clid y por qué es importante?

El ctwa_clid (Click ID de WhatsApp Ads) es un identificador único que Meta incluye en el payload del webhook cuando el mensaje proviene de un clic en un anuncio CTWA. Usarlo en el payload CAPI mejora significativamente la atribución: Meta puede vincular directamente la conversión al anuncio específico sin depender de la coincidencia de datos del usuario.

¿Es necesario el hash SHA-256? ¿Puedo enviar el teléfono en texto claro?

No, nunca en texto claro. Los requisitos de Meta CAPI exigen que todos los datos identificativos del usuario estén hasheados con SHA-256 antes del envío. Enviar datos en claro viola los términos de servicio de Meta y las regulaciones del RGPD.

¿Cuántos eventos puedo enviar por solicitud a la CAPI?

Meta acepta hasta 1.000 eventos por solicitud en el endpoint /events. Para campañas de alto volumen, considera el envío en batches en lugar de uno por uno.

¿La CAPI afecta al coste de las campañas?

Indirectamente, sí. Al proporcionar mejor señal de conversión, el algoritmo de Meta puede optimizar hacia usuarios con mayor probabilidad de convertir — lo que típicamente reduce el CPL un 10-25 % a lo largo de 4-8 semanas de aprendizaje.

Artículos relacionados: