Integra Google Tag Manager en WordPress y genera un dataLayer avanzado y personalizable para medios, blogs y publicaciones digitales. Obtén información detallada sobre el comportamiento del lector y optimiza la monetización.
Parámetros del dataLayer
Configuración inicial
Líneas de código manual
Gratis
Todo lo que necesitas para una medición avanzada del contenido
Genera automáticamente un dataLayer completo con categorías jerárquicas, etiquetas, autor, formato, multimedia y más.
Personaliza separadores, selectores CSS, qué parámetros del dataLayer se envían y los valores de scroll/tiempo que el plugin expone para tu configuración de engagement en GTM.
Marca entradas como premium y asigna un tipo de contenido (tendencia, estacional o evergreen) desde el editor de WordPress. Medición diferenciada para monetización y analítica editorial.
Descarga un contenedor de Google Tag Manager enlazado a los eventos del DataLayer view_post_ready (primer push del plugin) y read_post_ready (disparado en GTM cuando se cumplen scroll y temporizador), con mapeo GA4 listo para usar.
Detecta multimedia, tiempo de lectura, editor usado y origen del tráfico sin configuración manual.
Código optimizado, validación de datos, nonces de seguridad y compatibilidad con WordPress.
1 Regla de engagement por defecto en el contenedor de ejemplo: 30 s + 90 % de scroll. El plugin también envía
gtm4pubs_event_scroll_percent y gtm4pubs_event_delay_ms en el primer push para que GTM pueda alinearse con los ajustes de WordPress.
Ventajas para sitios de contenido
Configura y empieza a medir tu contenido en unos minutos, sin complicaciones técnicas.
Datos accionables sobre el comportamiento y el engagement con cada pieza de contenido.
El plugin envía view_post_ready con porcentaje de scroll y retardo configurables. Configura read_post_ready en GTM usando esos valores o reglas propias.
Refuerza la monetización con datos en tiempo real sobre contenido premium y tipo editorial (tendencia, estacional, evergreen).
Encaja con Google Analytics 4 y BigQuery para análisis avanzado del rendimiento del contenido.
El plugin genera todo automáticamente: no hace falta escribir ni mantener código a mano.
Funciona con cualquier tema de WordPress; ajusta los selectores CSS a tu maquetación.
Únete al grupo de Telegram para ayuda, compartir experiencias y conectar con otros editores.
Analiza qué editor genera mejor engagement
Detecta entradas creadas con Elementor
Detecta entradas creadas con Divi
Detecta entradas creadas con WP Bakery
Detecta entradas con el editor de bloques nativo
gtm4pubs_editor — nombre del editor detectado (elementor, divi, wp_bakery, gutenberg, other)
Así funciona la medición en la práctica
{
"event": "view_post_ready",
"gtm4pubs_categories": "technology>artificial-inteligence|marketing>analytics",
"gtm4pubs_tags": "ai,chatgpt,productivity,tools",
"gtm4pubs_author_id": 1,
"gtm4pubs_post_id": 1234,
"gtm4pubs_format": "standard",
"gtm4pubs_multimedia": "image,video,gallery",
"gtm4pubs_word_count": 2500,
"gtm4pubs_reading_time": 13,
"gtm4pubs_publication_date": "2024-01-15",
"gtm4pubs_update_date": "2024-01-20",
"gtm4pubs_sticky": 0,
"gtm4pubs_origin": "category",
"gtm4pubs_event_scroll_percent": 90,
"gtm4pubs_event_delay_ms": 30000,
"gtm4pubs_access": "premium",
"gtm4pubs_type": "evergreen",
"gtm4pubs_comments_count": 45,
"gtm4pubs_editor": "gutenberg",
"gtm4pubs_related": 1
}
Este dataLayer se genera automáticamente en cada ficha de entrada. Campos como gtm4pubs_type aparecen cuando ese parámetro está activado en los ajustes del plugin.
Acceso completo sin costes ocultos
Para siempre
Respuestas habituales y ejemplos de análisis en BigQuery
Nota: Requiere WordPress 5.0+ y PHP 7.4+.
Importante: el contenedor escucha view_post_ready y read_post_ready en el DataLayer y mapea parámetros a GA4 (a menudo como eventos view_post / read_post, según las etiquetas importadas).
gtm4pubs_type, etc.). Puedes mapearlas en la etiqueta de configuración GA4 o en eventos personalizados. El contenedor incluido ya ofrece una configuración recomendada.
read_post_ready (y tu etiqueta GA4 si escucha ese evento). Alinéalos con gtm4pubs_event_delay_ms y gtm4pubs_event_scroll_percent del primer push del dataLayer, o usa tus propios umbrales.
GTM4Publishers está pensado para convivir con otros plugins de Tag Manager, con algunas consideraciones:
Nota: el plugin usa nombres únicos (gtm4pubs_*) para reducir conflictos.
¡Sí! El plugin encaja con Google Analytics 4 y BigQuery. Cuando exportes GA4 a BigQuery, podrás usar los parámetros del dataLayer (categorías, acceso, editor, etc.) para análisis avanzados.
A continuación, ejemplos de consultas BigQuery que cubren:
gtm4pubs_type)Las consultas son orientativas; adáptalas a tu propiedad y esquema.
view_post / read_post coinciden con las etiquetas GA4 del contenedor de ejemplo; en el DataLayer se usan view_post_ready y read_post_ready antes de que GTM las mapee.
Analiza qué categorías generan más engagement y eventos de lectura.
SELECT
REGEXP_EXTRACT(event_params.value.string_value, r'([^>]+)$') as main_category,
COUNT(CASE WHEN event_name = 'view_post' THEN 1 END) as views,
COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) as reads,
ROUND(COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) * 100.0 /
COUNT(CASE WHEN event_name = 'view_post' THEN 1 END), 2) as engagement_rate
FROM `your-project.analytics_123456789.events_*`,
UNNEST(event_params) as event_params
WHERE event_params.key = 'gtm4pubs_categories'
AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY main_category
ORDER BY engagement_rate DESC
Compara el engagement entre contenido premium y público.
SELECT
event_params.value.string_value as access_type,
COUNT(CASE WHEN event_name = 'view_post' THEN 1 END) as views,
COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) as reads,
ROUND(COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) * 100.0 /
COUNT(CASE WHEN event_name = 'view_post' THEN 1 END), 2) as engagement_rate
FROM `your-project.analytics_123456789.events_*`,
UNNEST(event_params) as event_params
WHERE event_params.key = 'gtm4pubs_access'
AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY access_type
ORDER BY engagement_rate DESC
Compara qué editor (Elementor, Divi, WP Bakery, Gutenberg) genera mejor engagement.
SELECT
event_params.value.string_value as editor,
COUNT(CASE WHEN event_name = 'view_post' THEN 1 END) as views,
COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) as reads,
ROUND(COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) * 100.0 /
COUNT(CASE WHEN event_name = 'view_post' THEN 1 END), 2) as engagement_rate
FROM `your-project.analytics_123456789.events_*`,
UNNEST(event_params) as event_params
WHERE event_params.key = 'gtm4pubs_editor'
AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY editor
ORDER BY engagement_rate DESC
Compara el engagement por tipo de contenido con gtm4pubs_type (sustituye al antiguo flag gtm4pubs_evergreen en instalaciones nuevas).
SELECT
event_params.value.string_value as content_type,
COUNT(CASE WHEN event_name = 'view_post' THEN 1 END) as views,
COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) as reads,
ROUND(COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) * 100.0 /
COUNT(CASE WHEN event_name = 'view_post' THEN 1 END), 2) as engagement_rate
FROM `your-project.analytics_123456789.events_*`,
UNNEST(event_params) as event_params
WHERE event_params.key = 'gtm4pubs_type'
AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY content_type
ORDER BY engagement_rate DESC
Identifica qué fuentes de tráfico aportan usuarios con más engagement.
SELECT
traffic_source,
COUNT(*) as total_sessions,
COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) as read_events,
ROUND(COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) / COUNT(*) * 100, 2) as engagement_rate
FROM `your-project.analytics_123456789.events_*`
WHERE event_name IN ('page_view', 'read_post')
AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY traffic_source
HAVING total_sessions > 100
ORDER BY engagement_rate DESC
Compara el rendimiento del contenido multimedia según el engagement.
SELECT
event_params.value.string_value as post_type,
COUNT(CASE WHEN event_params.value.string_value = 'true' THEN 1 END) as has_video,
COUNT(CASE WHEN event_params.value.string_value = 'true' THEN 1 END) as has_audio,
COUNT(CASE WHEN event_params.value.string_value = 'true' THEN 1 END) as has_gallery,
COUNT(*) as total_posts,
AVG(read_time) as avg_read_time,
COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) as total_reads
FROM `your-project.analytics_123456789.events_*`,
UNNEST(event_params) as event_params
WHERE event_name = 'read_post'
AND event_params.key IN ('gtm4pubs_has_video', 'gtm4pubs_has_audio', 'gtm4pubs_has_gallery')
AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY post_type, has_video, has_audio, has_gallery
ORDER BY avg_read_time DESC
Encuentra las etiquetas con más engagement para ver qué temas funcionan mejor.
SELECT
event_params.value.string_value as post_tags,
COUNT(*) as total_posts,
AVG(read_time) as avg_read_time,
COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) as total_reads
FROM `your-project.analytics_123456789.events_*`,
UNNEST(event_params) as event_params
WHERE event_name = 'read_post'
AND event_params.key = 'gtm4pubs_tags'
AND event_params.value.string_value IS NOT NULL
AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY post_tags
ORDER BY avg_read_time DESC
LIMIT 15
Mira cómo cambia el engagement según el tipo de dispositivo.
SELECT
device.category as device_type,
COUNT(*) as total_sessions,
AVG(read_time) as avg_read_time,
COUNT(CASE WHEN event_name = 'read_post' THEN 1 END) as read_events
FROM `your-project.analytics_123456789.events_*`
WHERE event_name IN ('page_view', 'read_post')
AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY device_type
ORDER BY avg_read_time DESC
Experiencias reales de editores
"GTM4Publishers cambió nuestra medición. En 5 minutos teníamos un dataLayer completo con información que nunca habíamos tenido."
"Las señales de premium y tipo de contenido en el dataLayer nos ayudaron a optimizar la monetización. Los datos son muy fiables."
"El contenedor GTM preconfigurado nos ahorró horas. Todo funcionó a la primera."
¿Formación, consultoría o ayuda personalizada para sacar partido a GTM4Publishers y tu analítica?
El plugin es gratuito; tu apoyo nos ayuda a dedicar más tiempo a:
Analítica y medición más avanzadas
Respuestas más rápidas y ayuda detallada
Optimizaciones y mejoras de velocidad
¡Cualquier aportación, por pequeña que sea, cuenta!
Cientos de editores ya obtienen valor con GTM4Publishers