tip

Mål effekten af din SEO med Google Analytics

Skrevet af Esben Rasmussen i Google Analytics, SEO     Comments 25 kommentarer      
dec
13

Med denne vejledning kan du se hvor godt dine søgeord ligger i Google, direkte i Google Analytics.

SERP monitoring in Google Analytics

For at Google Analytics ved hvilken placering dit søgeresultat har, skal Google vide, hvor denne oplysning kan findes.

Dette kan løses på to måder:

  1. Ved at tilføje en smule kode til den eksisterende Google Analytics kode (kan drille i nogle browsere)
  2. Ved at oprette et avanceret filter i Google Analytics

Jeg vil nu gennemgå begge metoder

Metode nr. 1 – analytics kode

Den normale Google Analytics kode ser sådan ud:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

Tilføj nu følgende kode

if(document.referrer.length > 0){
var regex = new RegExp("cd=([0-9]+)");
var match = regex.exec(document.referrer);
var rank = match[1];

if (match) {
_gaq.push(['_trackPageview', '/googleRank/' + rank + '.html']);
}
}

så den samlede kode ser således ud:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);

/* Ny indsat kode */

if(document.referrer.length > 0){
var regex = new RegExp("cd=([0-9]+)");
var match = regex.exec(document.referrer);
var rank = match[1];

if (match) {
_gaq.push(['_trackPageview', '/googleRank/' + rank + '.html']);
}
}
/* Ny indsat kode slut */

_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

Metode nr. 2 – avanceret filter

Gå ind i din filteradministration (findes pt. i nederste højre hjørne af din konto) og vælg Opret et nyt filter.

[Se evt. billede under beskrivelsen]

  1. Giv dit filter et sigende navn – såsom SEO overvågning, SERP tracking eller tilsvarende – så du selv let kan genkende dit filter og hvad det gør
  2. Vælg nu filtertypen Tilpasset filter
  3. Vælg undertypen Avanceret
  4. Klik i listen ud for Felt A -> Uddrag A og scroll ned og vælg Henvisning
  5. I det tomme tekstfelt til højre herfor skal du indtaste “cd=([0-9]+)” – uden citationstegn
  6. Lad felterne ud for Felt B -> Uddrag B være tomme
  7. Klik i listen ud for Output til -> Konstruktør og vælg Forespørgsels-URI
  8. I tekstfeltet til højre herfor skal du indtaste “/googleRank/$A1.html” – uden citationstegn
  9. Sørg for at Felt A er krævet er sat til Ja
  10. Sørg for at Felt B er krævet er sat til Ingen
  11. Sørg for at Tilsidesæt Output-felt er sat til Ja
  12. Sørg for at Forskel på store og små bogstaver er sat til Ingen
  13. Vælg en profil (eller vent med det til senere), der skal anvende dette filter (sørg for at det ikke er din normale profil)
  14. Klik på Gem ændringer

 

Opsætning af filter til at lave virtuelle pageviews med SEO rank info

 

Har du fulgt en af de to ovenstående metoder, vil Google Analytics gemme den position, som dit resultat havde i Google (da det pt. er den eneste søgemaskine hvor dette trick virker), da brugeren klikkede på det.

Måden det bliver gemt på er via et såkaldt “virtual pageview” – dvs. en falsk sidevisning.

Kommer der et besøg fra et af dine søgeresultater og det resultat ligger som nr. 4 i Google, vil det blive registreret som en visning af siden: /googleRank/4.html

For at undgå at din statistik bliver mudret til af ekstra falske sidevisninger, vil jeg anbefale, at du i Google Analytics opretter en ny profil, hvor disse ekstra sidevisninger gerne må tælles med, mens du frafiltrerer dem på din normale profil… Har du anvendt metode nr. 2 er det ikke nødvendigt at frafiltrere, da det kun er den profil, som du har anvendt filteret på, der får tilføjet de ekstra virtuelle sidevisninger.

Når du frafiltrerer kan du nøjes med at frafiltrere besøg på sider, hvori ordet googleRank indgår.

Er du i tvivl om, hvordan du gør, kan du læse mere om filtre og profiler hos Google.

Næste side: Opsæt rapporten i Google Analytics.

Sider: 1 2 3

