Configuración Avanzada del Evento Purchase
El evento Purchase es la señal más valiosa que puedes enviar a Meta — le dice a Facebook qué visitantes realmente compraron algo y a qué valor. Pixel Plus te da un control preciso sobre cuándo se activa este evento: solo para pedidos pagados, después de confirmar una transferencia bancaria, o incluso desde el back office días después de que el cliente realizara el pedido. Esta guía explica cada configuración y cómo funcionan juntas.
⚙️ Configuración recomendada para seguimiento solo de pedidos pagados
Si tu objetivo es enviar eventos Purchase solo para pedidos pagados o confirmados, usa esta configuración:
- Activa Rastrear solo pedidos validados (
FCTP_PURCHASE_VALID_ONLY) - Añade estados claramente inválidos a Estados de pedido a excluir (
FCTP_ORDER_STATUS_EXCLUDE) — por ejemplo, Error de pago y Cancelado - Establece un Límite de validación para pedidos no validados de 7 días (
FCTP_ORDER_DELAY_LIMIT_DAYS) — el valor predeterminado es correcto - Activa Usar cookies para prevenir duplicados de conversión (
FCTP_COOKIE_CONTROL) - Deja Forzar modo básico del evento Purchase desmarcado para todos los módulos de pago, salvo que un método de pago específico no esté siendo rastreado
Con esta configuración, Pixel Plus rastrea solo los pedidos que alcanzan un estado pagado o validado, e ignora los pedidos pendientes, fallidos o incompletos.
🔄 Cómo funciona el seguimiento de pedidos
Pixel Plus prepara el evento Purchase durante el hook actionValidateOrder de PrestaShop — el momento en que se crea un pedido. Lo que ocurre después depende de tu configuración:
| Configuración | Clave | Predeterminado |
|---|---|---|
| Rastrear solo pedidos validados | FCTP_PURCHASE_VALID_ONLY | Desactivado |
| Estados de pedido a excluir | FCTP_ORDER_STATUS_EXCLUDE | Ninguno |
| Límite de validación para pedidos no validados | FCTP_ORDER_DELAY_LIMIT_DAYS | 7 días |
| Forzar modo básico (por módulo de pago) | FCTP_FORCE_BASIC_MODE_LIST | Ninguno |
| Usar cookies para prevenir duplicados | FCTP_COOKIE_CONTROL | Desactivado |
No todos los métodos de pago funcionan igual. Los pagos con tarjeta validan el pedido inmediatamente; las transferencias bancarias crean el pedido primero y confirman el pago después. Estos ajustes te permiten gestionar ambos correctamente.
✅ Rastrear solo pedidos validados
Clave de configuración: FCTP_PURCHASE_VALID_ONLY
Esta configuración controla si Pixel Plus espera a que un pedido esté confirmado antes de enviar el evento Purchase.
"Validado" significa que el flag interno logable de PrestaShop en el estado del pedido es true. Estados como "Pago aceptado" son logable; estados como "En espera de transferencia bancaria" no lo son.
Cuando está activado: Solo los pedidos cuyo estado inicial es logable se rastrean inmediatamente. Los pedidos no logable se guardan en una lista de espera con el contexto del navegador del cliente (IP, user agent, _fbp, _fbc, URL). Cuando el comerciante cambia el pedido a un estado logable, Pixel Plus envía el evento Purchase a través de CAPI usando el contexto guardado.
Cuando está desactivado: Todos los pedidos se rastrean inmediatamente, excepto los que estén en la lista de estados excluidos.
⏳ Métodos de pago diferido
Transferencia bancaria, cheque, pago contra reembolso y algunos módulos de pago personalizados crean un pedido antes de confirmar el pago.
Cuando Rastrear solo pedidos validados está activado y se usa uno de estos métodos, el pedido no se rastrea inmediatamente. En su lugar, Pixel Plus lo guarda en una lista de espera (FCTP_ORDER_DELAYED_LIST). Cuando el comerciante marca el pedido como pagado, se activa el hook actionOrderStatusPostUpdate y Pixel Plus envía el evento Purchase a través de CAPI usando el contexto del navegador guardado.
Cuando un pedido se valida desde el back office, solo se puede enviar el evento de la API de Conversiones — el Pixel del navegador requiere que el navegador del cliente esté en la página. Pixel Plus inyecta el contexto del navegador guardado en la solicitud CAPI para que el evento se atribuya correctamente.
📅 Límite de validación para pedidos no validados
Clave de configuración: FCTP_ORDER_DELAY_LIMIT_DAYS · Predeterminado: 7 días
Pixel Plus mantiene los eventos Purchase pendientes durante un tiempo limitado. Si un pedido se valida después de este límite, la entrada pendiente se descarta y se registra una advertencia: "El pedido X no se enviará a través del pixel porque se ha superado el máximo de días (7)".
Ejemplo: Un cliente realiza un pedido por transferencia bancaria el lunes. El jueves, el comerciante lo marca como pagado. Pixel Plus encuentra el pedido en la lista de espera, confirma que está dentro del límite de 7 días y envía el evento Purchase a través de CAPI.
🚫 Estados de pedido a excluir
Clave de configuración: FCTP_ORDER_STATUS_EXCLUDE
Bloquea estados de pedido específicos para que no generen un evento Purchase, independientemente de la configuración de validación.
Estados recomendados para añadir:
- Error de pago
- Cancelado
- Pago fallido
- Reembolsado (si no quieres que los reembolsos cuenten como compras)
🔧 Forzar modo básico del evento Purchase
Clave de configuración: FCTP_FORCE_BASIC_MODE_LIST (por módulo de pago)
Por defecto, Pixel Plus activa el evento Purchase durante actionValidateOrder — la creación del pedido en el servidor. Este es el enfoque más fiable.
El modo básico es una alternativa para módulos de pago que usan un flujo de checkout no estándar. Cuando está activado para un módulo de pago específico:
- Durante
actionValidateOrder: si la URL actual no es la página de confirmación de pedido, el hook no hace nada - Durante
displayOrderConfirmation: Pixel Plus activa el evento Purchase del Pixel del navegador cuando el cliente llega a la página de confirmación
Usa el modo básico solo cuando un método de pago no se rastrea correctamente con la lógica estándar de Pixel Plus. Cuando actives el modo básico para un módulo, también activa Usar cookies para prevenir duplicados de conversión — de lo contrario, recargar la página puede activar un evento Purchase duplicado.
🍪 Usar cookies para prevenir duplicados de conversión
Clave de configuración: FCTP_COOKIE_CONTROL
Añade una verificación en el navegador antes de activar el evento Purchase. Pixel Plus establece una cookie llamada pp_purchaseSent con el ID del pedido como valor. Si esa cookie ya existe para el pedido actual, el evento no se envía de nuevo.
Esto protege contra eventos Purchase duplicados del Pixel del navegador cuando:
- La página de confirmación de pedido se recarga
- El modo básico está activado para un módulo de pago
- Una capa de caché sirve incorrectamente la página de confirmación desde caché
Cloudflare generalmente no almacena en caché las páginas PHP dinámicas. La protección contra duplicados por cookie puede activarse igualmente como precaución adicional.
💡 Ejemplos
Pago con tarjeta (flujo estándar)
El cliente paga con tarjeta. El pedido se crea y alcanza inmediatamente un estado logable (pagado). Pixel Plus activa el evento Purchase de CAPI inmediatamente y pone en cola el evento del Pixel del navegador para la página de confirmación.
Transferencia bancaria con "Rastrear solo pedidos validados" activado
El cliente elige transferencia bancaria. El pedido se crea como "En espera de transferencia bancaria" (no logable). Pixel Plus guarda el pedido en FCTP_ORDER_DELAYED_LIST junto con el contexto del navegador del cliente. Tres días después, el comerciante marca el pago como recibido y Pixel Plus envía el evento Purchase vía CAPI.
Error de pago
El cliente intenta pagar pero el pago falla. El pedido recibe el estado "Error de pago". Si este estado está en la lista de excluidos (o si está activado el seguimiento solo de validados), no se envía ningún evento Purchase.
¿'Rastrear solo pedidos validados' significa que solo se envían pedidos pagados?
Sí. Pixel Plus usa el flag logable de PrestaShop en los estados de pedido para determinar si un pedido está confirmado. Asegúrate de que tus estados de pedido estén correctamente configurados — los estados que consideras pagados deben tener logable = true en PrestaShop.
¿Pueden rastrearse pedidos no pagados?
Sí, en dos casos: si 'Rastrear solo pedidos validados' está desactivado y el estado del pedido no está en la lista de excluidos, o si un pedido diferido (transferencia bancaria, etc.) es posteriormente validado por el comerciante dentro del límite de tiempo permitido.
¿Debo excluir los estados no pagados manualmente?
Si 'Rastrear solo pedidos validados' está activado, los estados no logable ya están bloqueados. Excluir estados claramente inválidos como Error de pago o Cancelado sigue siendo útil como capa de seguridad adicional. Si el seguimiento de validados está desactivado, debes excluir manualmente cada estado que no quieras rastrear.
¿Debo activar la protección contra duplicados por cookie?
Sí, en la mayoría de los casos. Es especialmente recomendable cuando el modo básico está activado para cualquier módulo de pago. Añade una capa secundaria contra eventos duplicados del Pixel del navegador sin ningún inconveniente.
¿Cuándo debo activar el modo básico para un módulo de pago?
Solo cuando ese módulo de pago no se está rastreando correctamente con la lógica estándar de Pixel Plus. Si lo activas, también activa Usar cookies para prevenir duplicados de conversión.
¿Qué ocurre si un pedido diferido no se valida dentro del límite de tiempo?
Pixel Plus descarta la entrada pendiente y registra una advertencia en el sistema de logs de PrestaShop. No se envía ningún evento Purchase para ese pedido.
✅ Lista de Verificación Final
- Decide si rastrear solo pedidos validados o todos los pedidos — activa
FCTP_PURCHASE_VALID_ONLYen consecuencia - Añade estados inválidos (Error de pago, Cancelado, Reembolsado) a Estados de pedido a excluir
- Establece el límite de validación según tu ventana habitual de confirmación de pago (7 días por defecto)
- Activa Usar cookies para prevenir duplicados de conversión (
FCTP_COOKIE_CONTROL) - Deja Forzar modo básico desmarcado salvo que un módulo de pago específico no se rastree correctamente
- Si activas el modo básico para algún módulo de pago, también activa la protección contra duplicados por cookie