Descripción
WordPress y WooCommerce · Gratuito · v0.1.0
Registra compras confirmadas de WooCommerce en Google Analytics 4 con Measurement Protocol, la API de recopilación de eventos de GA4.
¿Google Analytics tiene API para medir compras?
Sí. Este plugin utiliza Measurement Protocol para enviar el evento purchase desde WordPress cuando WooCommerce confirma el pago. La etiqueta web aporta los identificadores del visitante y la sesión. La API complementa esa medición y no necesita que el cliente regrese desde PayPal o la pasarela para ejecutar el envío.
No utiliza Data Manager API. Esa conexión corresponde al módulo de Google Ads. GA4 Measurement Protocol y Google Ads son destinos diferentes: no actives varias fuentes de la misma compra como conversiones principales sin definir cómo evitarás duplicados.
Cómo conectar GA4 con WordPress
- Descarga e instala el ZIP desde Plugins → Añadir plugin → Subir plugin. Abre Ajustes → NDC GA4.
- En GA4, selecciona el flujo web de la tienda y copia su ID G-…. Dentro del mismo flujo crea un secreto de Measurement Protocol. Pégalo en el campo privado del plugin.
- Conserva la etiqueta GA4 existente. Si la tienda todavía no tiene etiqueta, puedes activar la instalación opcional de este plugin. Usa una sola instalación por flujo.
- Selecciona el banner NDC Medición o conecta tu propia CMP con NDCGA4.setConsent. Con analítica denegada no se guardan identificadores ni se envía la compra.
- Revisa el formato transaction_id. Usa un ID estable y compartido con la integración anterior si vas a compararlas. Por defecto: NDC-{order_id}.
- Activa el plugin en Validación y completa un pedido de prueba. El panel debe mostrar validated; ese evento no se incorpora a los informes.
- Retira el envío purchase duplicado de otro plugin o GTM, cambia a Producción y realiza un pedido nuevo. Mantén el resto de la etiqueta web.
- Comprueba el pedido, la cola, el importe y la recepción en GA4. Configura WP-Cron desde tu alojamiento para evitar que la cola dependa del tráfico.
Integrar otra CMP
Comunica la elección real en cada visita y cuando cambie. El ejemplo siguiente supone permiso analítico y publicidad denegada:
window.NDCGA4.setConsent({
analytics_storage: 'granted',
ad_user_data: 'denied',
ad_personalization: 'denied'
});
Al retirar el permiso utiliza denied en las tres señales. Antes de cargar el script puedes definir window.NDCGA4InitialConsent. No establezcas granted por defecto sin una elección válida.
Si utilizas Google Tag Manager
El módulo solicita los identificadores mediante gtag('get', ...). Si tu implementación no expone esa función, proporciona el client_id y session_id reales en window.NDCGA4Identifiers y dispara el evento ndc:ga4-identifiers. No se inventan identificadores ni se analizan formatos privados de cookies.
Qué datos envía a GA4
| Dato | Comportamiento |
|---|---|
| purchase y transaction_id | Una compra por pedido pagado. Recargar la página o repetir el hook no crea otro registro. |
| value e items | Productos después de descuentos, sin impuestos ni envío. El precio unitario refleja el descuento. Los recargos adicionales no se incluyen. |
| tax, shipping y currency | Impuestos y transporte por separado, en la moneda del pedido. |
| client_id y session_id | Identificadores reales de la etiqueta, guardados solo con permiso analítico. |
| timestamp_micros | Fecha real de pago. No se mueve la fecha para forzar la aceptación. |
El módulo no transmite emails, teléfonos, nombres, direcciones ni la IP del servidor. Tampoco fabrica tiempo de interacción: la etiqueta web debe medir la navegación y el engagement.
Pagos exprés, PayPal y financiación
Funciona mediante los hooks de WooCommerce y sus estados pagados, con captura del contexto en checkout clásico y bloques y CRUD de pedidos compatible con HPOS. La pasarela debe notificar el pago y conservar el pedido. Si un checkout exprés evita también la captura de contexto, requiere una adaptación y prueba específica.
Una financiación confirmada se registra como una compra con el importe de productos del pedido, no como una compra por cada cuota. Transferencia, cheque y contra reembolso requieren estado completado en esta versión. Los reembolsos posteriores al envío no generan un evento refund automático.
Validación y diagnóstico
Antes de recopilar cada compra se utiliza el endpoint de validación de GA4. Si devuelve errores, la compra queda marcada como failed. En Producción, una respuesta HTTP correcta se muestra como submitted y debe contrastarse en Analytics: HTTP por sí solo no acredita procesamiento ni atribución.
Los reintentos mantienen el mismo transaction_id y la fecha original. Los pedidos de más de 70 horas no se envían; esta ventana deja margen respecto al límite de retroactividad de la API. La vinculación de una compra a una sesión previa puede ser incompleta si el pago llega tarde; no se promete recuperar la atribución de todos los pagos aplazados.
- Sin consentimiento: sin compra por API.
- Pedido pendiente: sin compra.
- Validación: sin envío a informes.
- Compra pagada y sin regreso: envío desde cron, si existe contexto.
- Retirada del permiso o cancelación antes de enviar: cola cancelada.
- Cambio de propiedad o modo: los trabajos anteriores no se redirigen ni se convierten automáticamente en compras reales.
Preguntas frecuentes
¿Sustituye la etiqueta de Google Analytics?
No. La etiqueta mide navegación y sesiones y aporta los identificadores. Este plugin añade el envío de compras desde servidor; también ofrece instalar la etiqueta si la tienda no tiene una.
¿Incluye todos los eventos de ecommerce?
Esta versión implementa purchase por servidor y etiqueta de páginas vistas opcional. view_item, add_to_cart, begin_checkout y refund deben mantenerse o implementarse por separado.
¿Una validación correcta prueba el secreto y la propiedad?
No completamente. La validación comprueba los parámetros, pero debe verificarse una recepción real en el flujo correcto. El secreto no se muestra en el navegador.
¿Qué sucede al desinstalar?
Se detiene el cron y se conservan configuración y registro de pedidos para evitar duplicados al reinstalar. Borra el secreto desde el panel antes de retirar el plugin si quieres revocar la conexión. La eliminación definitiva de tablas requiere tu procedimiento de mantenimiento.
Objetivo: WordPress 6.4+, PHP 7.4+, OpenSSL, WooCommerce, HTTPS y WP-Cron. No se certifican todas las versiones. El contexto caduca a los 30 días y el evento se elimina de la cola al terminar. Autor: Nivel de Calidad. Revisado el 8 de octubre de 2026.
Measurement Protocol · Validación de eventos · Plugins WordPress




