Ya vimos en el artículo anterior: Cómo ver el contenido de un contenedor GTM sin tener acceso, veamos cómo podemos inyectar nuestro GTM en un site para hacer pruebas.
Creamos un GTM propio
Lo primero de todo es generar un GTM propio y publicarlo.
🧠 No es necesario tener el contenedor asociado a un site, ni el script instalado, con tenerlo publicado es suficiente.
Vamos a coger de referencia este GTM que he creado llamado Inyección: GTM-PKC8CTLW
Contiene una Google Tag con un ID de GA4 llamado G-INYECCIÓN y un evento de GA4 al mismo ID de medición que se activa en la carga del DOM.

Tomemos como referencia ese evento e ID de la Gtag, luego nos aparecerá cuando lo inyectemos en la web que queramos.
Definimos un evento para hacer el check
Os dejo el evento de GA4 que usaremos de referencia, hemos incluido parámetros de evento que recogerá la URL, path y dominio del site objetivo.

Script de inyección
Con el siguiente script de inyección pegado en la consola, tendremos el GTM insertado en la navegación del site.
Recuerda insertar tu ID de GTM en la parte final donde está GTM-XXXXXX
(function(w, d, s, l, i){
w[l] = w[l] || [];
w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
j.onload = function() {
console.log('✅ GTM insertado correctamente:', i);
};
j.onerror = function() {
console.error('❌ Error al cargar GTM:', i);
};
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-XXXXXX');
El script nos devolverá si el GTM se ha insertado correctamente o no.
Inyectamos el GTM en la web seleccionada
Insertamos el script vía Consola:

ℹ️ Recuerda: esta inyección de script no será persistente para el resto de usuarios puesto que solo lo realizamos en nuestra sesión. Aunque los hits que enviemos desde nuestro GTM inyectado sí llegarán a nuestras herramientas de medición.
Una vez recibido el mensaje de confirmación del script, tendremos todo el contenido de nuestro GTM lanzándose en el site.
Comprobamos que se activa nuestro evento
Podemos irnos a Network dentro de la consola de desarrolladores para ver los hits salientes:

¿Recordáis el ID de medición de GA4 llamado G-INYECCION? Ahí está, enviando hits a nuestra propiedad de GA4 con ese ID.
Si echamos un vistazo al Payload, en el parámetro en (event name), podemos ver cómo se ha enviado el evento inteccion_en_dom que se ha lanzado con el DOM ready.

Inyección en un site real
En el punto anterior probábamos la inyección en este site, pero antes comentábamos que los hits se enviaban a GA4. Al tener una propiedad de GA4 inventada para la prueba anterior, no hemos hecho check del procesamiento de GA4.
Vamos a hacer una prueba con la web de un amigo: https://www.hidropozo.es/
Inyección en hidropozo.es
Inyectamos el GTM real que tengo con mis propiedades de GA4 que uso para medir este site.

Confirmamos el envío de eventos
En este site, tengo varios eventos que utilizo para nutrir las propiedades de GA4, y consecuentemente BigQuery, para poder tener data con un buen sandbox.
Vamos a Network, y ahí tenemos los eventos de GA4 hacia mi propiedad con ID G-BL16R45KWM

Comprobamos que llegan a BigQuery
Aunque es posible que GA4 no lo procese, vemos que los hits llegan a la tabla de events_intraday de nuestro datasheet de BigQuery conectada a GA4

Casos de uso
Algunos casos de uso que se me ocurren:
Queremos lanzar una nueva versión del contenedor en el site, no tenemos acceso aún al GTM y no sabemos el impacto que tendrá
Auditoría: si tenemos un script basado en Core Web Vitals, podemos sacar los insights sin estar realizando cambios o solicitando acceso
Puesta al día de contenedores GTM: si necesitamos probar cambios en un site de cliente y no tenemos permisos de publicación, o el número de contenedores de trabajo son limitados. En este caso, podemos exportar el contenedor e importarlo en el nuestro de pruebas
Entrenamiento de equipo o demos en producción sin publicar y alargar el listado de versiones
Comprobar cómo se envían, reciben y procesan parámetros, eventos o variables enviadas.
Bonus: método alternativo de inyección (más sencillo)
La extension Adswerve – dataLayer Inspector+ nos permite insertar el script de GTM en cada página que visitemos

Para insertarlo, abriremos la extensión: Add functionality > Inject Code > (Pegamos el script de GTM del head SIN las etiquetas de HTML) > Save settings & reload.
