4 tips på hur du exkluderar trafiken från hemmakontoren

Claes Hedlund

Coronavirusets utbredning har medfört att ovanligt många jobbar hemifrån. Det här inlägget handlar om hur rådande omständigheter kan påverka din webbplats analysdata – eller snarare hur du undviker att den påverkas.

Bakgrund

De flesta organisationer använder filter för intern trafik – funktioner som exkluderar besök från organisationens egna IP-adress(er). Varför? Därför att de vill undvika att anställdas beteendedata ska smutsa ner övrig beteendedata. Varför skulle den göra det? Därför att de anställdas beteenden inte motsvarar externa besökares. Vi vill ju få insikter och ta beslut utifrån våra externa besökares beteenden, inte de anställdas. Därför är det, i de flesta fall, viktigt att dessa skiljs åt.

Finns det organisationer som är mer skonade från påverkan av intern trafik än andra? Ja, de som har väldigt stor trafikmängd. Det beror alltså på förhållandet mellan antalet anställda och antalet besökare.

Vanligtvis är det inte speciellt komplext att exkludera intern trafik. I verktyg som t.ex. Google Analytics, Adobe Analytics och Matomo har du möjlighet att exkludera trafik utifrån vilken IP-adress den kommer ifrån. Allt du behöver göra är att identifiera organisationens (och eventuella konsultbolags) IP-adresser och sätta upp ett enkelt filter*. Så som läget ser ut nu kommer det att krävas lite mer arbete.

Notera att om man i Google Analytics använder funktionen för IP-anonymisering, så fungerar inte vyfilter baserade på IP-adresser – varken nu eller innan Coronavirusets utbrott. Adobe och Matomo har dock standardlösningar för kombinationen av IP-filtrering och IP-anonymisering.

Alltså: då många anställda nu jobbar hemifrån – och vi inte vet hur länge detta kommer att pågå – behöver vi hitta andra lösningar, oavsett vilket analysverktyg som används. I det här inlägget kommer vi att fokusera på lösningar i Google Analytics och Google Tag Manager.

Lösningar

Så hur exkluderar vi intern trafik från våra rapporter? Om de anställda som jobbar hemifrån använder organisationens VPN-tjänst räcker det med att exkludera dessa IP-adresser, såtillvida att de är statiska. Många organisationer använder dock inte VPN-tjänster, och därför har vi gjort en lista med förslag på hur man kan komma runt problemet, och den ser ut såhär:

1. Samla alla anställdas IP-adresser, och exkludera trafik från dessa
Rekommenderas inte för organisationer där mer än, låt oss säga… ett tiotal personer använder webbplatsen i sitt arbete. Denna lösning fungerar heller inte för dynamiska IP-adresser.

2. Be alla anställda att installera ett webbläsartillägg som blockerar analysverktyg
Även denna rekommenderas endast för mindre organisationer, så länge inte IT kan installera tillägget på alla olika enheter inom organisationen. Om olika webbläsare används kan det dock bli knivigt. Hursomhelst, för Chromeanvändare finns detta tillägg.

3. Få alla anställda att använda en särskild URL när de besöker webbplatsen, och filtrera bort dem med hjälp av en custom dimension

4. Skapa en intern sida med länkar till alla all-hands meetings – sätt cookies, och använd dessa för att exkludera trafiken

Lösningarna 3 och 4 är de som är mest effektiva, framförallt för större organisationer, och är dessa vi kommer guida er igenom.

Queryparameter som identifikator

Denna metod är baserad på ett inlägg av GTM-oraklet Simo Ahava.

Lösning nummer 3 går ut på att lägga till en parameter på webbplatsens URL (www.example.com?internal=true), så kallad queryparameter, för att sedan plocka upp den informationen och använda en custom dimension för att filtrera bort trafiken.

Steg 1: Skapa en Custom Dimension i Google Analytics

Skapa en ny Custom Dimension i Google Analytics: Admin → Custom Definitions → Custom Dimensions. Ge dimensionen ett beskrivande namn (t.ex. Internal Traffic) och sätt scope till User.

Notera sedan vilket index dimensionen har (3 i detta fall) – detta index behöver vi använda längre fram.

Steg 2: Skapa en variabel i Google Tag Manager

Gå till Variables → User-Defined Variables → New.

Variable Type: URL
Component Type: Query
Query Key: internal

Query key är alltså det som står efter frågetecknet i URL:en – vår queryparameter.

Döp variabeln till något beskrivande, t.ex. URLInternal Traffic → spara.

