Olemme silloin tällöin käsitelleet blogissamme tägienhallintaa ja tägienhallintajärjestelmiä. Kertauksena vielä: Tägienhallintajärjestelmää käytettäessä mittauskoodeja ei lisätä erikseen suoraan sivuston lähdekoodin joukkoon, vaan ne lisätään sivustolle erillisen järjestelmän kautta. Tägienhallintajärjestelmiä ovat esimerkiksi Google Tag Manager, Adoben Dynamic Tag Management, Ensighten ja Tealium. Blogistamme voit lukea mm. miksi tägienhallintajärjestelmää kannattaa käyttää (englanninkielinen kirjoitus).
Erilaisia tägienhallintajärjestelmiä yhdistää se, että niillä voi asentaa mittauskoodeja verkkosivustolle valmiiksi tehtyjen koodimallien avulla. Analytiikan ja mainonnan järjestelmille, kuten Google Analyticsille, on olemassa omat koodimallinsa ja helpommillaan mittauskoodin saa tehtyä vain lisäämällä koodimalliin valittua analytiikkajärjestelmää koskevan tilin tunnistenumeron sekä valitsemalla, minkälaisen tapahtuman yhteydessä mittauskoodi suoritetaan. Loppuosa tarvittavasta mittauskoodista, tägistä, on sisäänrakennettu koodimalliin.
Usein kuitenkin tullaan tilanteeseen, jossa analytiikkajärjestelmään halutaan välittää muutakin tietoa kuin sitä, mikä on jo sisäänrakennettuna koodimallissa. Analytiikkaan voidaan haluta mukaan esimerkiksi kävijän statukseen liittyvää tietoa, sivun kirjoittajaan liittyvää tietoa tai verkkokauppojen tapauksessa tuotteisiin liittyvää tietoa. Tämän toteuttamisessa auttaa tarvittavat lisätiedot kokoava datalayer-koodi.
Datalayerin ennalta määritetyn rakenteen ansiosta tägienhallintajärjestelmät ja niihin rakennetut koodimallit osaavat käyttää datalayeriin tallennettua tietoa varsin vähällä vaivalla, usein myös automaattisesti. Esimerkiksi Google Analyticsin mittauksen koodimalliin voidaan tägienhallintajärjestelmässä lisätä ylimääräinen dimensio “kävijän status”, johon poimitaan datalayeriin viety arvo “sisäänkirjautunut”. Tästä kirjoituksesta voit halutessasi käydä kertaamassa, mitä datalayer tarkoittaa.
Tägienhallintajärjestelmän suhteesta analytiikan mittaukseen sitkeästi elävä väärinkäsitys ulottuu myös datalayeriin. Toisin kuin välillä kuulee arveltavan, tägienhallintajärjestelmän asentaminen sivustolle ei yksistään suorita mittausta yhteenkään analytiikan järjestelmään. Tägienhallintajärjestelmän sisälle täytyy aina asentaa varsinaiset mittauskoodit, joilla mittauksen saa suoritettua.
Vastaavasti verkkosivulle sijoitettu datalayer-koodi muuttujineen ja arvoineen ei vielä itsessään tee mitään. Vasta, kun tägienhallintajärjestelmässä olevat mittauskoodit on asetettu käyttämään datalayeriin koottuja muuttujia, saadaan datalayerin tietoja välitettyä eteenpäin analytiikkajärjestelmille.
Eri tägienhallintajärjestelmien ymmärtämät datalayer-mallit eroavat rakenteeltaan hieman. Google Tag Managerin ymmärtämä datalayer on nimeltään “dataLayer”, Tealiumilla on käytössä “utag_data”, ja W3C (World Wide Web Consortium) -yhteenliittymällä on oma “digitalData”-standardinsa. Käytettävästä tägienhallintajärjestelmästä riippuu, mikä näistä datalayer-malleista kannattaa ottaa käyttöön. Hyvä puoli niissä kaikissa on kuitenkin se, että samaa datalayeriin koottua tietoa voidaan tarvittaessa hyödyntää myös muussa kuin analytiikan mittauksessa.
Sivustolle asennettua datalayer-koodia pääsee katsomaan mistä tahansa verkkosivusta avaamalla selaimen kehitystyökalut (developer tools). Esimerkiksi Mozilla Firefoxista ja Google Chromesta molemmista löytyy kehitystyökalujen alta Console-välilehti. Kun tämän Console-välilehden tyhjälle riville kirjoittaa “dataLayer” “digitalData”, tai muun datalayerin nimen, saa näkyviin datalayerin sisällön, mikäli sellainen verkkosivulla on olemassa. Datalayerin sisältö kootaan uudestaan jokaisen sivun latauksen yhteydessä, joten usein siitä löytyykin vain avoinna olevaa verkkosivua koskevaa tietoa. Poikkeuksena tähän ovat dynaamisesti päivitettävät ns. single page application -tyyppiset sivustot, joissa sivu ladataan vain kerran ja loppu sisällöstä päivitetään dynaamisesti ikään kuin tämän yhden sivun päälle.
Jos datalayeriin kerätään tietoja, jotka analytiikassa halutaan liittää verkkosivulta mitattavaan sivulataukseen, tulee datalayer sivun lähdekoodissa sijoittaa niin ylös, että se tulee selaimessa suoritetuksi ennen tägienhallintajärjestelmän kautta suoritettavia mittauskoodeja. Selain suorittaa verkkosivun lähdekoodia järjestyksessä ylhäältä alaspäin. Tavanomaisen html-koodin ja tyylitiedostojen ohella samaan suoritusjonoon päätyvät myös datalayer-koodi, tägienhallintajärjestelmän käynnistävä koodi sekä sen kautta ajettavat mittauskoodit. Parhaimmassa tapauksessa ensin valmistuu datalayer, sen jälkeen tägienhallintajärjestelmän koodi ja vasta viimeiseksi varsinaiset mittauskoodit.
Joissakin tapauksissa datalayeriin voidaan täyttää tietoja vasta, kun tägienhallintajärjestelmän käynnistävä koodi on jo suoritettu. Näin tapahtuu esimerkiksi mitattaessa sivun vieritystä tai tuotteen lisäämistä ostoskoriin. Tällöin tulee varmistaa, että varsinainen mittauskoodi suoritetaan vasta, kun datalayeriin tallennettava tieto on varmasti käytettävissä.
Joskus asiakkaat kysyvät “Minkäslainen datalayer meille nyt tarvitaan?” ja konsulttivastauksena on yleensä pakko todeta “No, se vähän riippuu…”. Valitettavasti datalayerista ei ole olemassa mitään universaalia kaikille sopivaa mallia. Datalayer itsessään vain kokoaa olemassa olevaa tietoa ja sen sisältö riippuu täysin siitä, millaista tietoa mittaukseen tarvitaan.
Määräävinä tekijöinä datalayerissa ovat lähinnä se, minkä nimistä datalayeria omalla sivustolla käytettävä tägienhallintajärjestelmä ymmärtää ja mitä sisältövaatimuksia datalayeria käyttävällä mittauskoodilla on sen suhteen. Tavanomaiseen sivulatausten mittaukseen voi riittää hyvinkin lyhyt lista muuttujia arvoineen, kun taas Google Analyticsin Enhanced Ecommerce -verkkokauppamittauksessa on hyvinkin tarkkaa, missä muodossa mitäkin tietoja datalayeriin kootaan. Tarkemmat määritykset yleensä selviävät kyseisen mittausjärjestelmän teknisestä dokumentaatiosta.