Google Tag Pro (GTM & GA4) — Guía completa
Instalar, configurar y explotar Google Tag Pro: contenedor GTM, GA4 Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, conversiones Google Ads, píxeles, Server-side GTM, Conversion Recovery y resolución de problemas para PrestaShop 8 y 9.
Google Tag Pro (el módulo dfgtagmanager) instala un tracking e-commerce completo y fiable en tu tienda: 16 eventos GA4 Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, seguimiento de conversiones Google Ads, píxeles publicitarios, Server-side GTM y un sistema de Conversion Recovery que reproduce las conversiones perdidas. Esta guía cubre la instalación, cada sección de configuración y la resolución de problemas.
Requisitos
- PrestaShop 8.0 a 9.0 (PHP 8.1 a 8.4 recomendado).
- Una cuenta de Google Tag Manager con un contenedor Web (ID con formato
GTM-XXXXXXX). - Una propiedad Google Analytics 4 (ID de medición con formato
G-XXXXXXXXXX). - Opcional: una cuenta Google Ads (ID de conversión
AW-XXXXXXXXX), Google Merchant Center y/o un servidor sGTM.
Instalación
- En el back-office, ve a Módulos > Administrador de módulos, haz clic en Subir un módulo y selecciona el archivo
dfgtagmanager.zip. - Una vez instalado, haz clic en Configurar.
- El módulo crea sus tablas (registro de conversiones y de eventos) y registra sus hooks automáticamente.
El módulo es compatible multitienda: cada tienda conserva su propio contenedor GTM, su ID GA4, sus píxeles y sus ajustes de consentimiento. Configura cada contexto desde el selector de tienda en la parte superior de la página.
1. Configuración de Google Tag Manager
En la sección Google Tag Manager – Configuración:
- Activar GTM: activa la inyección del contenedor en el front-office.
- ID del contenedor GTM: tu identificador
GTM-XXXXXXX. Mientras esté vacío, el módulo no inyecta nada. - ID de medición GA4: tu identificador
G-XXXXXXXXXX. Se usa para prerellenar el tag GA4 en la exportación del contenedor.
El módulo envía los datos al dataLayer antes de que GTM cargue, para que todos tus tags dispongan inmediatamente de los datos de página y e-commerce.
2. Eventos de tracking (GA4 Enhanced Ecommerce)
Una vez activado, el módulo envía automáticamente hasta 16 eventos conformes al esquema GA4 oficial:
- Descubrimiento:
view_item,view_item_list,select_item - Carrito y checkout:
add_to_cart,remove_from_cart,view_cart,begin_checkout,add_shipping_info,add_payment_info - Conversión:
purchase(conitems[],value,tax,shipping,coupon,transaction_id) - Usuario y marketing:
login,sign_up,search,add_to_wishlist,view_promotion,select_promotion
Los eventos de carrito, checkout, promociones y búsqueda se disparan del lado del cliente (intercepción AJAX e IntersectionObserver); el evento purchase se construye del lado del servidor en la confirmación del pedido.
Desde la versión 1.2.0, el evento search se emite del lado del cliente para seguir siendo compatible con PrestaShop 9.1, donde el hook displaySearch está obsoleto. No se requiere ninguna acción por tu parte.
Ajustes asociados en la sección Eventos de tracking: activa/desactiva GA4 Enhanced Ecommerce, los datos de usuario (user_data), la búsqueda interna, login, registro, promociones, wishlist y el remarketing dinámico.
3. Consent Mode v2 (RGPD / DMA)
El Consent Mode v2 es obligatorio desde marzo de 2024 para medir las conversiones Google en el EEE. En la sección Consent Mode v2:
- Activar Consent Mode v2: inyecta los valores de consentimiento por defecto antes de GTM.
- analytics_storage / ad_storage por defecto: déjalo en Denegado (recomendado RGPD); el consentimiento será actualizado por tu banner.
El módulo activa también url_passthrough y ads_data_redaction para maximizar la modelización de las conversiones en ausencia de consentimiento.
Conectar tu banner de cookies (CMP)
Cuando el visitante acepta o rechaza, llama a la función proporcionada por el módulo desde tu CMP (Tarteaucitron, Axeptio, Cookiebot, etc.):
DFGTM.updateConsent({
analytics_storage: 'granted',
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted'
});
Si nunca llamas a updateConsent(), el consentimiento permanece en los valores por defecto (denegado) y solo recopilarás datos modelizados. Conecta imprescindiblemente tu CMP.
4. Enhanced Conversions
Cuando están activados, los Enhanced Conversions mejoran la atribución Google Ads. El módulo cifra del lado del servidor en SHA-256 los datos del cliente (email, nombre, teléfono, ciudad) y los transmite vía el dataLayer. Los datos nunca se transmiten en claro; el código postal y el país se envían sin cifrar, conforme a las especificaciones de Google.
5. Conversiones Google Ads y Merchant Center
En la sección Google Ads – Seguimiento de conversiones:
- Activar Google Ads Conversion: añade el Conversion Linker, el tag de conversión de compra y el remarketing dinámico a la exportación GTM.
- Conversion ID: tu identificador
AW-XXXXXXXXX. - Conversion Label (Compra): el label de la conversión «Compra» (cadena alfanumérica).
- Merchant Center ID + país e idioma del feed: requeridos para las «conversiones con datos del carrito».
- Fuente del ID de producto: elige el formato que corresponda al campo
idde tu feed Merchant Center (ID + separador + declinación, referencia/SKU, ID solo, EAN13, UPC o MPN).
La fuente del ID de producto debe corresponder exactamente al ID utilizado en tu feed Merchant Center, si no las conversiones con datos del carrito no se reportarán. En caso de duda, usa la misma fuente que tu módulo de feed de productos.
6. Píxeles publicitarios (Meta, TikTok, Pinterest)
En la sección Píxeles publicitarios, introduce tus identificadores Facebook/Meta, TikTok y Pinterest. Se integran en la exportación del contenedor GTM con los eventos e-commerce mapeados automáticamente (Purchase, AddToCart, ViewContent, InitiateCheckout, Search / CompletePayment / checkout según la plataforma).
7. Exportación del contenedor GTM
En lugar de crear manualmente decenas de tags, el módulo genera un contenedor listo para importar:
- En la sección Exportación contenedor GTM, haz clic en Exportar el contenedor GTM (JSON).
- En Google Tag Manager, ve a Admin > Importar contenedor.
- Selecciona el archivo JSON, elige un espacio de trabajo y la opción Combinar (o Sobrescribir en un contenedor vacío).
- Revisa la vista previa y luego Publica tu contenedor.
La exportación contiene el tag GA4 Configuration y todos los eventos Enhanced Ecommerce, las variables DataLayer, los activadores Custom Event, el Consent Mode v2, así como los tags Google Ads y píxeles activados.
Regenera y reimporta la exportación tras modificar tus IDs (GA4, Google Ads, píxeles) para que el contenedor refleje tus nuevos ajustes.
8. Server-Side GTM (sGTM)
En la sección Server-Side GTM, activa la opción e introduce la URL de tu servidor (por ej. https://sgtm.tu-dominio.com). El módulo carga entonces el script GTM y el noscript desde tu servidor en lugar de googletagmanager.com, lo que evita los ad-blockers y mejora la fiabilidad del tracking.
9. Conversion Recovery
Es la funcionalidad clave del módulo. En la confirmación de cada pedido, la conversión se guarda en base de datos. Un control asíncrono verifica que GTM ha recibido el evento purchase; si no (ad-blocker, redirección de pago, error de red), el evento se reproduce automáticamente en la próxima visita del cliente. No se requiere ninguna configuración; deja la opción activada en Opciones avanzadas.
10. Opciones avanzadas
- Cross-domain tracking: lista los dominios afectados (separados por comas).
- Excluir impuestos / gastos de envío del ingreso: ajusta el cálculo de
valueparapurchase. - Modo debug: muestra cada push
dataLayeren la consola del navegador (prefijo coloreado «DataFirefly GTM»). Desactívalo en producción.
11. Tablero de monitorización
En la parte superior de la página de configuración, un tablero muestra sobre 30 días: el número de conversiones trackeadas, las enviadas con éxito, las que esperan recovery, el ingreso trackeado, la tasa de éxito del tracking y el top de eventos sobre 7 días. Un botón Reproducir permite re-marcar las conversiones fallidas para un nuevo intento.
Apunta a una tasa de tracking > 95%. Por debajo del 80%, activa el Server-Side GTM para evitar los ad-blockers.
Compatibilidad PrestaShop 9
Desde la versión 1.2.0, el módulo es compatible con PrestaShop 8 y 9 (Symfony 6.4, PHP 8.1 a 8.4). El formateo de precios pasa por la Locale (el antiguo método Tools::displayPrice fue retirado de PS9), el seguimiento de búsqueda es del lado del cliente, y tanto las sesiones como la descarga de la exportación fueron reforzadas para el kernel Symfony. No se requiere ninguna acción al actualizar; el script de upgrade limpia los hooks obsoletos automáticamente.
Resolución de problemas
Ningún dato llega a GTM / GA4
Verifica que Activar GTM esté marcado y que el ID del contenedor esté rellenado. El módulo no inyecta nada mientras ambas condiciones no se cumplan. Usa la vista previa de GTM (Preview) y el modo debug del módulo para ver los pushes dataLayer.
Las conversiones Google Ads no se disparan
Asegúrate de haber importado y publicado el contenedor exportado tras introducir el ID de conversión y el label. Verifica el formato AW-XXXXXXXXX y el label de compra.
Faltan los datos del carrito (Merchant Center)
Rellena el Merchant Center ID, el país y el idioma del feed, y verifica que la fuente del ID de producto corresponda al campo id de tu feed.
El consentimiento permanece «denegado»
Conecta tu CMP llamando a DFGTM.updateConsent() en la aceptación. Sin esta llamada, solo se recopilan datos modelizados.
El archivo de exportación está vacío o corrupto
Desactiva temporalmente los módulos de caché/optimización HTML e inténtalo de nuevo; la exportación limpia los buffers de salida pero un módulo de terceros puede inyectar contenido antes de la descarga.