Google Analytics används framför allt för att spåra hur externa användare och kunder interagerar med din webbplats. Samtidigt använder interna användare (kollegor, webbredaktörer, du själv osv.) webbplatsen också. Om dina rapportvyer i Google Analytics innehåller träffdata från både externa och interna webbplatsbesökare kan det emellertid bli svårt att avgöra hur din tilltänkta målgrupp (externa användare och kunder) interagerar med webbplatsen. Det finns därför goda skäl till att exkludera intern träffdata eller trafik från Google Analytics.
Om du använder WordPress privat, från hemmakontoret eller via mobilen, så är det ganska sannolikt att du har en dynamisk IP-adress, dvs en IP-adress som din ISP eller mobiloperatör har tilldelat dig ”till låns” och som förändras över tid.
Om intern trafik huvudsakligen kommer från statiska IP-adresser använder man vanligtvis IP-filtrering för att exkludera den interna trafiken från Google Analytics. När IP-adresser förändras frekvent blir den här lösningen emellertid snabbt administrativt ohållbar.
En enkel och bra lösning på det här problemet är att installera tillägget ”Site Kit by Google” och välja att exkludera inloggade användare från Google Analytics. Emellertid exkluderar den här lösningen enbart inloggade användare, vilket gör att intern icke-inloggad trafik fortfarande inkluderas i Google Analytics.
Som en alternativ lösning – om man vill exkludera all intern trafik – kan man i stället filtrera bort interna användare med hjälp av en beständig kaka och en anpassad dimension (custom dimension) i Google Analytics. Utmaningen med den här lösningen kan vara att alla användare som ska räknas som intern trafik måste få kakan genom att besöka en specifik sida med alla sina enheter (och alla sina webbläsare om hen använder flera) – vilket kan vara praktiskt ogenomförbart för ett lite större företag. Om du emellertid använder WordPress privat eller ni är ett fåtal användare som ska räknas som intern trafik är lösningen att föredra – i synnerhet eftersom WordPress har en väldigt naturlig samlingsplats för interna användare: inloggningen.
För att exkludera intern trafik på din WordPress-sajt från Google Analytics med hjälp av en kaka så behöver vi åstadkomma följande:
- Sätta en kaka vid inloggning till WordPress
- Definiera en anpassad dimension för ändamålet i Google Analytics
- Tilldela den anpassade dimensionen ett värde baserat på kakan via Google Tag Manager
- Filtrera bort trafik från Google Analytics baserat på den anpassade dimensionen
Filtrera bort trafik från Google Analytics baserat på en kaka som sätts vid WP-inloggningen, GTM och en anpassad dimension
Idén är att vi sätter en kaka varje gång en användare loggar in på WordPress administrationsgränssnitt och sedan använder den kakan för att spara informationen om att användaren är intern i en anpassad dimension i Google Analytics via Google Tag Manager. Avslutningsvis så använder vi informationen i den anpassade dimensionen för att filtrera bort träffdata från relevanta vyer i Google Analytics.
1. Sätta en kaka vid inloggning till WordPress
Till att börja med behöver vi sätta en kaka vid inloggning. Det görs enklast (och mest förvaltningsbart) med ett enkelt tillägg som vi skapar själva. Kopiera nedanstående kod och spara den som set-wp-login-cookie.php
i en mapp som du döper till set-wp-login-cookie. Zippa mappen och ladda upp den via WordPress administrationsgränssnitt eller ladda upp den okomprimerade mappen via FTP till mappen plugins i wp-content.
<?php
/**
* Plugin Name: Set WP login cookie
* Plugin URI: https://www.svesok.se/verksamhet/exkludera-intern-trafik-pa-din-wordpress-sajt-fran-google-analytics/
* Description: Sets a persistent cookie with one year expiration date and username as value when user logs into wp-admin
* Version: 1.0
* Author: Svesok
* Author URI: https://www.svesok.se/
*/
function set_wp_login_cookie ($user_login, $user) {
setcookie('wp_login_cookie', $user_login, mktime().time()+365*24*60*60, '/');
}
add_action('wp_login', 'set_wp_login_cookie', 10, 2);
?>
Aktivera tillägget och testa att det fungerar genom att logga in i WordPress användargränssnitt och kontrollera att kakan sätts med ett Chrome-tillägg som t ex EditThisCookie.
2. Definiera en anpassad dimension för ändamålet i Google Analytics
Nu behöver vi skapa en anpassad dimension (custom dimension) i Google Analytics för att spara informationen.
Döp den till Internal user
eller något liknande och sätt Omfattning (Scope) till Användare (User) och spara.
Notera den anpassade dimensionens index.

3. Tilldela den anpassade dimensionen ett värde baserat på kakan via Google Tag Manager
Google Tag Managers inbyggda variabel 1st Party Cookie letar efter en kaka med angivet namn och tillgängliggör dess värde i datalagret. Genom att utnyttja den här variabeln kan vi tillgå wp_login_cookie
och spara dess värde i en anpassad dimension i Google Analytics.
Skapa en ny 1st Party Cookie, skriv in wp_login_cookie
som Cookie Name och döp variabeln till cookie_wp_login_cookie
(eller något annat som korresponderar med din nomenklatur för GTM).

Nu behöver vi få in data i Google Analytics och det åstadkommer vi genom att modifiera sidvisningstaggen för Google Analytics.
- Öppna taggen för Google Analytics som är av Track Type Pageview och aktiveras på alla sidor
- Klicka i Enable overriding settings in this tag
- Under Custom Dimensions, klicka på Add Custom Dimension
- Fyll i index för den anpassade dimensionen som du skapade i Google Analytics under Index och skriv in
{{cookie_wp_login_cookie}}
under Dimension Value - Spara

Använd GTM:s Preview för att testa att ändringarna fungerar och att custom dimension-informationen skickas till Google Analytics.

Publicera!
4. Filtrera bort trafik från Google Analytics baserat på den anpassade dimensionen
Avslutningsvis behöver vi skapa ett filter i Google Analytics. Klicka på Admin, välj vyn som du vill filtrera bort intern trafik från och klicka på Filters. Klicka på ADD FILTER och:
- välj Create new Filter
- döp filtret till
Exclude internal users
(eller något annat som korresponderar med din nomenklatur för GA) - välj Filter Type Custom
- välj Exclude och den anpassade dimensionen som du skapat tidigare (i mitt fall ”Internal user”) som Filter Field
- skriv in
.
(en punkt) under Filter Pattern, vilket innebär att vi matchar (och exkluderar) alla strängar som inte är tomma. (Den anpassade dimensionen innehåller ju ett värde om, och endast om, användaren har varit inloggad, vilket är vår definition på interntrafik) - spara!

Et voilà! Nu är vi klara och interna användare ska börja filtreras bort från Google Analytics-vyn i fråga!
Kommentera gärna om du har frågor, synpunkter eller vet något bättre sätt att göra det här på.