Ventas que pierden su clic: el fbc caducado o modificado en la API de conversiones
El fbc cambia con cada clic en un anuncio y distingue mayúsculas. Guardado una vez o normalizado, la conversión viaja con un clic equivocado. Cómo enviarlo bien.
- El mismo usuario hace clic en dos anuncios, en días distintos. Cada clic trae su propio fbclid en la URL.
- La cookie _fbc se actualiza y guarda el clic más reciente, con el fbclid tal como llegó.
- Pero el servidor envía un fbc guardado con el primer clic, o el valor actual pasado a minúsculas.
- La causa: el valor se guarda una vez en el perfil o se normaliza como si fuera un email.
- La solución: leer la cookie _fbc en cada evento y enviarla exactamente como está.
- Verifícalo: el fbc de cada evento es idéntico a la cookie _fbc de esa visita.
Cuando alguien hace clic en un anuncio de Meta, la URL de destino llega con un parámetro fbclid, el identificador de ese clic. El píxel lo guarda en una cookie propia del sitio, _fbc, y la API de conversiones lo envía en el campo fbc de user_data. Es la pieza que ata una conversión al clic que la provocó. Por eso no basta con enviarlo: tiene que ser el valor actual y exactamente el que se recibió.
Cómo se ve un fbc caducado o modificado
El mismo usuario hace clic en el anuncio A el 2 de octubre y en el anuncio B el 19. La cookie _fbc ya guarda el clic del anuncio B. Pero el evento Purchase que envía el servidor lleva:
- el
fbcdel clic del 2 de octubre, guardado en el perfil del cliente la primera vez que se vio; o - el
fbcactual, pero en minúsculas:fb.1.1792368000000.pazxh0bgn…en lugar defb.1.1792368000000.PAZXh0bgN….
En el primer caso, la conversión viaja con un clic que no es el último. En el segundo, con un fbclid que no corresponde a ningún clic. La API no devuelve ningún error: el problema solo se nota en la atribución y en la calidad de coincidencia.
Por qué el fbc llega caducado o alterado
El formato de fbc es fb.<índice de subdominio>.<momento de creación en milisegundos>.<fbclid>. Dos reglas de la documentación de Meta lo explican casi todo: el valor cambia a lo largo de distintas sesiones, por lo que hay que enviar siempre el más reciente, y el fbclid distingue mayúsculas y minúsculas, así que no se puede modificar. Las causas habituales:
- El
fbcse guarda una vez y se reutiliza. El backend lo asocia al cliente en su primera visita, o lo guarda en el CRM, y lo envía con todos los eventos posteriores, aunque haya habido clics nuevos. - Se normaliza como si fuera un dato de contacto. El mismo código que pasa el email a minúsculas antes del hash se aplica también al
fbc, o se hace untoLowerCase()sobre la URL entera antes de leer elfbclid. - Se le aplica hash. El
fbces uno de los campos que van sin hash. - Solo se lee en la página de confirmación. Si el
fbclidllegó en la primera página y nadie lo guardó en la cookie, en elPurchaseya no está. Meta recomienda capturar las cookies pronto, no solo en los eventos finales del embudo.
Cómo encontrar un fbc caducado o modificado
- Haz clic en un anuncio (o abre la web con
?fbclid=y un valor de prueba). En las herramientas de desarrollo, pestaña Aplicación → Cookies, copia el valor de_fbc. - Completa una conversión y busca el
fbcque envía el servidor, en sus logs o en la vista previa de GTM server-side. Debe ser idéntico, carácter a carácter. - Repite con un segundo clic: la cookie cambia; comprueba que el
fbcenviado también cambia. - Busca en el código del servidor dónde se lee el
fbc: si sale de la base de datos del cliente en lugar de la cookie de la petición, o pasa por una normalización, ahí está la causa.
Cómo enviar el fbc correcto
- Lee la cookie
_fbcde la petición en cada evento y envíala enfbctal cual, sin cambiar mayúsculas ni aplicar hash. Meta recomienda enviarfbccon cada evento. - Si no hay cookie (por ejemplo, porque no hay píxel en la web) pero la URL de la petición trae
fbclid, construye el valor:fb.1.<momento en milisegundos en que viste el fbclid>.<fbclid sin tocar>. - Si guardas el valor en el servidor, actualízalo cada vez que llegue un
fbclidnuevo y envía siempre el más reciente. Meta propone también escribir tú la cookie_fbc, con 90 días de caducidad, cuando no existe o cuando elfbclidrecibido es distinto del que tiene. - La librería Parameter Builder de Meta resuelve la lectura y el formato de
fbcyfbpen el navegador y en varios lenguajes de servidor. Si la usas, los valores llevan un sufijo añadido por la librería: no lo quites.
Documentación de Meta sobre los parámetros fbp y fbc (en inglés).
Cómo comprobar que el fbc es el del último clic
- En una conversión de prueba, el
fbcenviado es idéntico a la cookie_fbcde esa visita, mayúsculas incluidas. - Tras un segundo clic con otro
fbclid, el siguiente evento lleva el valor nuevo. - En una muestra de eventos, los
fbcempiezan porfb., conservan las mayúsculas delfbclidy ninguno tiene aspecto de hash.
Las fechas, marcas de tiempo y valores de
fbcliddel ejemplo son ilustrativos y están acortados.