Cinco diagnósticos, cinco causas raíz distintas.
Proyectos ejecutados a través de agencias de marketing digital, con el cliente final anonimizado por confidencialidad. El trabajo técnico es 100% real.
Fuga de datos personales en tracking server-side
Riesgo legal / RGPDEl contenedor server-side enviaba email, nombre, país y código postal a Meta CAPI, TikTok Events API y Google Ads incluso con el consentimiento de publicidad denegado.
Auditoría de Consent Mode v2 sobre 154 tags: 128 con gates ausentes o mal configurados, más una race condition en el CMP que marcaba consentimiento concedido antes de la interacción del usuario.
Gates de ad_storage y ad_user_data implementados en los 15 tags server-side afectados, bloqueando publicación hasta cerrar el gap.
Eliminación total del envío de PII fuera de consentimiento antes de producción. Corrección de riesgo legal real bajo RGPD, no un ajuste de tracking.
Migración de contenedor GTM a escala
Arquitectura a escalaDiscrepancias de datos entre propiedades tras migrar eventos de e-commerce GA4 de un contenedor a otro.
Auditoría de 21 tags, 64 triggers y 177 variables: tres causas de exclusión de datos operando en paralelo (variable de toggle, blacklist regex de 35 IDs, tabla de sitios bloqueados).
Export validado con resolución recursiva de dependencias y limpieza de tags de Universal Analytics obsoletos.
Contenedor reducido de 177 a 102 variables y de 21 a 7 tags, sin referencias rotas. Arquitectura pensada para escalar a miles de contenedores cliente.
Diagnóstico forense multicapa DV360/Floodlight
Diagnóstico forenseFloodlight registrando cero visitas pese a tráfico confirmado en el sitio.
Cuatro causas simultáneas: snippet Floodlight hardcodeado en el HTML duplicando el tag de GTM, consent sin definir, falta de secuenciación entre tags, y un segundo contenedor GTM de propiedad desconocida.
Universal Pixel como setup tag, requisitos de consentimiento añadidos, renombrado de tags para reflejar su alcance real.
Validado en Preview y publicado. Diagnóstico con varias causas simultáneas, no una sola.
Auditoría de dataLayer e-commerce
Antes / DespuésTodos los eventos de e-commerce de GA4 en KO en staging, antes de salir a producción.
Schema de item incompleto, variantes incorrectas en add_to_cart, purchase bloqueado por la arquitectura del checkout externo.
Guía de implementación evento a evento con especificación exacta para el equipo de desarrollo y convención de nombres estandarizada.
De fallo total a validación completa. El caso "antes/después" más fácil de visualizar.
Reconciliación de discrepancia Google Ads vs. GA4 vía BigQuery
BigQuery / SQLGoogle Ads reportaba ~34% más conversiones de compra que GA4 para el mismo período y canal, sin ninguna pista de causa en el dashboard.
Descenso a la tabla raw de eventos en BigQuery: duplicación de purchase por transaction_id, pérdida de atribución por gclid no capturado, y gap de consentimiento estructural.
Cada causa aislada por separado y cuantificada: ~8% duplicación, ~19% atribución perdida, ~7% consentimiento.
Desglose defendible del 34%, con tres responsables y tres fixes distintos, y la salvedad honesta de que el gap no llega a cero por diseño de ambas plataformas.
Modelo dimensional de GA4 en BigQuery con dbt
dbt / BigQueryEl export nativo de GA4 a BigQuery no es una tabla analítica, es un log de eventos anidado: cada consulta repite el mismo UNNEST y arrastra el riesgo de contar compras duplicadas.
Sobre el dataset público de la Google Merchandise Store (4,3M eventos): la sesión no es una columna, purchase se duplica, y la atribución llega en dos ámbitos que no se pueden colapsar sin perder información.
Cuatro modelos dbt en dos capas: staging aplana y tipa el evento; los marts exponen sesiones, compras deduplicadas y usuarios. 25 tests de calidad y CI en GitHub Actions.
360.129 sesiones y 270.154 usuarios modelados, 4.451 compras deduplicadas, 25/25 tests en verde en local y en CI, documentación con lineage graph navegable publicada en GitHub Pages.
Framework de medición GEO/AEO en capas, autoaplicado
GEO/AEOLos motores de respuesta de IA (ChatGPT, Perplexity, AI Overviews) capturan una porción creciente de las búsquedas, y ninguna herramienta estándar dice si tu contenido está siendo citado, ni cuánto tráfico llega desde ahí.
El problema se descompone en señales independientes que ninguna métrica única resuelve: visibilidad ante los rastreadores, tráfico referido medible, rastreo real de bots, y el cruce entre ambas señales.
Framework de 5 capas sobre este mismo sitio: base técnica, tráfico referido en GA4, rastreo de bots, cruce de ambas señales en BigQuery, y test de citación real en motores de respuesta.
Las 5 capas verificadas en producción. El cruce de tráfico aún no encuentra solape, esperable con este volumen, y el test de citación da 0% en 80 pruebas reales: la marca no aparece todavía en respuestas de motores de IA.
Servidor de tagging propio en Cloud Run, sin Stape
Server-side taggingEl sitio medía todo en el navegador: sin capa server-side, los hits de GA4 quedan expuestos a bloqueadores, ITP y cookies de terceros, y no hay forma de demostrar la habilidad sin un cliente que la pida primero.
Dos caminos: pagar un SaaS intermediario como Stape, o montar el contenedor server-side directo sobre la propia cuenta de Google Cloud, la misma que ya sostiene el pilar de GEO/AEO.
Contenedor GTM tipo servidor en Cloud Run con dominio propio, certificado gestionado y escalado a cero. Un bug de CSP que bloqueaba la conexión en silencio, encontrado y corregido ya en producción.
Tráfico real confirmado de extremo a extremo, desde el navegador hasta GA4 pasando por sgtm.cristhianvelasquez.com, verificado en los logs de Cloud Run y en GA4 en tiempo real.