Menú de documentación

API de JavaScript

El SDK de JavaScript de CookieHug: el objeto CookieHug, propiedades de consentimiento y de estado, lectura del consentimiento y métodos (show, hide, renew, withdraw, submit…).

Referencia del SDK de JavaScript

CookieHug expone un objeto global window.CookieHug que da acceso al estado del consentimiento, a los métodos, a los eventos y a los callbacks.

Propiedades de estado

PropiedadTipoDescripción
CookieHug.consentedbooleantrue si el usuario aceptó alguna cookie opcional
CookieHug.declinedbooleantrue si el usuario rechazó todas las cookies opcionales
CookieHug.hasResponsebooleantrue si el usuario ya respondió (aceptó o rechazó)
CookieHug.doNotTrackbooleantrue si el ajuste Do Not Track del navegador está activado

CookieHug.regulations

Se resuelve en dos pasos: (1) el fallback por zona horaria se ejecuta de inmediato al cargar el script; si se detecta una zona horaria europea, regulations.region toma además la pseudorregión "EEA" para que las llamadas posteriores a gtag('consent','default',{region}) tengan el alcance correcto. (2) El resolutor del servidor GET /api/runtime/regulations (CF-IPCountry de Cloudflare) se ejecuta en paralelo con la carga de la configuración: cuando devuelve una region, esta es autoritativa y sobrescribe por completo el fallback de zona horaria (incluidos todos los indicadores *Applies), de modo que se corrigen los casos de VPN o de zona horaria discordante.

PropiedadTipoDescripción
regulations.gdprAppliesbooleantrue si el visitante está en Europa (región del RGPD)
regulations.ccpaAppliesbooleantrue si el visitante está en EE. UU. (región de la CCPA)
regulations.lgpdAppliesbooleantrue si el visitante está en Brasil (región de la LGPD)

Métodos

CookieHug.show()

Fuerza la aparición del banner de consentimiento.

CookieHug.show();

CookieHug.hide()

Oculta el banner de consentimiento mediante código.

CookieHug.hide();

CookieHug.renew()

Muestra el banner para que el usuario actualice sus preferencias. Ideal para un enlace «Configuración de cookies».

// Ejemplo: enlace propio a la configuración de cookies
document.getElementById('cookie-settings')
  .addEventListener('click', function() {
    CookieHug.renew();
  });

CookieHug.withdraw()

Retira el consentimiento del usuario. Borra todos los datos de consentimiento (localStorage y cookie HTTP), restablece Google Consent Mode a denied, envía un evento consent_update al dataLayer, reinicia el estado del ScriptBlocker y recarga la página automáticamente para que todos los scripts respeten el nuevo estado denegado.

CookieHug.withdraw();

CookieHug.submitCustomConsent(preferences, statistics, marketing)

Envía una selección de consentimiento personalizada mediante código.

ParámetroTipoDescripción
preferencesbooleanConceder o denegar las cookies de preferencias
statisticsbooleanConceder o denegar las cookies estadísticas
marketingbooleanConceder o denegar las cookies de marketing
// Aceptar solo estadísticas, denegar marketing y preferencias
CookieHug.submitCustomConsent(false, true, false);

// Aceptar todo
CookieHug.submitCustomConsent(true, true, true);

// Denegar todas las opcionales
CookieHug.submitCustomConsent(false, false, false);

CookieHug.getScript(url, async, callback)

Carga un script externo de forma dinámica. Útil para cargar scripts una vez otorgado el consentimiento.

ParámetroTipoDescripción
urlstringURL del script que se va a cargar
asyncbooleanSi debe cargarse de forma asíncrona
callbackfunctionSe ejecuta después de cargar el script
if (CookieHug.consent.statistics) {
  CookieHug.getScript(
    'https://www.google-analytics.com/analytics.js',
    true,
    function() {
      console.log('Analítica cargada');
    }
  );
}

CookieHug.runScripts()

Evalúa y ejecuta todas las etiquetas <script> marcadas con data-cookiehug-consent que coincidan con el estado actual del consentimiento. Se llama automáticamente tras otorgar el consentimiento, pero puedes invocarlo a mano en aplicaciones SPA después de cargar contenido dinámico.

CookieHug.runScripts();