Come oscurare i dati personali (PII) da Google Analytics 4
Per proteggere la privacy dell’utente, le nostre norme prevedono che non debbano essere inviati a Google dati che possano essere usati o riconosciuti da Google come informazioni che consentono l’identificazione personale (PII). Le informazioni che consentono l’identificazione personale includono, a titolo esemplificativo e non esaustivo, gli indirizzi email, i numeri di cellulare personali e i codici fiscali, ma anche nome e cognome, indirizzo personale o aziendale, ecc. Siccome la legislazione varia in base al paese e al territorio e dato che Google Analytics può essere utilizzato in molti modi, consulta un legale in caso di dubbi sui tipi di dati classificati come PII.
Tabella dei contenuti
Cosa succedeva prima
Qualche tempo fa, prima degli ultimi aggiornamenti di GA4 per poter rimuovere efficacemente i dati personali raccolti in GET negli url parametrizzati da GA4 bisognava usare questo script con GTM facendolo partire prima di ogni evento GA4.
(function() { /* * * Analytics Debugger S.L.U. 2021 ( David Vallejo @thyng ) * MIT License * All redact Logic is ran within this function * */ window.__piiRedact = window.__piiRedact || false; var piiRedact = function piiRedact(payload) { // Regex List var piiRegex = [{ name: 'EMAIL', regex: /[^\/]{4}(@|%40)(?!example\.com)[^\/]{4}/gi, group: '' }, { name: 'SELF-EMAIL', regex: /[^\/]{4}(@|%40)(?=example\.com)[^\/]{4}/gi, group: '' }, { name: 'TEL', regex: /((tel=)|(telephone=)|(phone=)|(mobile=)|(mob=))[\d\+\s][^&\/\?]+/gi, group: '$1' }, { name: 'NAME', regex: /((firstname=)|(lastname=)|(surname=))[^&\/\?]+/gi, group: '$1' }, { name: 'PASSWORD', regex: /((password=)|(passwd=)|(pass=))[^&\/\?]+/gi, group: '$1' }, { name: 'ZIP', regex: /((postcode=)|(zipcode=)|(zip=))[^&\/\?]+/gi, group: '$1' }]; // Helper Convert QueryString to an Object var queryString2Object = function queryString2Object(str) { return (str || document.location.search).replace(/(^\?)/, "").split("&").map(function(n) { return n = n.split("="), this[n[0]] = decodeURIComponent(n[1]), this; } .bind({}))[0]; }; // Helper Convert an Object to a QueryString var Object2QueryString = function Object2QueryString(obj) { return Object.keys(obj).map(function(key) { return key + '=' + encodeURIComponent(obj[key]); }).join('&'); }; // Convert the current payload into an object var parsedPayload = queryString2Object(payload); // Loop through all keys and check the values agains our regexes list for (var pair in parsedPayload) { piiRegex.forEach(function(pii) { // The value is matching? if (parsedPayload[pair].match(pii.regex)) { // Let's replace the key value based on the regex parsedPayload[pair] = parsedPayload[pair].replace(pii.regex, pii.group + '[REDACTED ' + pii.name + ']'); } }); } // Build and send the payload back return Object2QueryString(parsedPayload); }; if (!window.__piiRedact) { window.__piiRedact = !0; try { // Monkey Patch, sendBeacon var proxied = window.navigator.sendBeacon; window.navigator.sendBeacon = function() { if (arguments && arguments[0].match(/google-analytics\.com.*v\=2\&/)) { var endpoint = arguments[0].split('?')[0]; var query = arguments[0].split('?')[1]; var beacon = { endpoint: endpoint, // Check for PII query: piiRedact(query), events: [] }; // This is a multiple events hit if (arguments[1]) { arguments[1].split("\r\n").forEach(function(event) { // Check for PII beacon.events.push(piiRedact(event)); }); } // We're all done, let's reassamble everything arguments[0] = [beacon.endpoint, beacon.query].join('?'); if (arguments[1] && beacon.events.length > 0) { beacon.events.join("\r\n"); } } return proxied.apply(this, arguments); } ; } catch (e) { // In case something goes wrong, let's apply back the arguments to the original function return proxied.apply(this, arguments); } } } )();
Questo script permetteva di oscurarli molto prima che partisse l’hit verso GA4.
Cosa si può fare adesso per gestire la Data Redaction di GA4
Ora, questo script, fortunatamente, non è più necessario.
GA4 ha incluso, nel proprio pannello amministrativo, un sistema molto semplice che permette di oscurare i dati personali dai report su GA4.
In amministrazione, infatti, si trova una voce aggiuntiva sotto Amministrazione > Raccolta e modifica dei dati > Stream di dati

Come Oscurare I Dati Personali (pii) Da Google Analytics 4
che si chiama Oscurare i dati.

Come Oscurare I Dati Personali (pii) Da Google Analytics 4
Con un semplice click si può decidere di oscurare gli indirizzi email, cosa gestita interamente da GA4 attraverso un sistema di riconoscimento a pattern, quindi siamo sicuri che funzioni al 100%

Come Oscurare I Dati Personali (pii) Da Google Analytics 4
Ma cosa fare per capire se nelle nostre analisi esistono dei dati personali che, senza volere, stiamo raccogliendo su GA4?
Come oscurare gli altri dati personali
Prima di tutto questi dati andranno riconosciuti ed identificati.
Per farlo serve creare un rapporto Esplora dedicato.

Come Oscurare I Dati Personali (pii) Da Google Analytics 4
Vai su esplora e crea una esplorazione nuova.

Come Oscurare I Dati Personali (pii) Da Google Analytics 4
Aggiungi come dimensione Percorso pagina e stringa query.
Aggiungi come metrica numero di eventi o pagine viste.

Come Oscurare I Dati Personali (pii) Da Google Analytics 4
Nei filtri devi selezionare la dimensione Percorso pagina e stringa query e aggiungere contiene “?”.
In questo modo potrai vedere tutte le pagine e i parametri passati in GET nelle pagine. Il nome del parametro è contenuto tra ? o & e =.
Quel nome paramentro, se ti sembra che contenga dei dati personali, va inserito in Amministrazione > Raccolta e modifica dei dati > Stream di dati > Oscurare dei dati in questo modo:

Come Oscurare I Dati Personali (pii) Da Google Analytics 4
Se ti serve una mano a configurare GA4, contattami tramite questo modulo.
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!