Tiedättekö, miltä tuntuu olla johdonmukaisesti vuosia väärässä? Minä tiedän. Tämä blogikirjoitus on katumusharjoitus, joka kertoo käynnin ajallisen pituuden mittaamisesta Google Analyticsissä ja sisältää pienen palan täysin päinvastaista tietoa kuin se, mitä olen aiemmin totuutena Google Analytics -akatemioissa ja muissa koulutustilaisuuksissa ylpeästi julistanut.

Google Analytics mittaa jokaiselta sessiolta käynnin pituuden (Avg. Session Duration). Lisäksi Google Analytics laskee jokaiselle sivulle keskimääräisen sivulla vietetyn ajan (Avg. Time on Page). Aikojen mittaus ei ole niin yksinkertaista, kuin miltä kylmiltään voisi ajatella. Siksi lukuja usein mitataan puolivillaisesti ja tulkitaan väärin.

Google Analyticsin hitit

Ennen kuin mittarin luotettavuudesta voidaan puhua, on ymmärrettävä, miten se toimii. Sitä varten kurkkaamme lyhyesti tekniikan perusteisiin.

Google Analytics -mittaus toimii siten, että ladatessaan sisältöjä käyttäjä lähettää samalla Google Analyticsin serverille hittejä. Kaksi tärkeintä hittityyppiä ovat sivulataus (lähetetään aina kun kävijä lataa uuden sivun) sekä event (lähetetään silloin, kun halutaan mitata muita touhuja kuin sivujen avauksia – esimerkiksi tietyn painikkeen painaminen, ulos palvelusta johtavan linkin klikkaaminen, tiettyyn pisteeseen scrollaaminen jne.) Google Analyticsissä käynnin pituus lasketaan ensimmäisestä hitistä viimeiseen hittiin (ei siis kävijän poistumiseen).

