Tracking Code:
Erweiterungen, Tipps, typische Fehler
Analytics
Datenerfassung, -verarbeitung & -aufbereitung
Processing Engine
GATC
(JavaScript)
Besucher Browser
Web Server
Cookies
Logfile
Erstellen von
Feldern
Anwenden von
Filtern
Erstellen von
Berichten
Google Analytics
Server
Datenbank
2
4
3
1 5
6
7
8
9
10
Analytics
Google Analytics Tracking Code – GATC (1)
Derzeit drei Google Analytics Tracking Codes im Einsatz:
• urchin.js (2005 - 2007)
• ga.js (2007 - 2009)
• asynchroner Tracking Code (2009 - lfd.)
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX-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);
})();
</script>
Google Analytics Tracking Code – GATC (3)
Aufruf asynchroner Tracking Code
1 Skript-Deklaration 3 Skript-Herkunft 5 Übergabe Account Number.
2 Variablen-Definition 4 Skript-Ende 6 Tracking-Funktion
<head>
…
</head>
<body>
...
</body>
Implementierung des GATC (1)
GATC Verwendung
urchin.js Nicht empfohlen
ga.js Nicht empfohlen
asynch. TC Nicht empfohlen
<head>
…
</head>
<body>
...
</body>
Implementierung des GATC (3)
GATC Verwendung
urchin.js empfohlen
ga.js empfohlen
asynch. TC nicht empfohlen
<head>
…
</head>
<body>
...
</body>
Implementierung des GATC (3)
GATC Verwendung
urchin.js möglich
ga.js möglich
asynch. TC empfohlen
Die Cookies von
Google Analytics
Die utm First-Party Cookies
Cookie Beschreibung Gültigkeitsdauer
__utma Besucher-ID Verfällt nach 2 Jahren
__utmb Sitzungs-ID Verfällt nach 30 Minuten Inaktivität
__utmc Sitzungs-ID Verfällt beim Schließen des Browsers
__utmz Kampagnen-Werte Verfällt nach sechs Monaten
__utmv Benutzerdefinierte Segmentierung Verfällt nach 2 Jahren
__utma = Domain- und Besucher-Identifizierung
__utma=171169442.255036238.1115176675.1115176675.1115176675.1
Eindeutige ID
* Anzahl der Besuche auf der Website
** Tool zur Umrechnung unter http://muscul.us/unix-time
Gemessen in UNIX Zeit
(Sekunden nach 1970**)
__utmb & __utmc = Sitzungs-Identifizierung
• __utmb verfällt nach 30 Minuten
• __utmc wird beim Schließen des Browsers gelöscht
Uhrzeit1 Uhrzeit2 Uhrzeit3
Ausführung
JavaScript
__utmb verfällt um
Uhrzeit1+ 30 min.
Ausführung
JavaScript
__utmb verfällt um
Uhrzeit2+ 30 min.
Ausführung
JavaScript
__utmb verfällt um
Uhrzeit3+ 30 min.
__utmz = Kampagnen-Cookie
__utmz= 173272373.1240239882.30.4.utmcsr=google.com
|utmccn=(referral)|utmcmd=referral|utmctr=analytics
Szenario:
Cross-Domain-Tracking
Cross-Domain-Tracking (1)
Was ist eine Domain?
• Ein Hostname, der für eine nummerische IP-Adresse steht (ähnlich wie
z. B. Straßennamen anstelle von GPS-Daten zu benutzen)
Zwei Domains von webalytics
webalytics.de opt-me-out.de
Cross-Domain-Tracking (2)
• Google Analytics setzt First-Party Cookies ein. Dadurch kann der
GATC nur mit Cookies der gleichen Domain interagieren.
• Die Funktion _link() ermöglicht Analytics nun, Besucher über
zwei Domains nachzuverfolgen.
Cross-Domain-Tracking (3)
Um die Websites zu verbinden, sind zwei Schritte nötig:
1. Verwenden Sie _link in Links zwischen den Domains
<a href="http://www.urchin-
appliance.com/"
onclick="_gaq.push(['_link', 'http:
//www.opt-me-out.de/']); return
false;“
>OptMeOut</a>
<a href="http://www.webalytics.
de/"
onclick="_gaq.push(['_link', 'http:
//www.webalytics.de/']); return
false;“
>webalytics</a>
Cross-Domain-Tracking (4)
Um die Websites zu verbinden, sind zwei Schritte nötig:
2. Anpassen des GATC in beiden Sites
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
Szenario:
Cross-Subdomain-Tracking
Cross-Subdomain-Tracking (1)
Was ist eine Subdomain?
• Teil einer großen Domain
• Oftmals eingesetzt für Abteilungen, Standorte, Gruppierung, etc.
www.webalytics.de blog.webalytics.de shop.webalytics.de
Subdomains von webalytics.de
Cross-Subdomain-Tracking (2)
Setzen Sie den Wert für _setDomainName auf die Haupt-
Domain, damit der GATC auf Cookies verschiedener Subdomains
zugreifen kann.
_gaq.push(['_setDomainName', '.webalytics.de']);
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_setDomainName', '.my-domain.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
Szenario:
Eine Site – viele Profile
Eine Site – viele Profile (1)
Manchmal ist es gewünscht, die Nutzungsdaten einer Site in mehreren
Profilen zu erfassen:
Profil
www.webalytics.de
Profil
blog.webalytics.de
Profil
shop.webalytics.de
Profil
Overall
Profil
Blogs
www.webalytics.de
blog.webalytics.de
shop.webalytics.de
www.opt-me-out.de
Eine Site – viele Profile (2)
Mehrfachdeklaration von Variablen für den Inhalt _gaq || []
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX-5']);
_gaq.push(['_trackPageview']);
var _overallgaq = _gaq || [];
_overallgaq.push(['_setAccount', 'UA-XXXXXX-12']);
_overallgaq.push(['_trackPageview']);
var _blogsgaq = _gaq || [];
_blogsgaq.push(['_setAccount', 'UA-XXXXXX-38']);
_blogsgaq.push(['_trackPageview']);
Profil
blog.webalytics.de
(UA-XXXXXX-5)
Profil
Overall
(UA-XXXXXX-12)
Profil
Blogs
(UA-XXXXXX-38)
Szenario:
Kampagnenvariablen anderer
Programme adaptieren
Kampagnenvariablen adaptieren (1)
Sofern Kampagnenlinks bereits für andere Tracking Tools erstellt wurden,
ist die Adaption der Tags nötig (Beispiel: Coremetrix)
http://www.webalytics.de/ga-training/?cm_ven=social&cm_cat=social-
media&cm_pla=Google_Analytics_Training&cm_ite=Website_Controlling_mit_
Google_Analytics
Kampagnenvariablen adaptieren (2)
Adaption der Tags (Beispiel: Coremetrix):
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_setCampNameKey', 'cm_pla']);
_gaq.push(['_setCampMediumKey', 'cm_ven']);
_gaq.push(['_setCampSourceKey', 'cm_cat']);
_gaq.push(['_setCampContentKey', 'cm_ite']);
_gaq.push(['_trackPageview']);
Szenario:
Daten nur für ein
Unterverzeichnis erheben
Datenerhebung auf Unterverzeichnis (1)
Die Verzeichnisstruktur soll in unterschiedlichen Profilen erfasst werden
(Beispiel: Sprachen)
http://www.webalytics.de/
Profil
www.webalytics.de/en/
http://www.webalytics.de/en/
Datenerhebung auf Unterverzeichnis (2)
Angabe des zu trackenden Verzeichnisses über _setCookiePath:
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_setCookiePath', '/verzeichnis/']);
_gaq.push(['_trackPageview']);
Szenario:
Pageview gezielt erzeugen
Pageview gezielt erzeugen (1)
Anstelle des eigentlichen URLs soll ein anderer URL als Pageview
aufgezeichnet werden (Beispiel: Checkout-Prozess)
../index.php?step=1
../index.php?step=2
../index.php?step=3
../index.php?step=4
(Rechnungsadresse)
(Versandart)
(Zahlart)
(Bestellung absenden)
Pageview gezielt erzeugen (2)
Angabe des zu erfassenden Pageviews über _trackPageview:
_gaq.push(['_trackPageview',
'/checkout/Rechnungsadresse/']);
_gaq.push(['_trackPageview',
'/checkout/Versandart/']);
_gaq.push(['_trackPageview',
'/checkout/Zahlart/']);
_gaq.push(['_trackPageview',
'/checkout/Bestellung_absenden/']);
Weiterführende
Code Anpassungen
Anpassen der Sitzungsdauer
• Standardwert beträgt 1.800.000 Millisekunden (30 Minuten)
• Anpassung durch Hinzufügen einer Zeile im GATC auf jeder
Seite
• Beispiel: Änderung der Sitzungsdauer auf 1 Stunde
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_setSessionCookieTimeout', 3600000]);
_gaq.push(['_trackPageview']);
Gültigkeitsdauer für Kampagnen-Cookie ändern
• Standardwert ist 15.768.000.000 Millisekunden (6 Monate)
• Anpassung durch Hinzufügen einer Zeile im GATC auf jeder
Seite
• Beispiel: Änderung der Gültigkeitsdauer auf 30 Tage
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_setCampaignCookieTimeout', 2592000000]);
_gaq.push(['_trackPageview']);
Zusätzliche Suchmaschinen identifizieren
• Analytics erfasst Verweise von mehr als 30 Suchmaschinen
• Änderung durch Hinzufügen folgender Zeilen in den GATC auf
jeder Seite: _gaq.push(['_addOrganic', 'search engine', 'query token']);
• Beispiel: http://www.supersearch.com/search?p=global
GATC müsste nun um folgende Zeile ergänzt werden:
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_addOrganic', 'supersearch', 'p']);
_gaq.push(['_trackPageview']);
Keywords als „Direkt“ behandeln
• Sie möchten manchen Keywords eventuell keine Bedeutung
beimessen (z. B. Suchen nach dem eigenen Sitenamen).
• Änderung durch Hinzufügen folgender Zeilen in den GATC auf
jeder Seite: _gaq.push(['_addIgnoredOrganic', 'keyword']);
• Beispiel: Die Suchbegriffe webalytics, webalytics.de und www.webalytics.de
sollen ignoriert werden. Der GATC müsste nun um folgende Zeilen
ergänzt werden:
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_addIgnoredOrganic', 'webalytics']);
_gaq.push(['_addIgnoredOrganic', 'webalytics.de']);
_gaq.push(['_addIgnoredOrganic', 'www.webalytics.de']);
_gaq.push(['_trackPageview']);
Verweise als „Direkt“ behandeln
• Sie möchten manchen verweisenden Websites eventuell keine
Bedeutung beimessen.
• Änderung durch Hinzufügen folgender Zeilen in den GATC auf
jeder Seite: _gaq.push(['_addIgnoredRef', 'ignored_site']);
• Beispiel: Die verweisende Website www.urchin-appliance.com soll ignoriert
werden. Der GATC müsste nun um folgende Zeilen ergänzt werden:
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_addIgnoredRef', 'www.urchin-appliance.com']);
_gaq.push(['_trackPageview']);
Datenerhebung im lokalen Webserver-Logfile
• Sie möchten die an Google Analytics übertragenen Daten auch
im lokalen Webserver-Logfile speichern.
• Die so erhobenen Daten können dann mit Urchin Software, dem
käuflichen Pendant zu Google Analytics, ausgewertet werden.
Mehr dazu unter: http://muscul.us/urchin und
http://muscul.us/ga-backup
• Änderung durch Hinzufügen folgender Zeilen in den GATC auf
jeder Seite: _gaq.push(['_setLocalRemoteServerMode']);
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_setLocalRemoteServerMode']);
_gaq.push(['_trackPageview']);
IP-Adressen anonymisieren
Im Rahmen der Datenschutzdiskussion kann über die Einbindung der Funktion _anonymizeIp das letzte Oktett einer IP-Adresse
genullt werden.
Mehr dazu unter: http://muscul.us/anonymizeIp
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_gat._anonymizeIp']);
_gaq.push(['_trackPageview']);
Fragen & Antworten