's Picture

Trackingproblemet som klev ut genom fönstret och försvann

Postad av Anton Björklund

Moderna sajter tenderar att ha minst ett, och oftast flera, trackingscript i syfte att ge sajtägaren olika typer av insikter. Det kan exempelvis handla om statistik, heatmaps och mätningar av delningar i sociala medier. Är sajten dessutom en mediesajt med annonser är antalet trackingscript troligen ännu fler. Heter sajten dessutom Expressen.se, och drivs av ett mediehus som strävar efter att vara nordens mest datadrivna, är de ännu fler.

Mycket riktigt har vi på Expressen testat många analysverktyg och andra besläktade tjänster. Detta då olika verktyg erbjuder olika typer av mätningar och insikter. Ofta får vi på utvecklingsavdelningen reagera snabbt då vissa tjänster visar sig omogna, kostsamma eller helt enkelt inte klarar av vår trafikvolym.

När det handlar om tracking är det naturligtvis viktigt att implementationen blir rätt så att siffrorna går att lita på. Hos oss är detta en utmaning eftersom de olika teamen ansvarar för sina egna produkter, vilket innebär att det finns en risk att det uppstår skillnader i implementationerna. Inte sällan har det uppstått frustration både från analytiker, produktägare och utvecklare när en till synes liten ändring ska göras i något mätskript.

Det finns kommersiella lösningar på detta problem i form av diverse "tag managers". Under hösten utvärderade vi ett flertal sådana men kunde snabbt konstatera ett antal problem:

  • Analytikerna skulle fortsatt vara beroende av utvecklare för att föda "tag managern" med data.
  • Det skulle vara svårt för utvecklaren att arbeta testdrivet med detta.
  • Stora brister i möjligheterna att arbeta med historik och revisionskontroll.
  • Införandet av en "tag manager" skulle påverka laddningstiderna på våra sajter negativt.

Vi behövde således en bättre lösning. Sagt och gjort. Under slutet på förra året började vi utveckla en applikation vid namnet Expressen Analytics (EA) som vi nu håller på att rulla ut. EA består av två komponenter.

Den första komponenten är en skriptfil som vi distribuerar med hjälp av Assets Assembler (som vi tidigare har berättat om här). I skriptfilen har vi paketerat ihop all trackingskript som vi använder. Vidare tillhandahåller skriptet också ett API med ett abstraktionslager över de paketerade trackingskripten. Exempelvis kan det handla om att vi har fem olika trackingskript som alla vill spåra sidvisningar. Detta sker på olika sätt för varje skript men har man läst in EAs skript gör man så här:

window.ExpressenAnalytics.push(function (analytics) {  
  analytics.track.pageView({});
});

Effekten är att våra utvecklingsteam inte längre explicit behöver implementera spårning av sidvisningar för varje analyssystem utan enbart implementera spårning till EAs abstraktionslager. EAs skript tar sedan hand om att bedöma vilka trackingsskript som är intresserade av att spåra sidvisningar och att se till att så sker. För våra webbanalytiker innebär detta att ändringar inte längre behöver genomföras i flertalet olika applikationer, av flera olika utvecklingsteam. Vill de ändra hur sidvisningar spåras till ett givet system behöver de bara se till att en ändring görs i EA.

Den andra komponenten i EA är ett API som i samspel med vårt innehålls-API föder sajterna med trackingdata. API:et tar emot en fråga för ett givet innehåll, exempelvis en artikel, och beräknar vilka värden som EAs skript bör födas med på klientsidan.

Återigen en förenkling för våra utvecklingsteam, som inte längre behöver som inte längre behöver specificera saker som vilket Google Analytics ID vi har eller vad det aktuella innehållet är av för innehållstyp. De behöver bara hämta ett tracking (JSON) objekt från API:et och se till att detta skickas in när EAs klientsidesskript initieras.

På det här sättet får vi en konsekvent tracking över alla plattformar med mindre frustration för såväl utvecklare som analytiker. Vi kan dessutom vara betydligt snabbare och mer lättrörliga när det handlar om att förändra vår tracking.

PS. Missa inte vår nästa bloggpost, följ oss på Twitter!

Till startsidan