25 kommentarer til “Mål effekten af din SEO med Google Analytics”

  • Uha – god artikel!

    • Mange tak. 🙂

  • Interessant måde at måle placeringen i Google, den tror jeg aldrig jeg har set før. Men den giver også lidt problemer. For ikke kun giver det for mange sidevisninger, men det giver også en bouncerate=0 på besøg fra Google. men det vil også løses af at sortere de ekstra sidevisninger fra i den korrekte profil.

    En anden metode jeg synes er mere interessant: http://www.seomoz.org/blog/tracking-organic-ranking-in-google-analytics-with-custom-variables

    Her bruges custom variables, og giver spændende muligheder også uden at “ødelægge” data på samme måde 🙂 På en god dag er det snart indbygget i Yoasts WordPress Analytics plugin.

    • Hej Jacob

      Tak for rådene 🙂

      Du skriver at metoden giver problemer, men er de ikke løst, hvis man følger mit råd nederst på første side… eller er der noget, jeg har overset?

      Og jeg takker for henvisningen til SEOmoz-metoden – det var faktisk den der inspirerede mig. Jeg bruger den nemlig allerede, men blev bare lidt træt af den, da min fantasi kun rakte til, at jeg lavede en custom report over søgeord (dimensionen er søgeord, hvor datakilderne er besøg, bounce, gns. tid osv.), hvor jeg så kunne klikke mig ind på de enkelte ord for at se, hvilken ranking, det havde…

      Synes det var lidt for bøvlet, når det jeg egentligt manglede var en oversigt over, hvordan mine søgeord performede.

      Den eneste løsning, jeg lige umiddelbart kunne se, var denne, da jeg så kan bruge custom data i datafelterne og ikke kun være begrænset til at bruge custom data som dimension (ved at vælge tilpasset variabel).

  • Er man ikke gået over til den asynkrone kode endnu, kan man opnå samme resultat med følgende GA kode:

    ————————————————————-
    [HUSK START SCRIPT TAG]
    var gaJsHost = ((“https:” == document.location.protocol) ? ” https://ssl.” : “http://www.”);
    document.write(unescape(“%3Cscript src='” + gaJsHost + ” google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
    [HUSK SLUT SCRIPT TAG]

    [HUSK START SCRIPT TAG]
    try{

    var pageTracker = _gat._getTracker(‘UA-XXXXX-X’);

    //Referrer doesn’t always display – depends on browser settings!

    var regex = new RegExp(“cd=([0-9]+)”);
    var match = regex.exec(document.referrer);
    var rank = match[1];

    //Pause SERP tracking

    pageTracker ._trackPageview();

    /* continue SERP tracking */

    if (match) {
    pageTracker ._trackPageview(‘/googleRank/’ + rank + ‘.html’);
    }

    } catch(err) {}
    [HUSK SLUT SCRIPT TAG]

    ————————————————————-
    Desværre kan jeg ikke her i kommentarfeltet angive javascript start og slut tags, så dem må man lige selv tilføje.

  • […] [This is the english translation of my danish article] […]

  • Ja, super godt artikel, smart og nem måde at tjekke sine placeringer på.

    Godt nytår til jer alle.

    • Hej René

      Dejligt at høre at du kan bruge artiklen.

      Du og alle andre må også have et rigtigt godt nytår.

      Og for at gentage et SEO-tip, jeg modtog via Twitter i går:

      “Pas på fingrene nytårsaften. Det er sku’ svært at linkbuilde, skrive lækre titles osv. med 1 finger.”

      Citat @Rune_hansen.

      🙂

  • Hej Esben

    Super god artikel – og rigtig fed gennemgang.
    Dog får jeg en lille fejl i IE .. og undrede mig over om jeg var den eneste.

    IE nævner en fejl :
    match.1′ er null eller ikke et objekt

    Linjen i GA koden er så :
    var _gaq = _gaq || [];

    (dog tror jeg fejlen IE ser er i)
    var rank = match[1];

    Jeg har google lidt – men finder ikke rigtig svar på det.
    Hva tænker du ?

    Der er absolut intet galt i Firefox – og Chrome
    Men Esben – Hammer god artikel i al & fald 🙂

    Mvh. Kimo

  • Hej Esben

    Supermand mange tak for responsen.
    Og endnu mere tak for linket. Det skal helt klart testes af

    Det underlige er jo at fejlen KUN forekommer i IE .. – har så dog heller ikke den helt store
    dille til den browser .. ha ha

    Jeg hentede IE Tester – ( Et IE Tester Tool) – og her kommer fejlen frem med det samme.
    Du ve´ – Jeg blev blot lidt bange for at andre også fik den fejl i deres IE – når jeg indsatte GA koden.

    Well – jeg tester mig lidt frem.
    Holder dig naturligvis orienteret

    Mvh. Kimo

  • Hej Esben

    Ville lige tjekke om du evt. kan se fejlen.

    Prøv at se det her test domæne – IE viser her hos mig en et gult udråbstegn i browseren
    Klikker jeg på det får jeg fejlen frem.

    http://enslev.cus2mer.com/

    Nåhh se om du får lidt overskud til at det.
    Jeg roder videre – og holder dig naturligvis ajour, såfremt jeg hitter en solution

    Mvh. Kimo

    • Hej Kimo

      Så har jeg fået tid til at kigge lidt nærmere på koden, og fejlen opstår, fordi din browser ikke leverer en referer, som koden kan anvende reg ex på.

      Prøv at se, hvad der sker, hvis du går på Google og laver en søgning på noget, som du ved din hjemmeside kan findes på og så prøv at klikke på linket ind til din hjemmeside. Nu skulle din hjemmeside gerne være uden fejl – fordi du kom fra Google.

      Et simpelt fix er at pakke min kodetilføjelse ind i:

      if(document.referrer.length > 0){
      EKSISTERENDE SEO TRACKING KODE
      } //Dvs. koden køres kun, hvis der er en referer

      Dog kan du muligvis stadig få en fejl, hvis du har en referer, der ikke er Google. Du kan evt. supplere med at ordene “google” samt “cd=” også skal indgå i referer, hvis du vil være helt sikker.

      Prøv at tjekke om ikke det virker.

  • Hej Esben

    Super duper mange fantastisk tak for din respons.

    Hmmm .. ææhhmm – altså jeg synes ikke helt det har hjulpet ..
    Men jeg er altså heller ikke lige så hardcore GA champ – som dig .. ha ha
    Jeg har nu pakket koden ind i If statementet ..

    Men jeg ved skiisme ikke – fejlen bliver ved med at dykke op…damn.
    Jeg lurer lige lidt videre – og holder dig naturligvis orienteret.

    Esben – endnu engang 1000 mange tak.

    Mvh. Kimo

    • Hmm… Prøv evt. lige at lave en Ctrl + F5 på din testside (tvungen refresh, hvor du også refresher din cache på din pc).

      Jeg har lige været inde på http://enslev.cus2mer.com/ og får ikke længere nogen fejlmelding i IE (hvilket jeg gjorde før) – set herfra ser det ud som om, at du har fikset fejlen.

  • Hola Esben ..

    1000 mill tak for responsen. Nu skal du altså ikke ligge flere kræfter i det.
    Det er sikkert mit CMS der driller lidt.

    Jeg har både lavet refreash – samt dns flush..
    Men noop – fejlen hopper frem med det samme. Det jeg så lige ville teste var et
    besøg på sitet fra en simpel kontor pc her på jobbet –

    Og bum – IE smider sågar en grå script boks op med fejlen i.
    Men jeg borer lige lidt videre på det.

    Endnu engang 1000 tak for alt

    Mvh. Kimo

  • Mega fedt du kører på Kim, og fedt du hjælper Esben. Kim er blandt mine stjerne elever på min analytics uddannelse 🙂

  • Hola Esben og Jacob

    1000 mill tak for rosen 🙂 ha ha ha
    Og super tak for sidst Jacob

    Jeg roder pt lige med at indsætte dele af Yoast php koden
    ——————————————————————————-

    if (document.referrer.search(/[\?|&]cd=/) != -1
    && document.referrer.search(/google\./) != -1) {
    var rank=document.referrer.match(/[&|\?]cd=([\d]+)/);
    _gaq.push([‘_setCustomVar’,1,’rank’,rank[1],3]);
    }
    ——————————————————————————-
    Meeen det driller lidt .. ha ha

    Well drenge vi snax garanteret ved

    Mvh. kimo

    • Hej Jacob og Kim(o)

      Det er altid spændende, når folk kan bruge ens viden – tyder jo på, at den ikke er helt spildt 😉

      @Jacob Kan godt forstå at Kim er en stjerneelev, han lægger jo også en god energi i det uden at give op – det er som regel det, der skal til, når man vil lære noget. 🙂

      @Kim Jeg må nok melde pas på den fejl for som sagt, så får jeg den ikke selv efter du tilføjede if-sætningen.

      Jeg har udvidet min vejledning med en guide til, hvordan man helt uden ekstra kode kan spore nøjagtigt det samme i Google Analytics ved at bruge et filter… Det burde også kunne løse dine problemer Kim.

      Lad endelig høre, hvordan det går.

  • Hej Esben

    Ha ha ha – Gi op!!! .. never .. GA is forever …
    Og specielt efter dine geniale artikler

    Det jeg pt. lige er ved at forsøge er at tjekke din sublime kode
    i et andet CMS. Blot for at se om det drøner uden IE problemer her.

    Du skriver noget om en vejledning til en anden model – Bum bum ..
    den vil jeg skisme gerne have et kig på. Kan jeg se den et sted herpå sitet.

    Esben – endnu enang millioner tak for hjælpen.
    Det er personer som dig og Jacob der gør GA konge interessant

    Mvh. Kimo

    • Hehe God fighterånd!

      Beklager jeg ikke lige fik skrevet det før – jeg har opdateret denne artikel, så nu skulle du også gerne, på denne side, kunne se hvordan det kan klares via filtre.

  • Hej Esben

    Super brilliant – med artiklen .. ( endnu engang)
    og jeg drøner lige videre på dit opdate.

    Men du / i hører klart fra mig på alt hvad jeg finder ud af.

    Mvh. kimo

  • […] Spor med pageviews så du kan sætte det op som mål […]

  • Hej Esben,

    Tak for en god artikel. Jeg har opsat det med pageviews, men kunne godt tænke mig at at se placeringerne i forhold til salg. Ved du hvordan jeg smartest gør det, og om det overhovedet er muligt?

    • Hej Nikolaj

      Tak for feedbacken 🙂

      Har jeg forstået dig ret, hvis du i stedet for at se din google ranking, gerne vil se antal salg fordelt på søgeord?

      Nevermind! Jeg skal vist bare tage at åbne øjnene:

      …kunne godt tænke mig at at se placeringerne i forhold til salg

      Umiddelbart tænker jeg, at den letteste måde at opnå det på vil være, hvis du opretter din kvitteringsside som et mål/goal og så føjer dette mål til din custom rapport, så den nu består af:

      Unique Visitors|Opnåede mål 1|Opnåede mål 2|Opnåede mål 3|Opnåede mål 4|Opnåede mål 5|Opnåede mål 6|KvitteringsSide

      Dimensionen er stadig Søgeord. Du kan evt. overveje at tilføje en underdimension bestående af f.eks. e-handel|produktnavn eller e-handel|transaktion.

      Hvis du ikke har noget mod at rode med koden, kan du i stedet for at bruge kvitteringssiden som mål (et besøg på den kan jo godt dække over f.eks. 2 køb, hvis folk har lagt flere ting i kurven), vælge at oprette virtuelle sidevisninger baseret på antallet af købte varer. Det vil i grove træk være det samme, som jeg har gennemgået for at få fat din Google rank, men her skal du så i stedet oprette en virtuel sidevisning, hvor tallet dækker over antallet af købte varer i stedet for en rank.

      Sporer du kun besøg på din kvitteringsside (din kvitteringsside er oprettet som mål), så sporer du antallet af kunder der køber. Sporer du derimod antallet af varer på kvitteringssiden, så sporer antallet af solgte varer. Så spørgsmålet er, om du er mest interesseret i hvilket søgeord, der sælger flest varer eller om du er mere interesseret i hvilket søgeord, der giver flest kunder. Nå, ja og så afhænger det også af, om du er frisk på at rode med koden selv. 🙂

      Under alle omstændigheder skulle det jeg foreslår resultere i en ekstre kolonne i din rapport, som du så kan vælge at sortere rapporten på baggrund af.

      Håber det hjalp 😀

Post comment on Esben

Please insert the signs in the image: