Deteccion de Server-Side Tagging
Como Legal Cookies detecta indicios de analytics proxied y GTM server-side que podrian ocultar tracking de terceros.
Server-side tagging (SST) es una tecnica que hace que servicios de terceros (como Google Analytics) parezcan first-party al enrutar las peticiones a traves de un servidor propio. Legal Cookies detecta indicios de esta practica mediante heuristica.
Que es Server-Side Tagging
En una implementacion tradicional de Google Analytics:
Usuario → google-analytics.com → Datos en GoogleCon server-side tagging:
Usuario → analytics.tudominio.com → Tu servidor → google-analytics.comDesde la perspectiva del navegador, la cookie _ga y las peticiones parecen ir a tudominio.com, no a Google.
Por que importa
Server-side tagging NO exime del requisito de consentimiento bajo la Directiva ePrivacy.
La Directiva ePrivacy 2002/58/CE (Art. 5.3) requiere consentimiento previo basandose en el proposito del tratamiento, no en la implementacion tecnica:
"El almacenamiento de informacion [...] solo estara permitido si el usuario ha dado su consentimiento previo"
El hecho de que los datos pasen por tu servidor antes de llegar a Google no cambia el proposito: sigues haciendo tracking de usuarios y transfiriendo datos a un tercero.
Implicaciones legales
| Aspecto | Implementacion tradicional | Server-side tagging |
|---|---|---|
| Destinatario final | ||
| Proposito | Analytics | Analytics |
| Requiere consentimiento | Si | Si |
| Transparencia | Facil de detectar | Dificil de detectar |
Heuristica de deteccion
Legal Cookies utiliza 4 indicadores para detectar posible SST:
Indicador 1: Cookies GA en first-party sin requests directos
Que buscamos: Cookies _ga, _gid, _gat, __utm* en el dominio first-party SIN peticiones a google-analytics.com, analytics.google.com o googletagmanager.com.
Logica:
const gaCookiesFirstParty = cookies.filter(c =>
/^(_ga|_gid|_gat|__utm)/.test(c.name) &&
c.domain.includes(rootDomain)
);
const hasDirectGaRequests = requests.some(r =>
r.domain.includes('google-analytics.com') ||
r.domain.includes('analytics.google.com')
);
if (gaCookiesFirstParty.length > 0 && !hasDirectGaRequests) {
indicators.push('Cookies GA en first-party sin requests a Google');
}Por que indica SST: Las cookies de GA normalmente se crean cuando el navegador contacta directamente con Google. Si existen pero no hay peticiones a Google, algo esta proxeando esas peticiones.
Indicador 2: Subdominios sospechosos
Que buscamos: Peticiones a subdominios del sitio con nombres tipicos de proxies de analitica:
gtm.dominio.comanalytics.dominio.comcollect.dominio.comtag.dominio.compixel.dominio.comtrack.dominio.comstats.dominio.com
Logica:
const suspiciousSubdomains = ['gtm', 'analytics', 'tag', 'pixel', 'collect', 'track', 'stats'];
const suspicious = requests.filter(r => {
const subdomain = r.domain.split('.')[0].toLowerCase();
return suspiciousSubdomains.includes(subdomain) &&
r.domain.endsWith(rootDomain);
});Por que indica SST: Estos subdominios se usan comunmente para alojar contenedores de GTM server-side o proxies de analitica.
Indicador 3: Cookies de marketing en first-party
Que buscamos: Cookies conocidas de marketing (_fbp, _fbc, _ttp, _gcl_*) establecidas en el dominio first-party.
Logica:
const marketingCookiesFirstParty = cookies.filter(c =>
/^(_fbp|_fbc|_ttp|_gcl_)/.test(c.name) &&
c.domain.includes(rootDomain)
);Por que indica SST: Estas cookies normalmente se establecen por los scripts de Facebook, TikTok o Google Ads directamente. Si aparecen en first-party sin los scripts correspondientes, probablemente hay un proxy.
Indicador 4: Rutas de analitica en first-party
Que buscamos: Peticiones a rutas tipicas de analitica dentro del propio dominio:
/collect/g/collect/analytics/gtm/measurement
Logica:
const analyticsPathsFirstParty = requests.filter(r => {
const url = new URL(r.url);
return r.domain.includes(rootDomain) &&
/\/(collect|g\/collect|analytics|gtm|measurement)/.test(url.pathname);
});Por que indica SST: Estas rutas son tipicas de endpoints de GTM server-side o proxies de Google Analytics.
Calculo de confianza
La deteccion de SST incluye un nivel de confianza basado en el numero de indicadores:
| Indicadores | Confianza | Interpretacion |
|---|---|---|
| 1 | 25% | Posible, verificar manualmente |
| 2 | 50% | Probable, requiere investigacion |
| 3 | 75% | Muy probable |
| 4 | 95% | Casi seguro |
Inclusion en el informe
Cuando se detecta SST con confianza >= 50%, el informe incluye:
- Advertencia destacada en el resumen
- Lista de indicadores detectados
- Nota legal recordando que SST no exime de consentimiento
Ejemplo de advertencia
⚠️ POSIBLE SERVER-SIDE TAGGING DETECTADO
Se han detectado indicios de que este sitio podria estar utilizando
server-side tagging o analytics proxied:
- Cookies _ga/_gid en first-party sin requests directos a Google Analytics
- Subdominio sospechoso: gtm.ejemplo.com
IMPORTANTE: El uso de server-side tagging NO exime del requisito de
obtener consentimiento previo bajo la Directiva ePrivacy 2002/58/CE.
El consentimiento se requiere basandose en el PROPOSITO del tratamiento
(tracking de usuarios), no en la implementacion tecnica.Limitaciones de la deteccion
La deteccion de SST es heuristica y puede tener falsos positivos y negativos.
Falsos positivos posibles
| Situacion | Por que parece SST |
|---|---|
| Analitica first-party real (Plausible, Matomo self-hosted) | Cookies de analitica en first-party sin scripts de Google |
CDN con subdominio stats | Subdominio sospechoso |
| Cookies legacy no limpiadas | Cookies _ga viejas sin scripts |
Falsos negativos posibles
| Situacion | Por que no detectamos |
|---|---|
| SST sin cookies (solo eventos) | No hay cookies que detectar |
| Cookies ofuscadas/renombradas | No coinciden con patrones conocidos |
| Proxy muy sofisticado | No deja huellas detectables |
Recomendaciones
Si usas SST y quieres cumplir
- Bloquea el tracking hasta obtener consentimiento valido
- Documenta claramente en tu politica de cookies que usas SST
- Configura el CMP para bloquear el endpoint de GTM server-side
- No asumas que "first-party = sin consentimiento"
Si detectas SST en tu sitio
- Verifica si realmente tienes SST implementado
- Revisa tu CMP para asegurar bloqueo correcto
- Actualiza la politica de cookies con informacion transparente
- Considera si el SST aporta valor suficiente para la complejidad legal