Google Tag Manager

Integra Google Tag Manager para automatizar la configuración de GTM y la creación de componentes mediante indicaciones en lenguaje natural.

Documentación

Servidor MCP de Google Tag Manager

Un servidor de Model Context Protocol (MCP) que integra Google Tag Manager con Claude, permitiendo la configuración automatizada de GTM y la creación de componentes mediante instrucciones en lenguaje natural.

Características

  • Integración con la API de GTM: Integración completa con la API de Google Tag Manager para crear y gestionar etiquetas, disparadores y variables
  • Plantillas de componentes: Plantillas preconstruidas para escenarios de seguimiento comunes (GA4, Facebook Pixel, seguimiento de conversiones)
  • Automatización de flujos de trabajo: Creación completa de flujos de trabajo para diferentes tipos de sitios (comercio electrónico, generación de leads, sitios de contenido)
  • Integración con Claude: Interfaz de lenguaje natural para la configuración de GTM a través de Claude

Configuración

1. Instalar dependencias

Opción A: Usando uv (Recomendado)

# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

# Install dependencies
uv sync

Opción B: Usando pip

pip install -r requirements.txt

2. Configuración de Google Cloud Console

  1. Ve a la Consola de Google Cloud
  2. Crea un nuevo proyecto o selecciona uno existente
  3. Habilita la API de Tag Manager:
    • Ve a "APIs y servicios" > "Biblioteca"
    • Busca "Tag Manager API"
    • Haz clic en "Habilitar"

3. Crear credenciales de cuenta de servicio

  1. Ve a "APIs y servicios" > "Credenciales"
  2. Haz clic en "Crear credenciales" > "IDs de cliente de OAuth 2.0"
  3. Elige "Aplicación de escritorio"
  4. Descarga el archivo JSON y guárdalo como credentials.json en este directorio

4. Configurar Claude

Añade la configuración del servidor MCP a tu configuración de Claude:

{
  "mcpServers": {
    "gtm": {
      "command": "python",
      "args": ["/path/to/mcp-for-gtm/server.py"],
      "env": {
        "GTM_CREDENTIALS_FILE": "/path/to/mcp-for-gtm/credentials.json",
        "GTM_TOKEN_FILE": "/path/to/mcp-for-gtm/token.json"
      }
    }
  }
}

Herramientas disponibles

Operaciones básicas de GTM

  • create_gtm_tag: Crear etiquetas individuales de GTM
  • create_gtm_trigger: Crear disparadores de GTM
  • create_gtm_variable: Crear variables de GTM
  • list_gtm_containers: Listar todos los contenedores de una cuenta
  • get_gtm_container: Obtener detalles del contenedor
  • publish_gtm_version: Publicar una versión del contenedor

Herramientas de flujo de trabajo

  • create_ga4_setup: Configuración completa de Google Analytics 4 con etiqueta de configuración y eventos comunes
  • create_facebook_pixel_setup: Configuración de seguimiento de Facebook Pixel
  • create_form_tracking: Configuración de seguimiento de envíos de formularios
  • generate_gtm_workflow: Generar flujos de trabajo completos para diferentes tipos de sitios

Ejemplos de uso

1. Configurar el seguimiento de Google Analytics 4

Create a complete GA4 setup for my website with measurement ID G-XXXXXXXXXX in GTM account 123456 and container 7890123

2. Generar flujo de trabajo de seguimiento de comercio electrónico

Generate a complete ecommerce tracking workflow with GA4 measurement ID G-XXXXXXXXXX and Facebook Pixel ID 123456789

3. Crear seguimiento de formularios

Set up form tracking for the contact form with selector #contact-form in my GTM container

4. Crear componentes personalizados

Create a custom GTM tag for tracking video plays with the following parameters: event_name = "video_play", video_title = "{{Video Title}}", video_duration = "{{Video Duration}}"

Tipos de flujos de trabajo

La herramienta generate_gtm_workflow admite tres tipos principales de flujos de trabajo:

  • ecommerce: Seguimiento de comercio electrónico mejorado con eventos de compra, carrito e interacción con productos
  • lead_generation: Envíos de formularios, clics en CTA y seguimiento de conversiones
  • content_site: Interacción con contenido, suscripciones a boletines y uso compartido en redes sociales

Autenticación

En la primera ejecución, el servidor abrirá una ventana del navegador para la autenticación OAuth. Concede los permisos necesarios para acceder a tu cuenta de GTM. El token de autenticación se guardará para uso futuro.

Estructura de archivos

mcp-for-gtm/
├── server.py              # Main MCP server
├── gtm_client.py          # GTM API client
├── gtm_components.py      # Component templates and workflow builder
├── requirements.txt       # Python dependencies
├── config.json           # MCP server configuration
├── credentials.json      # Google OAuth credentials (you provide)
├── token.json           # Generated auth token (auto-created)
└── README.md           # This file

Solución de problemas

Problemas de autenticación

  • Asegúrate de que credentials.json esté configurado correctamente desde Google Cloud Console
  • Comprueba que la API de Tag Manager esté habilitada en tu proyecto de Google Cloud
  • Verifica que tengas los permisos necesarios en tu cuenta de GTM

Errores de permisos

  • Asegúrate de que tu cuenta de Google tenga permisos de edición para el contenedor de GTM
  • Verifica que los IDs de cuenta y contenedor de GTM sean correctos

Errores de API

  • Comprueba los IDs de cuenta y contenedor de GTM
  • Verifica que el espacio de trabajo exista (se usa el ID de espacio de trabajo predeterminado)
  • Revisa los límites de velocidad si estás realizando muchas solicitudes

Desarrollo

Ejecutar pruebas

# Using uv
uv run python test_server.py

# Or directly with python
python test_server.py

Ejecutar el servidor

# Using the convenience script
./run_server.sh

# Or manually with uv
uv run python server.py

# Or with system python
python server.py

Dependencias de desarrollo

El proyecto incluye dependencias de desarrollo para la calidad del código:

# Format code with black
uv run black .

# Check with flake8
uv run flake8 .

# Type checking with mypy
uv run mypy .

# Run tests with pytest
uv run pytest

Contribuciones

¡No dudes en enviar problemas y solicitudes de mejora!