Blocco manuale degli Script
Guida all’implementazione per il blocco degli script che potrebbero installare cookie
Le norme per garantire la privacy dell'utente impediscono il trattamento prima del consenso.
Infatti la Cookie Law specifica che non è possibile utilizzare/installare un cookie prima di aver ottenuto il consenso dell'utente, fatta eccezione per le categorie di cookie esenti (cookie tecnici).
In questa guida vi mostriamo i passi da eseguire per essere compliant anche sotto questo aspetto, grazie alla funzionalità esposta dalla nostra PubConsent CMP.
Attualmente viste le limitazioni dei browser supportiamo e consigliamo l'utilizzo del solo blocco degli script manuale.
Per ambiente AMP seguire le istruzioni che potete trovare cliccando qui
Adeguare i tag script, img e iframe
Per abilitare il blocco degli script che potrebbero installare cookie, è necessario modificare questi i tag delle pagine che installano dei cookie. Apportando tali modifiche si abiliterà la nostra PubConsent CMP a prevenirne l’esecuzione nei casi in cui non è stato ancora prestato il consenso e di verificare anche se l'utente ha accettato una determinata categoria di consenso nel caso in cui fosse specificato il requisito di abilitazione nel relativo tag (script, img e iframe).
Per farlo applicare le seguenti modifiche:
- aggiungi la classe _js_pt_activate ai tag script
- cambia l’attributo type da text/javascript a text/plain *(1)
- sostituisci la chiave src con data-suppressedsrc
<script class="_js_pt_activate" type="text/plain" data-suppressedsrc="code-example.js">….</script>Per l’attivazione dei tag JavaScript inline occorre invece applicare la classe _js_pt_activate__inline.
<script class="_js_pt_activate__inline" type="text/plain">….</script>*(1)
Nel caso in cui il type presente è module si può aggiungere un secondo attributo data-suppressedtype con valore module.
<script class="_js_pt_activate" data-suppressedtype="module" type="text/plain" data-suppressedsrc="code-example.js">….</script>Tag img e iframe
Alcuni tag img e iframe potrebbero anche installare cookie.
In questi casi è necessario:
- aggiungere la classe _js_pt_activate
- assegnare il valore originario dell’attributo src a un nuovo attributo data-suppressedsrc
- assegnare all’attributo src il valore //cdn.pubtech.ai/pubconsent/empty.html.
Qui un esempio:
<iframe class="_js_pt_activate" width="560" height="315" src="//cdn.pubtech.ai/pubconsent/empty.html" data-suppressedsrc="https://www.youtube.com/embed/VZgtEU4B70o"></iframe>Specificare la categoria per script
Per attivare uno script solo se una categoria (o più) è stata abilitata dal visitatore è necessario specificare l’attributo data-js-pt-categories come nel seguente esempio:
Per questioni di leggibilità abbiamo cambiato data-js-pt-purposes in data-js-pt-categoriesin ogni caso entrambi sono supportati.
<script class="_js_pt_activate" data-js-pt-categories="2,3" data-suppressedtype="module" type="text/plain" data-suppressedsrc="code-example.js">….</script>La configurazione applicata nell’esempio, indica di attivare lo script solo se la categoria con id 2 e id 3 sono abilitate.
Ti ricordiamo che le finalità sono raggruppate in 5 categorie (strettamente necessari, interazioni e funzionalità semplici, esperienza migliorata, misurazione, targeting e pubblicità), ciascuna identificata da un id (1, 2, 3, 4, 5).
Ti ricordiamo che la specifica dell'attributo è opzionale per risorse che rientrano solo nella categoria 1. Quindi se non specificato verranno attivati in ogni caso.
- Strettamente necessari (id 1). Finalità incluse:
- Salvataggio e gestione di backup
- Hosting ed infrastruttura backend
- Gestione di landing page e pagine di invito
- Servizi di piattaforma e hosting
- Protezione dallo SPAM
- Ottimizzazione e distribuzione del traffico
- Monitoraggio dell’infrastruttura
- Gestione dei pagamenti
- Interazioni e funzionalità semplici (id 2). Finalità incluse:
- Contattare l’Utente
- Interazione con le piattaforme di live chat
- Gestione di conferenze web e telefonia online
- Gestione delle richieste di supporto e contatto
- Interazione con le piattaforme di supporto e di feedback
- Gestione dei tag
- Registrazione ed autenticazione
- Gestione dei database di Utenti
- Esperienza migliorata (id 3). Finalità incluse:
- Commento dei contenuti
- Interazione con piattaforme di raccolta dati e altre terze parti
- Visualizzazione di contenuti da piattaforme esterne
- Interazione con social network e piattaforme esterne
- Interazione con le piattaforme per sondaggi online
- Gestione dei feed RSS
- Funzionalità sociali
- Misurazione (id 4). Finalità incluse:
- Statistica
- Beta testing
- Test di performance di contenuti e funzionalità (A/B testing)
- Heat mapping e registrazione sessioni
- Gestione della raccolta dati e dei sondaggi online
- Targeting e pubblicità (id 5). Finalità incluse:
- Pubblicità
- Infrastruttura al servizio pubblicitario
- Affiliazione commerciale
- Gestione contatti e invio di messaggi
- Remarketing e behavioral targeting
Gestione dipendenze degli script
In alcuni casi, per attivare correttamente un tag bloccato è necessario attendere l’esecuzione di uno script principale.
Per gestire correttamente le dipendenze sono disponibili due attributi data-js-pt-wait-for ed data-js-pt-label.
L’attributo data-js-pt-label deve essere utilizzato per identificare lo script principale. Il secondo attributo data-js-pt-wait-for serve ad identificare invece il codice che dipende dallo script principale (utilizzare un codice univoco).
Qui di seguito un esempio:
<script data-js-pt-categories="2" class="_js_pt_activate" data-suppressedsrc="/primary.js" data-suppressedtype="module" data-js-pt-label="foo" type="text/plain"></script>
<script class="_js_pt_activate__inline" type="text/plain" data-js-pt-wait-for="foo">
console.log(foo, "the global foo variable in primary.js");
</script>