Saltar al contenido principal

Bloquea scripts opcionales

Bloquea scripts opcionales

La instalación directa activa solo scripts marcados de forma explícita. Cambia type a text/plain, mueve src a data-src y agrega data-soyio-category.

Script externo

<script
type="text/plain"
data-soyio-category="analytics"
data-src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"
></script>

Script inline

<script type="text/plain" data-soyio-category="analytics">
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>

Otros tipos de script

Usa data-soyio-type para restaurar un tipo distinto al activar el script:

<script
type="text/plain"
data-soyio-type="module"
data-soyio-category="functional"
data-src="/chat-widget.js"
></script>

Categorías aceptadas: essential, functional, analytics, marketing y personalize.

Soyio activa scripts permitidos una sola vez y en orden DOM. También observa scripts inertes agregados después por tu aplicación. No intercepta scripts normales ni revierte código que ya se ejecutó.

Prueba el bloqueo

Usa una sesión nueva o elimina sy_consent_<entorno>_<siteToken> antes de cada caso. Por ejemplo, sy_consent_production_csite_abc:

  1. Abre DevTools y activa Preserve log en Network
  2. Recarga la página sin consentimiento guardado
  3. Confirma que no existen requests opcionales de analítica, publicidad o proveedores
  4. Acepta solo analítica y confirma que se activan únicamente sus scripts
  5. Rechaza todo y confirma que las señales opcionales siguen en denied
  6. Acepta todo y confirma que se activan analítica y marketing

Para Google, abre Tag Assistant y revisa que el comando default aparezca antes de cualquier configuración o evento. Después confirma que update refleja las categorías elegidas.

Cambia o revoca una decisión

El botón flotante vuelve a abrir las preferencias. Cuando una decisión quita una categoría:

  1. Soyio actualiza las señales de Google de inmediato
  2. Guarda la nueva decisión
  3. Espera 500 ms
  4. Recarga la página para detener código ya ejecutado

Si la persistencia falla de forma permanente, Soyio limpia el estado local y recarga con señales negadas. La versión actual no elimina cookies creadas por terceros. Configura su expiración o borrado por separado si tu política lo exige.

Límites actuales

  • No bloquea scripts que no fueron reescritos
  • No detecta jurisdicción por región
  • No implementa IAB TCF 2.3 ni __tcfapi
  • No elimina cookies de proveedores automáticamente