DataFirefly Server-Side — Guía completa
Instalar, conectar y explotar el conector server-side gratuito para PrestaShop 8 y 9: credenciales, evento de prueba, consentimiento y resolución de problemas.
Presentación
DataFirefly Server-Side es el conector PrestaShop gratuito del servicio DataFirefly Server-Side Tracking. Con cada pedido validado, el módulo construye un evento de compra completo y lo envía de servidor a servidor, firmado con HMAC-SHA256, hacia el dispatcher DataFirefly alojado en la UE (Alemania). El servicio entrega después el evento a sus destinos configurados: Meta Conversions API, GA4 Measurement Protocol, TikTok Events API, Pinterest Conversions API y Google Ads.
El reparto de roles es simple: el módulo capta y firma, el servicio ingiere, deduplica y entrega. El módulo es gratuito; la entrega requiere una suscripción al servicio (Starter desde 39 €/mes).
Un incidente de tracking jamás romperá su checkout: el módulo es fail-safe por diseño (timeouts de 2 s / 4 s, errores registrados en los logs de PrestaShop, ninguna excepción llega al embudo de pedido).
Requisitos
- PrestaShop 1.7.6 o superior, 8.x o 9.x
- PHP 7.4 o superior, con la extensión cURL (presente en casi todos los alojamientos)
- Una cuenta DataFirefly Server-Side Tracking activa — suscríbase en server-side.datafirefly.com
- Recomendado: nuestro módulo DataFirefly Cookie Manager (banner tarteaucitron conforme con Google Consent Mode v2) para la puerta de consentimiento nativa
Instalación
- Descargue el ZIP del módulo desde su cuenta DataFirefly.
- En el back office de PrestaShop, abra Módulos > Gestor de módulos > Subir un módulo y suelte el archivo
datafirefly_serverside.zip. - Haga clic en Instalar. El módulo se registra en el hook de validación de pedido; no se necesitan overrides ni cambios en el tema.
Tras la instalación, el tracking está desactivado y la exigencia de consentimiento está activada: nada se envía hasta que configure y active el módulo.
Obtener sus credenciales
- Inicie sesión en su espacio de cliente DataFirefly (o suscríbase si aún no lo ha hecho).
- Abra la sección Conectar su tienda de su sitio.
- Copie los tres valores mostrados: el Tenant ID (con el formato
shop_sutienda_xxxx), el secreto HMAC (clave de firma de 64 caracteres) y el endpoint de eventos.
El secreto HMAC es una clave privada: no la comparta ni la pegue en ningún sitio que no sea la configuración del módulo. Si se filtra, regenérela desde su espacio de cliente.
Configuración
Abra Módulos > Gestor de módulos > DataFirefly Server-Side > Configurar. El formulario tiene cinco ajustes:
- Activar el tracking — el interruptor principal. Mientras esté en No, no se envía ningún evento.
- Tenant ID — el identificador de su tienda en el servicio, copiado desde su espacio de cliente.
- Secreto HMAC — la clave de firma de 64 caracteres. Cada evento se firma con esta clave antes del envío.
- Events endpoint — la URL de ingesta del dispatcher. El valor por defecto es correcto en casi todos los casos; modifíquelo solo si su espacio de cliente le indica otro.
- Exigir consentimiento — activado por defecto. Cuando está activo, la compra solo se transmite si el visitante ha otorgado consentimiento de marketing (véase más abajo). Desactívelo únicamente si gestiona el consentimiento en una capa anterior con otro sistema.
Guarde y pase a la prueba.
Probar la conexión
Haga clic en Enviar evento de prueba en el formulario de configuración. El módulo envía un page_view sintético, firmado, al dispatcher — sin tocar los pedidos reales.
- «Evento de prueba entregado» (HTTP 200): su Tenant ID, su secreto y su endpoint son correctos. Su tienda está conectada, aunque todavía no haya destinos configurados en el servicio.
- «Evento de prueba fallido»: el código HTTP y el mensaje del dispatcher se muestran para el diagnóstico (véase Resolución de problemas).
El consentimiento (RGPD)
Cuando Exigir consentimiento está activo, el módulo lee — directamente del lado del servidor, en el momento de la validación del pedido — la cookie de consentimiento en formato tarteaucitron depositada por nuestro módulo DataFirefly Cookie Manager (Google Consent Mode v2). El nombre de la cookie se toma automáticamente de la configuración del Cookie Manager (por defecto tarteaucitron).
La compra se transmite si el visitante ha consentido al menos un servicio publicitario: Meta Pixel, Google Ads, TikTok Pixel o LinkedIn Insight. El enfoque es privacy-first: cookie ausente o ilegible = sin envío.
Es la combinación recomendada en PrestaShop: el Cookie Manager gestiona el banner, el Consent Mode v2 y la prueba del consentimiento; este módulo aplica la misma decisión al tracking server-side. Una sola fuente de verdad para toda la cadena.
Si gestiona el consentimiento con otro sistema, desactive Exigir consentimiento y aplique su propia lógica en la capa anterior: será entonces su sistema el que garantice que ningún pedido proviene de un visitante que no haya consentido.
Qué se envía
Con cada pedido validado, el módulo construye un evento purchase con:
- Transacción: importe pagado, divisa ISO, referencia del pedido, productos (id, nombre, cantidad, precio unitario con impuestos) y número total de artículos.
- Datos de coincidencia: e-mail e id de cliente, teléfono, nombre, apellidos, ciudad, código postal y país ISO de la dirección de facturación (con la dirección de entrega como respaldo).
- Identificadores del navegador capturados en el momento del pedido:
_fbpy_fbc(Meta),_ttp(TikTok) y el client id de GA4 extraído de la cookie_ga.
Cada campo opcional solo se añade si está presente y es válido: el dispatcher valida estrictamente, y un evento bien formado es un evento entregado. El identificador del evento está ligado al pedido (order_ID), de forma idempotente — es el que permite la deduplicación cliente + servidor en las plataformas si también utiliza etiquetas de navegador.
En el transporte, cada petición lleva tres cabeceras: el tenant, la marca de tiempo (verificada en una ventana anti-replay de 300 segundos) y la firma HMAC-SHA256 del cuerpo exacto de la petición. Sus credenciales de Meta, GA4, TikTok, Pinterest y Google Ads permanecen en su espacio DataFirefly: ni la tienda ni el navegador las ven.
Supervisar sus eventos en el servicio
En su espacio de cliente, el Event Inspector le muestra los eventos uno a uno, con los datos personales enmascarados (conforme al RGPD). Ahí verifica lo que realmente se entrega a cada destino. La disponibilidad de las plataformas puede consultarse en cualquier momento en la página de estado pública.
Resolución de problemas
El evento de prueba falla con «not_configured»
Uno de los tres campos (Tenant ID, secreto, endpoint) está vacío. Vuelva a copiar los tres valores desde su espacio de cliente y guarde antes de repetir la prueba.
El evento de prueba falla con HTTP 401 o 403
La firma es rechazada: el secreto HMAC no corresponde al tenant, o el Tenant ID es erróneo. Vuelva a copiar ambos valores sin espacios ni saltos de línea. Compruebe también que el reloj de su servidor es correcto (NTP): un desfase superior a 300 segundos hace fallar la ventana anti-replay.
El evento de prueba falla con «curl: …» o HTTP 0
Su servidor no consigue alcanzar el dispatcher: cortafuegos saliente, DNS o proxy. Autorice las conexiones HTTPS salientes hacia el endpoint indicado en su espacio de cliente.
La prueba pasa, pero no llega ningún pedido
- Compruebe que Activar el tracking está en Sí.
- Si Exigir consentimiento está activo, solo se transmiten los pedidos de visitantes que hayan consentido un servicio publicitario. Realice un pedido de prueba tras aceptar las cookies publicitarias en el banner.
- Consulte Parámetros avanzados > Logs en el back office: cada fallo de entrega queda registrado ahí con el código HTTP y el id del pedido (prefijo
[DataFirefly SS]).
Las conversiones se cuentan dos veces
Imposible del lado del módulo: el identificador del evento es idempotente por pedido. Si además utiliza etiquetas de navegador fuera del servicio, asegúrese de que envían el mismo identificador de evento (order_ID) para que las plataformas dedupliquen.
Desinstalación
La desinstalación elimina toda la configuración del módulo (tenant, secreto, endpoint, ajustes). No se crea ninguna tabla en la base de datos: el módulo no almacena nada más que su configuración.