Matomo utan cookies

Tomas Persson
2021-10-07

En stor frustration för många webbanalytiker handlar om att man efter GDPR fått in mindre data i sin webbanalys pga att vi helt enkelt måste ha ett medgivande från våra användare innan vi kan spåra dem. Om du valt Matomo som plattform finns det dock en lösning som gör att du kan spåra utan att sätta peristenta cookies vilket gör att man faktiskt kan samla in data utan ett medgivande eftersom man då inte profilerar besökarna (för detta krävs en cookie).

Här går vi igenom stegen du behöver ta för att få det att fungera i Matomo.

Läs också om hur du behöver sätta upp Matomo för att möta GDPR.

Anledningen till att du inte behöver ett medgivande om man inte sätter permanenta cookies handlar om att det är just dessa cookies som gör att vi kan identifiera en webbläsare (besökare) över tid, dvs inte bara samla in data om detta besök utan även om kommande besök.

Det är detta som kallas profilering och i GDPR finns ett särskild avsnitt som beskriver detta och det är  alltså detta som ligger till grund för att ett medgivande krävs.

Vi behöver också förstå cookie lagen som även den pratar om nödvändiga cookies. Det finns undantag i den lagen för kortvariga s.k. sessions cookies som inte lever längre än någon timma.

Exempel med persistenta cookies

Exempel utan persistenta cookies

Andra faktorer som är viktiga för att inte medgivande skall krävas:

* Dela inte data med andra aktörer (som tex i Google om du använder Google Analytics fallet)

* Samkör inte data med andra system (dvs koppla inte ihop eller exportera besöksdata så att de samkörs med annan data på något sätt)

* Samkör inte data med andra webbplatser

Hur sätter jag upp Matomo för att köra utan cookies?

Du kan antingen tvinga alla webbplatser i din Matomo installation till att köra utan cookies genom att går till “Administration -> Privacy -> Anonymize data” och kryssa i “Force tracking without cookies”.

Eller så sätter du upp detta per webbplats (troligtvis bättre för du kanske har webbplatser där du vill hantera saker annorlunda eller testa saker)

Vi kommer bara att detaljerat gå igenom detta för Matomos Tag Manager men principen är egentligen ganska enkel, det krävs en rad i din spårningskod.

Exemplet nedan är för standardspårning (dvs inte i Tag Managern)

// Call disableCookies before calling trackPageView
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);

Matomos Tag Manager

I TagManagern finns det en inställning i den s.k. configurations variabeln, det räcker helt enkelt med att kryssa i alternativet "Disable cookies" där och publicera så kommer Matomo inte att sätta persistenta cookies.

Förbättra datat genom att sätta persistenta cookies när ni får ett medgivande

När vi inte profilerar användare så innebär ju detta att vi inte får riktigt all data om besökarna.

En siffra som man egentligen helt måste bortse ifrån är begreppet återkommande besökare eftersom detta ju är en siffra som man endast kan veta om vi sätter en persistent cookie. Vi kan inte heller få svar på hur ofta en besökare varit på sajten osv.

Det gör att vi såklart gärna vill sätta en cookie så snart vi har ett medgivande så att vi åtminstone kan bygga lite bättre kunskap om våra återkommande besökare.

Principen man utgår ifrån är samma som ovan egentligen, men man gör ett par tillägg för att få detta att fungera.

Steg 1

Redigera Matomo Configuration Variabeln

Kryssa i rutan “​​Require cookie consent”

Spara propertyn.

Steg 2

Sätta upp en logik för att fånga upp att ni har fått ett medgivande från era besökare.

Det vanligaste är att ni har en cookie som sätts och då kan vi skapa en Variabel i Matomo som läser upp värdet på denna cookie.

Vi skapar sedan en ny Custom HTML tag med koden nedan och skapar en trigger av typen DOM Ready som bara kör om cookien finns eller har rätt värde.

<script>
_paq.push(['rememberCookieConsentGiven']);
</script>

Exempel på cookie variabel

Att skapa cookie variabler kan vara en liten utmaning beroende på hur era consent hantering är gjord.

I det enkla fallet, dvs där det räcker med att veta om cookien finns eller ej så räcker det med att skapa en variabel av typen First-Party-Cookie. Om man sätter ett default värde till tex notset

Vi skapar sedan en trigger av typen DOM ready och validerar att värdet inte är notset.

Slutligen lägger vi till en ny tagg av typen Custom HTML som heter consentGiven.

Avancerat alternativ med validering av värde i en cookie

I vissa fal kanske vi måste leta efter ett värde i en cookie för att veta om vi tillåter spårning (vanligt om man har flera val för sina användare).

I Exemplet nedan har vi en cookie som heter cookieConsent och om den innehåller strängen tracking så betyder det att vi har ett medgivande.

Då kan vi skriva en variabel av typen Custom JavaScript enligt nedan.

function () {
 function getCookie(name) {
   const value = `; ${document.cookie}`;
   const parts = value.split(`; ${name}=`);
   if (parts.length === 2)
     return parts.pop().split(';').shift();
}

//If cookie exists and contains statistics return true
if(getCookie("cookieConsent") != undefined && getCookie("cookieConsent").search("tracking") != -1 ) {
    return true;
}    
else
 return false;
}

Slutligen får vi i detta fall ändra vår trigger (i exemplet ovan) till att bara köra om variabeln returnerar true

Hantera borttagning av medgivande?

Ja det är fullt möjligt också. Här behöver man ju givetvis anpassa logiken till just er webbplats, men det räcker egentligen med att skicka in följande javascript commando:

_paq.push(['forgetCookieConsentGiven']);

Verkar det svårt?

Du kan alltid bli kund till oss på Digitalist så får du hjälp, ta kontakt via formulären på sajten så guidar vi dig rätt.

Läs också blogginläggen Är Google Analytics GDPR compliant? och Matomo vs Google Analytics - vad skiljer verktygen åt?

No items found.

Kontakta oss om ert nästa projekt!

Vill du prata med en kundansvarig direkt? Klicka här! För jobb eller praktik klicka här!