Com bloquejar scripts fins que es dona el consentiment: tres mètodes comparats
El problema: etiquetes que es disparen massa aviat
Un bàner de consentiment només funciona si les etiquetes que hi ha darrere respecten l’elecció del visitant. L’error més habitual és simple: apareix el bàner, però els scripts d’analítica i publicitat ja s’han carregat i han establert identificadors abans que ningú fes clic. Arreglar-ho vol dir bloquejar els scripts fins que es dona el consentiment. Hi ha tres maneres pràctiques de fer-ho.
Mètode 1: reescriure el tipus del script
Els navegadors només executen un element script quan el seu tipus és un tipus de JavaScript. Si canvies el tipus a text/plain, el navegador ignora el script. Després afegeixes un atribut data que registra a quina categoria de consentiment pertany el script:
- Canvia
type="text/javascript"pertype="text/plain". - Afegeix un atribut com
data-category="analytics". - Quan el visitant consent a aquesta categoria, un petit carregador restaura el tipus i insereix el script perquè s’executi.
Ideal per a: un grapat de scripts coneguts, en línia o externs, a les teves plantilles. Compte amb: els scripts injectats per altres scripts, que mai passen per les teves plantilles i per tant mai es reescriuen.
Mètode 2: controlar les etiquetes en un gestor d’etiquetes
Si les teves etiquetes són a Google Tag Manager o una eina similar, pots deixar el contenidor a la pàgina i controlar el disparament amb activadors que tinguin en compte el consentiment. A cada etiqueta se li assigna un requisit de consentiment, i el gestor d’etiquetes només la dispara quan es concedeix l’estat de consentiment corresponent. El gran avantatge és el control centralitzat: màrqueting pot afegir etiquetes sense tocar les plantilles, i la regla viatja amb l’etiqueta.
Ideal per a: llocs amb moltes etiquetes de màrqueting. Compte amb: els scripts codificats directament fora del contenidor i les etiquetes HTML personalitzades que carreguen altres scripts pel seu compte.
Mètode 3: carregar els scripts dinàmicament amb el consentiment
Aquí elimines per complet les etiquetes script de la pàgina i escrius una funció que les injecta només després d’un esdeveniment de consentiment. És l’opció més neta per a aplicacions d’una sola pàgina i per a desenvolupadors que volen control total:
- Escolta el callback de consentiment de la teva CMP.
- Comprova quines categories s’han concedit.
- Crea un element script, estableix-ne l’origen i afegeix-lo al document.
- Executa qualsevol codi d’inicialització al gestor de càrrega del script.
Ideal per a: aplicacions modernes amb pas de compilació. Compte amb: oblidar tractar el visitant recurrent, l’elecció emmagatzemada del qual ha d’activar la càrrega en carregar la pàgina sense un nou clic.
Gestionar la retirada del consentiment
Bloquejar abans del consentiment és només la meitat de la feina. Si un visitant retira després el consentiment, deixa de cridar les eines i assegura’t que no continuïn llegint ni escrivint identificadors. Treure un script de la pàgina no elimina el codi que ja és a la memòria, així que recarregar després de la retirada sol ser l’enfocament fiable més senzill.
Quin has de triar?
- Pocs scripts, plantilles renderitzades al servidor: mètode 1.
- Moltes etiquetes de màrqueting, editades per persones no desenvolupadores: mètode 2.
- Aplicació d’una sola pàgina o front-end a mida: mètode 3.
- Els entorns mixtos sovint en combinen dos. Només assegura’t que cap etiqueta quedi sense cobrir per cap d’ells.
Com provar-ho
- Obre una finestra privada amb la memòria cau esborrada.
- Obre les eines de desenvolupador del navegador a les pestanyes Network i Application abans de carregar la pàgina.
- Carrega la pàgina sense tocar el bàner. Confirma que no s’envien sol·licituds d’analítica ni de publicitat i que no apareixen cookies ni entrades d’emmagatzematge relacionades.
- Accepta només una categoria i confirma que només es carreguen els scripts corresponents.
- Rebutja-ho tot, recarrega i repeteix la primera comprovació.
- Retira el consentiment i verifica el comportament descrit més amunt.
On encaixa FlexyConsent
FlexyConsent és compatible amb IAB TCF 2.4 i Google Consent Mode v2, i és una CMP certificada per Google (CMP ID 317). Triïs el mètode de bloqueig que triïs, la feina del bàner és donar al teu codi un senyal clar del que ha triat el visitant. La teva feina és assegurar-te que cada script l’obeeixi.
Conclusions clau
- Els scripts que es carreguen abans que el visitant triï anul·len el propòsit del bàner.
- La reescriptura del tipus, els activadors del gestor d’etiquetes i la càrrega dinàmica encaixen cadascun amb un tipus de lloc diferent.
- Els scripts injectats per altres scripts són la fuita més habitual.
- Gestiona els visitants recurrents i la retirada del consentiment, no només la primera visita.
- Prova en una finestra privada neta amb les eines de desenvolupador obertes abans de tocar el bàner.