Nel momento in cui si dovesse comunque decidere di implementare un sistema per gestire le richieste preventive di consenso utilizzando gli strumenti messi a disposizione da Matomo occorre innanzitutto considerare che Matomo permette di gestire due diverse tipologie di consenso:
Una volta compresi i due diversi tipi di consenso gestibili con Matomo possiamo passare ad analizzare il processo da seguire per arrivare ad implementare correttamente un sistema di gestione delle richieste preventive di consenso, processo questo che dovrà passare obbligatoriamente attraverso 3 distinti step:
STEP 1 – BLOCCO PREVENTIVO
In questo primo step sarà necessario configurare tutto il sistema in maniera tale da essere certi di soddisfare perfettamente il concetto di consenso preventivo evitando quindi che vengano effettivamente registrati i dati dell’utente prima ancora che esso abbia potuto esprimere la sua preferenza.
Per far questo è sufficiente modificare il codice di tracciamento di Matomo inserendo, dipendentemente dalla tipologia di consenso che si vuole gestire, una delle seguenti istruzioni:
Una volta eseguita questa istruzione non verranno inviate richieste di tracciamento a Matomo e non verrà installato nel browser dell’utente nessun tipo di cookie
Una volta eseguita questa istruzione le richieste di tracciamento verranno comunque inviate a Matomo ma sul browser dell’utente non verrà installato alcun cookie
ATTENZIONE! per ovvie ragioni le istruzioni sopra indicate dovranno essere inserite come prime istruzioni del codice di monitoraggio. Solo in questo modo sarà infatti possibile adempiere al concetto di “consenso preventivo”
Supponendo dunque di voler gestire il consenso al tracciamento, il codice di monitoraggio standard di Matomo
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//www.sitodatracciare.it/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '5']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
dovrà essere modificato come di seguito indicato
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['requireConsent']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//www.sitodatracciare.it/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '5']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
In questo modo andremo di fatto a impostare il default per ogni utente, relativamente alle preferenze di tracciamento, sul “negato” e l’utente potrà iniziare ad essere tracciato, con l’installazione dei relativi cookie solo quando e se avrà espresso esplicitamente il suo consenso.
STEP 2 – RICHIESTA DEL CONSENSO
In questo secondo step sarà necessario gestire correttamente la richiesta del consenso verso gli utenti che atterrano sul nostro sito e questo dovrà essere fatto, da una parte, inserendo nelle varie informative presenti sul sito tutto quanto necessario per avvisare gli utenti che il sito utilizza Matomo come sistema di web analytics oltre ovviamente a quelli che sono i dati che verranno poi raccolti e, dall’altra parte, mettendo questi stessi utenti nelle condizioni di poter scegliere se prestare o meno il loro consenso.
Sotto questo punto di vista, come spiegato anche nel precedente capitolo di questo manuale, sarebbe preferibile non utilizzare il form di Opt Out standard di Matomo (quello gestito mediante un iframe) ma ricorrere all’utilizzo di un form customizzato, form questo che potrebbe essere realizzato in Passweb con un semplice componente HTML seguendo le istruzioni presenti a questo link https://developer.matomo.org/guides/tracking-javascript-guide#optional-creating-a-custom-opt-out-form
Di seguito viene riportato un esempio del codice HTML utilizzabile per realizzare un form di questo tipo
In sostanza si tratterà di verificare innanzitutto lo stato attuale del consenso dell’utente che visita il sito mettendogli poi a disposizione, un pulsante, un check o comunque un controllo mediante il quale poter modificare lo stato di questo consenso.
Nell’esempio sopra indicato le righe dalla 1 alla 9 definiscono e costruiscono il form. Le righe dalla 11 alla 19 controllano lo stato attuale del consenso dell’utente selezionando o meno, di conseguenza, il relativo check. Infine le righe dalla 21 alla 31 gestiscono l’aggiornamento dello stato del consenso sulla base delle scelte effettuate dall’utente che potrà selezionare o deselezionare secondo quelle che sono le sue esigenze il relativo check.
STEP 3 – ACQUISIZIONE / REVOCA DEL CONSENSO
In quest’ultimo step sarà necessario acquisire in maniera definitiva la scelta effettuata dall’utente attivando o bloccando, da questo momento in poi, il sistema di tracciamento e la raccolta dei dati.
Nel form di esempio indicato nello step precedente infatti l’utente ha la possibilità di effettuare la sua scelta e una volta fatto verrà aggiornato di conseguenza lo stato del suo consenso ma senza le corrette istruzioni, questa scelta non verrà memorizzata per cui cambiando pagina si tornerà sempre nelle stesse condizioni iniziali.
Come indicato nella documentazione ufficiale di Matomo è possibile risolvere questo problema in due modi diversi:
Supponendo dunque di dover gestire il consenso al tracciamento (come indicato anche negli step precedenti) e volendo far memorizzare direttamente a Matomo le scelte effettuate dagli utenti (strada questa più semplice rispetto a quella di doversi memorizzare autonomamente le scelte degli utenti) sarà necessario modificare lo script di gestione del form di opt out come di seguito indicato:
Nello specifico l’istruzione
Tecnicamente infatti l’esecuzione di questa istruzione installerà nel browser dell’utente un cookie chiamato “consent” e fintanto che questo cookie sarà presente Matomo saprà che l’utente ha prestato il suo consenso e potrà quindi continuare a tracciare e a raccogliere i dati automaticamente
Tecnicamente l’esecuzione di questa istruzione porterà all’eventuale eliminazione del cookie “consent”