[alert type=”warning” close=”false” heading=”Esimerkki 1″]Kävijä tekee verkkopalvelussa alla olevan polun. Verkkopalvelussa mitataan ainoastaan sivulatauksia, ei lainkaan eventtejä.

  • Hitti 1: Sivulataus sivulle A: 9:00:00
  • Hitti 2: Sivulataus sivulle B: 9:00:30
  • Hitti 3: Sivulataus sivulle C: 9:01:00 (lukee sivua tasan 3 minuuttia ja klikkaa sitten linkkiä toiseen verkkopalveluun)
  • [/alert]

    Esimerkin 1 kävijä vietti sivustolla tasan 4 minuuttia, mutta koska viimeisen sivulatauksen jälkeen ei lähetetty Analyticsiin yhtään hittiä, käynnin viimeisen sivun lukuaika jää kokonaan pois tuloksista. [highlight]Käynnin pituus esimerkissä 1 on siis 00:01:00 eli yksi minuutti.[/highlight] Sivulla A vietetty aika oli 30 sekuntia ja sivulla B vietetty aika niin ikään 30 sekuntia. Sivulle C ei tässä tapauksessa lasketa lainkaan sivulla vietettyä aikaa, koska emme tiedä sitä.

    Eventtien vaikutus ajan mittaukseen

    Asia mutkistuu, jos verkkopalvelussa mitataan myös eventtejä. Esimerkissä 2 oletetaan, että kävijän polku on täsmälleen sama kuin esimerkissä 1, mutta sillä erotuksella, että sivuston omistaja on sivulatausten lisäksi halunnut tietää myös sen, kuinka usein kävijät klikkaavat sivustolta ulos johtavia linkkejä.

    [alert type=”warning” close=”false” heading=”Esimerkki 2″]Kävijä tekee verkkopalvelussa alla olevan polun. Verkkopalvelussa mitataan sivulatausten lisäksi ulos johtavat linkit eventteinä.

  • Hitti 1: Sivulataus sivulle A: 9:00:00
  • Hitti 2: Sivulataus sivulle B: 9:00:30
  • Hitti 3: Sivulataus sivulle C: 9:01:00
  • Hitti 4: Event ulos johtavan linkin klikkauksesta 9:04:00
  • [/alert]

    [highlight]Esimerkissä 2 aika ensimmäisestä hitistä viimeiseen hittiin onkin 4 minuuttia yhden sijaan.[/highlight] Käynnin pituus siis nelinkertaistui eventin ansiosta.

    Ulos johtavien linkkien träkkäys tietenkin mittaa ajan täydellisesti tietenkin ainoastaan niiltä käyttäjiltä, jotka poistuvat sivustolta ulos johtavan linkin kautta. Jos esimerkin kävijä olisi linkin klikkauksen sijasta vain sulkenut selaimen tai jättänyt sen auki lounaalle lähtiessään, käynnin pituudeksi olisi jäänyt yksi minuutti.

    Tätä kautta päästään ajan mittaamisen suurimpaan sisäänrakennettuun ongelmaan. Koska aika mitataan hitistä hittiin, eikä kävijän poistumista voi aukottomasti mitata millään hitillä sillä tyypillisesti käyttäjä ei tee mitään erityistä lähdön hetkellä, Google Analyticsin raportoima keskimääräinen sivulla vietetty aika on lähes aina hieman todellista alhaisempi.

    Vaikka käynnin viimeisellä sivulla vietettyä aikaa on hankala mitata luotettavasti, jotain voidaan silti tehdä. Yksi tapa on lisätä mittaukseen aikaan sidottuja eventtejä, jotka laukeavat automaattisesti esimerkiksi 30 sekunnin tai yhden minuutin kohdalla sivulatauksen jälkeen, mikäli kävijä ei ole poistunut lataamaltaan sivulta. Silloin viimeinen sivu lisää käynnin pituuteen joko 0, 30 tai 60 sekuntia sen mukaan, kuinka pian sivulatauksen jälkeen käyttäjä poistui palvelusta.

    Sivun auki pitäminen selaimessa ei tietenkään aina tarkoita sitä, että käyttäjä sitä edes näkisi. Se ei ole tämän blogin aihe, mutta niille, jotka tämän ongelman parissa akuutisti painivat, voin lämpimästi suositella lisää luettavaa täältä.

    Interaction-event ja Non-interaction-event

    Tässä välissä on syytä tehdä lyhyt tutkimusmatka toiseen mittariin, bounce rateen. Bounce rate on yksi perinteisimmistä web-analytiikan mittareista. Se kuvaa, kuinka suuri osa käynneistä sisälsi vain yhden sivulatauksen. Bounssanneessa käynnissä kävijä ei siis edennyt sivustolla mihinkään eikä tehnyt mitään muutakaan tärkeää – näistä käynneistä ei ainakaan kannata maksaa. Katsotaanpa seuraavaksi, miten eventit vaikuttavat bounce raten mittaukseen.

    [alert type=”warning” close=”false” heading=”Esimerkki 3″]Kävijä tekee verkkopalvelussa alla olevan polun. Sivulatauksen lisäksi mittauksessa on mitattu eventteinä tietyn mainosbannerin impressiot.

  • Hitti 1: Sivulataus sivulle A: 9:00:00
  • Hitti 2: Event mainosbannerin latautumisesta sivulla A: 9:00:02[/alert]

    Esimerkin 3 kävijä ei tehnyt sivustolla yhtään mitään sivulatauksen lisäksi, mutta mainosbannerin latautumisesta tuleva event sotkee mittauksen. [highlight]Käynnin pituudeksi tulee kaksi sekuntia[/highlight], eikä käynti siis olekaan mittauksen mukaan bounssannut. Vaikka oikeasti olikin. Mikä avuksi?

    Ongelman voi korjata siten, että mainosbanner-eventin koodiin tuupataan lisämääre nonInteraction: true. Sen avulla kerromme Google Analyticsille, ettei tämä event mittaa mitään käyttäjän tekemää, joten sen ei haluta vaikuttavan millään tavalla bounce raten tai käynnin pituuden mittaamiseen. Niinpä:

    [content_band style=”color: #333;” bg_color=”#eeeeee” border=”all” inner_container=”true”] [custom_headline style=”margin-top: 0;” level=”h4″ looks_like=”h3″]Bounce rate[/custom_headline]Bounce Rate = niiden käyntien osuus, jotka sisälsivät ainostaan yhden interaction-hitin (käytännössä aina sivulataus).[/content_band]

    Ja lisäksi:

    [content_band style=”color: #333;” bg_color=”#eeeeee” border=”all” inner_container=”true”] [custom_headline style=”margin-top: 0;” level=”h4″ looks_like=”h3″]Avg Session Duration[/custom_headline]Käynnin pituus (Avg. Session Duration) = aika käynnin ensimmäisestä hitistä (yleensä sivulataus) viimeiseen interaction-hittiin (joko sivulataus tai interaction-event).[/content_band]

    Entäpä jos esimerkissä 3 käyttäjä olisi viettänyt sivulla 2 minuuttia, ja olisi sivulatauksen lisäksi lähettänyt myös yhden minuutin kohdalla edellisessä kappaleessa kuvatun aikaan sidotun interaction-eventin? Kyllä vain. Käynti ei olisi bounssannut, ja käynnin pituudeksi laskettaisiin yksi minuutti. Tällaiset aikaan sidotut eventit ovat useimmiten käytössä juuri bounce raten järkeistämiseksi sellaisilla sivustoilla, joilla etusivu sisältää jo paljon tietoa eikä käyttäjän välttämättä tarvitse klikata eteenpäin löytääkseen haluamansa. Siksi niitä kutsutaan Adjusted Bounce Rate -eventeiksi.

    Bounssanneet käynnit ja ajan mittaus

    Google Analytics ja käynnin pituus

    Tämä kuva paljasti totuuden: bounssanneet käynnit on laskettu mukaan käynnin keskimääräiseen pituuteen arvolla 0.

    No niin, tässä se tulee. Olen noin yhdeksän vuotta elänyt siinä uskossa, ettei Google Analytics ota käynnin kestoon mukaan lainkaan bounssaavia sessioita. Kuvittelin siis, että jos session pituus on 0, käyntiä ei laskettaisi mukaan lukuun lainkaan. Nyt olen käytännössä joutunut huomamaan, että tämä on nykyään täyttä sontaa. Kaikki käynnit lasketaan mukaan, ja bounssanneilla käynneillä arvo on 0. Logiikka kuitenkin eroaa sivulla vietetyn ajan mittaamisesta:

    [content_band style=”color: #333;” bg_color=”#eeeeee” border=”all” inner_container=”true”] [custom_headline style=”margin-top: 0;” level=”h4″ looks_like=”h3″]Bounssaavan käynnin pituus[/custom_headline]Jos käynti on bounssaa, eli sisältää vain yhden interaction-hitin, Google Analytics antaa
    käynnille pituudeksi 0:00:00. Bounssaavaa (tai yleisemmin käynnin viimeistä) sivulatausta ei kuitenkaan lasketa lainkaan mukaan sivulla vietyn ajan keskiarvoon (Avg. Time on Page).[/content_band]

    Tästä seuraa se, että joskus käynnin keskimääräinen pituus voi olla huomattavastikin yksittäisillä sivuilla vietettyä aikaa alhaisempi. Otetaanpa vielä viimeiset esimerkit:

    [alert type=”warning” close=”false” heading=”Esimerkki 4″]Kävijä tekee verkkopalvelussa alla olevan polun.

  • Hitti 1: Sivulataus sivulle A: 9:00:00[/alert][alert type=”warning” close=”false” heading=”Esimerkki 5″]Kävijä tekee verkkopalvelussa alla olevan polun.
  • Hitti 1: Sivulataus sivulle A: 9:00:00
  • Hitti 2: Sivulataus sivulle B: 9:02:00[/alert]

    Esimerkissä 4 käynnin pituus on 0, ja esimerkissä 5 tasan kaksi minuuttia. Näiden kahden käynnin keskiarvoksi tulee siis 1 minuutti. Jos taas tutkitaan sivulla A viettyä aikaa, esimerkin 4 käyntiä ei lasketa lukuun mukaan lainkaan, mutta esimerkissä 5 sivulla A vietetty aika on 2 minuuttia. [highlight]Lopputulos on se, että keskimäärin sivustolla vietetty aika on 1 minuutti, mutta suosituimmalla ländärillä keskimäärin vietetty aika 2 minuuttia.[/highlight]

    Näin se menee. Kiitos ja anteeksi.