Legg til hendeslessporing for Google Analytics til Ninja Blocks

Google Analytics (GA) har mulighet for å legge til sporing av enten sidevisning eller hendelse via en egen måleprotokoll (Measurement Protocol). Kort fortalt så spores sider og hendelser via javascript. Men ved å sende en forespørsel til en egen URL til GA så kan man sende inn sporinger uten javascript. Her skal jeg forsøke å beskrive hvordan man setter opp en slik URL og hvordan jeg bruker den sammen med Ninja Blocks.

TL;DR

Ved å legge til en webhook for Ninja Blocks kan man legge til sporing i Google Analytics. Legg til http://www.google-analytics.com/collect som URI og eksempelvis v=1&tid=UA-XXX-Y&cid=555&t=event&ec=Bevegelse&ea=Åpnet&el=Ytterdør som POST data. Opprett så en regel som utfører sporingen.

Google Analytics

Grunnleggende

Først må man opprette en GA-konto (noe jeg regner med at du allerede har) og finne sporings-IDen. Sporings-IDen ser typisk slik ut UA-12345678-9. Så må man bygge opp URL-en man skal sende et kall til. URL-en må se slik ut (dette er minstekravet): http://www.google-analytics.com/collect?v=1&tid=UA-XXXX-Y&cid=555&t=pageview
Hvis vi bryter den ned litt så ser vi hvilken elementer URL-en består av

Element Forklaring
http://www.google-analytics.com/collect URL
v=1 Versjon (i skrivende stund 1)
tid=UA-XXX-Y Bytt ut UA-XXX-Y med din sporings-ID
cid=555 Tillater anonym sporing
t=pageview Type sporing (pageview eller event)

Hendelsessporing

For å spore en spesiell hendelse så trenger vi å legge til noen ekstra parametere. Målet mitt er å registrere en spesifikk hendelse som jeg sendere skal bruke med min Ninja Blocks. Derfor legger jeg til følgende elementer i URL-en:

Element Forklaring
http://www.google-analytics.com/collect URL
v=1 Versjon (i skrivende stund 1)
tid=UA-XXX-Y Bytt ut UA-XXX-Y med din sporings-ID
cid=555 Tillater anonym sporing
t=event Type sporing (pageview eller event)
ec=Bevegelse Hendelseskategori
ea=Åpnet Handling
el=Ytterdør Hendelsesetikett

Som du ser så har jeg lagt til noen nye elementer. Disse er kategori, handling og etikett. Så min komplette URL er nå ferdig og jeg kan teste den direkte i nettleseren for å se at sporingen blir slik jeg ønsker i GA.

http://www.google-analytics.com/collect?v=1&tid=UA-XXX-Y&cid=555&t=event&ec=Bevegelse&ea=Åpnet&el=Ytterdør

Ninja Blocks Webhook

For Ninja Blocks kan man legge til noe de kaller for en webhook. Jeg vet ikke om noen god norsk oversettelse av ordet webhook, så jeg bruker det engelske ordet. Da kan man benytte denne som en del av et regelsett. Jeg regner med at du er kjent med Ninja Blocks og hvordan opprette en regel.

Hvis du ikke har aktivert webhook så gå til Settings –> Sevices og aktiver Webhook. Nå vil det dukke opp et nytt element på forsiden hvor man kan administrere webhook-er.

Opprett webhook

  1. Trykk på «Add a webhook»
  2. Velg så «Outbound Webhook (Actuator)» i nedtrekksmenyen
  3. Gi den et navn, f.eks «GA – Ytterdør»
  4. Legg til «Webhook URI»:
    http://www.google-analytics.com/collect
  5. I feltet «POST data» legges resten av URL-en til:
    v=1&tid=UA-XXX-Y&cid=555&t=event&ec=Bevegelse&ea=Åpnet&el=Ytterdør

Merk at spørsmålstegnet før v=1 ikke er med på punkt 5.

Ninja Blocks webhook GA
Skjermbilde av opprettelse av en webook.

Etter at webhooken er opprettet så må man lage en regel som kjører webhooken ved en eller annen hendelse. I mitt tilfelle har jeg en trådløs dørsensor. Hver gang døren åpnes så registreres det som en hendelse (event) i GA.