Steg 3: Konfigurera Pageview-taggen

Öppna den Pageview-tagg som används för Google Analytic → kryssa i Enable override settings in this tag → More Settings → Custom Dimensions.

Index: 3 – det index den nya dimensionen har i Google Analytics.
Dimension Value: {{URL – Internal Traffic}}namnet på den variabel du nyss skapat.

Notera att detta också går att göra direkt i din Google Analytics Settings-variabel.

Steg 4: Testa!

Använd Google Tag Managers Preview Mode. Besök först webbplatsen utan queryparametern (www.example.com). Undersök Pageview-taggen i debug-panelen. Där bör vi se detta:

Eftersom vi inte hade queryparametern med i URL:en, blir värdet för dimensionen undefined.

Besök sedan webbplatsen med queryparametern (www.example.com?internal=true).

Här ser vi att värdet för dimensionen blir true. Värdet fångas upp i vår Custom Dimension.

Steg 5: Sätt upp ett vyfilter i Google Analytics

Under Admin → View → Filters, klicka på + Add filter. Konfigurationen ser ut såhär:

Filter Type: Custom
Exclude: Internal Traffic (namnet på vår nya Custom Dimension)
Filter Pattern: true

På detta sätt kan vi alltså filtrera bort alla de användare som besökt webbplatsen med den tillhörande queryparametern. Glöm inte bort att ge filtret ett beskrivande namn, t.ex. Exclude internal traffic (eller Exclude internal traffic – Query om IP-filter finns sedan tidigare, för att kunna särskilja dessa).

Steg 6: Få alla anställda att besöka webbplatsen

Nu till det sista och svåraste steget. Det finns olika strategier för att få de anställda att besöka webbplatsen med tillhörande queryparameter:

  • Skicka ut en länk och be alla att klicka på den
  • Be alla att bokmärka länken, eller ännu bättre: be alla att sätta den som startsida i sina webbläsare

Om de anställda rensar sina cookies ofta, eller använder webbläsare som t.ex. Safari, är det viktigt att de besöker webbplatsen med tillhörande queryparameter med jämna mellanrum.

Finns det en IT-avdelning som har möjlighet att sätta webbplatsen som startsida för samtliga enheter och webbläsare kan detta vara en bra idé.

Alternativ: bookmarklet som sätter cookie

Ett alternativ till att använda queryparametern är att be de anställda bokmärka ett script som skapar en cookie, en s.k. bookmarklet.

Tack till Elin Ledenvik för detta script! Klicka på bilden för att komma till textfilen! 👆

Kopiera scriptet och lägg till som bokmärke. (I Chrome: öppna en ny flik → gå in på Bookmarks i menyn → välj Bookmark this tab… → klistra in scriptet i URL-fältet → spara.)

När man sedan navigerar till webbplatsen och klickar på bokmärket, sätts en cookie. Informationen i kakan kan vi plocka upp med en 1st-Party Cookie-variabel i Google Tag Manager. Mer om hur detta går till i lösning nummer 4. (Notera att i scriptet ovan döps kakan till employed, men detta kan såklart justeras efter tycke och smak.)

Även denna lösning är känslig på så sätt att alla medarbetare själva måste bokmärka scriptet och sätta kakan.

Länka till möten via intern sida – och sätta cookies

Det här är den troligtvis bästa lösningen för lite större organisationer. Den här lösningen går ut på att sätta cookies på interna sidor under samma domän (www.example.com/internal/). Det bör alltså vara en sida som externa besökare aldrig besöker och som inte indexeras av sökmotorer.

Många organisationer använder sig av kommunikationsverktyg såsom Skype, Google Hangouts, Whereby, Microsoft Teams med flera. Det här är något vi kan utnyttja för att placera cookies i de anställdas webbläsare, och på så sätt filtrera bort trafiken. Tanken är att istället för att skicka ut länkar direkt till möten så läggs dessa länkar på den en intern sida.

Observera att inte alla mindre möten behöver läggas upp på denna sida. Däremot passar det bra om man har regelbundna all-hands meetings. Återkommande besök är även här av största vikt om de anställda använder webbläsare med spårningsskydd eller rensar cookies ofta.

Steg 1: Skapa en intern sida för möteslänkar

Exakt hur detta går till varierar såklart från organisation till organisation. Det viktigaste är, som sagt, att det är en sida som inte besöks av andra än anställda, och att den inte indexeras av sökmotorer.

Steg 2: Skapa en custom dimension i Google Analytics

Detta steg är identiskt med steg 1 i föregående lösning. Om båda metoderna används, kom ihåg att ge olika namn till de Custom Dimensions som du skapar.

Steg 3: Skapa en cookie i Google Tag Manager

I detta steg används ett cookiescript från quirksmode.org.

Skapa en Custom HTML-tagg, och lägg in följande script:

Klicka på bilden för att komma åt scriptet! 👆

Med denna utformning upphör kakan att existera efter 1000 dagar (detta specificeras i rad 11, då funktionen kallas). Det här går såklart att justera som man vill det.

Ge GTM-taggen ett beskrivande namn, som t.ex. Set cookie – Internal traffic, och spara taggen.

Steg 4: Skapa en trigger

Nu behöver vi en trigger som ser till att kakan endast sätts på den interna sidan.
Skapa en ny trigger → sätt Page View som trigger type → välj Some Page Views → specificera att Page Path equals* /internal/ (den path som den interna sidan har, dvs. www.example.com/internal/). Döp triggern till t.ex. PV Trigger – Internal page → spara.

Se till att taggen från föregående steg använder denna trigger.
*Om det finns flera interna sidor under samma path, kan contains användas som villkor istället för equals.

Steg 5: Skapa en variabel

Gå till Variables → User-Defined Variable → New.

Variable Type: 1st-Party Cookie
Cookie Name: internal*
*Om du bytt namn i cookiescriptet i steg 3, skriver du det nya namnet här.

Döp variabeln till t.ex. Cookie – Internal traffic → spara.

Steg 6: Konfigurera Pageview-taggen

Detta steg är detsamma som steg 3 i föregående lösning. Använd dimensionens index från Google Analytics och använd cookievariabeln som det dynamiska värdet. Detta kan göras i endera Pageview-taggen eller Google Analytics Settings-variabeln.

Steg 7: Testa!

Använd Google Tag Managers Preview Mode. Besök först webbplatsens startsida (www.example.com). I debug-panelen ska du nu kunna se cookietaggen (Set cookie – Internal traffic) under Tags Not Fired On This Page.

Besök sedan den interna sidan, och se till att taggen skjuts där. Vi kan också kontrollera i webbläsaren att kakan satts. Bredvid webbläsarens adressfält finns vanligtvis en ikon (beroende på vilken webbläsare som används) i form av ett hänglås eller ett utropstecken. Klickar man där kan man inspektera cookies. Såhär ser det ut i Chrome:

Under organisationens domän kan vi kontrollera om kakan satts.


Kontrollera noga att kakan endast sätts på den interna sidan och inte på t.ex. startsidan.

Steg 8: Sätt upp ett Vyfilter i Google Analytics

Under Admin → View → Filters, klicka på + Add filter. Konfigurationen ser ut såhär:

Filter Type: Custom
Exclude: Internal Traffic – cookie (namnet på vår nya Custom Dimension)
Filter Pattern: true

När detta är uppsatt kommer alla besökare som besökt den interna sidan att filtreras bort. Glöm inte bort att ge filtret ett beskrivande namn, t.ex. Exclude internal traffic (eller Exclude internal traffic – Cookie om IP-filter finns sedan tidigare, för att enkelt kunna särskilja dessa).

Bonus

Något som också är väldigt bra med dessa lösningar är att vi går runt problemet med kombinationen av IP-anonymisering och vyfilter. IP-anonymisering är rekommenderat att använda för att följa GDPR. Dock innebär användandet av IP-anonymisering att IP-adresserna anonymiseras innan de lagras på Googles servrar. Vyfilter appliceras efter att data har lagrats, och därför är detta i vanliga fall ett problem (som det talas misstänksamt lite om).

Detta är en utökad version av Googles modell.

Avslutningsvis

Oavsett vilken lösning vi väljer så kommer det ofrånkomligen att krävas lite arbete – endera av de anställda själva, av IT eller av den person som blir ansvarig för att skapa och uppdatera den interna sidan. Förhoppningsvis är alla beredda att i tider som dessa göra det lilla extra för att få arbetet att gå ihop!

Hoppas ni kan dra nytta av dessa knep för att säkra en bra datakvalitet – oavsett om vi jobbar tillsammans nu eller om vi, förhoppningsvis, kommer att göra det i framtiden.

Läs även

A/B-testa utan utvecklingshjälp

A/B-testa utan utvecklingshjälp

Av Kajsa Hedqvist och Elin Ledenvik 24 september, 2020