• Skip to primary navigation
  • Skip to content

Lukas Pugstaller

  • Blog
  • Kontakt

Google Analytics: Tracking Code mit Datenschutz

18. Januar 2015 von Lukas Pugstaller 8 Kommentare

Google Analytics ist das vermutlich am weitesten verbreitete und meistgenutzte Tracking Tool wenn es darum geht Werte wie Besucherzahlen, Absprungraten, Conversions und viele mehr zu messen.
Der Standard-Analytics-Code, der für das Tracking auf der Webseite eingebaut werden muss, erfüllt zwar seinen Zweck, aber mehr auch nicht. Da man den Tracking-Code mit wenigen Handgriffen an seine eigenen Bedürfnisse anpassen kann, zeige ich euch mögliche Erweiterungen für mehr Datenschutz bei Google Analytics.

Zur Information: Dieser Artikel bezieht sich auf das neue Universal Analytics.

Der Standard-Tracking-Code

So sieht der Tracking-Code aus, den Google mir empfiehlt auf dieser Webseite einzubetten:

1
2
3
4
5
6
7
8
9
10
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('send', 'pageview');
 
</script>

So weit, so gut! Aber jetzt zu den Anpassungen.

Google Analytics und der Datenschutz

Was den Datenschutz betrifft, muss man den Tracking-Code von Google Analytics anpassen, denn dieser übermittelt per Standard die gesamte IP-Adresse des Nutzers an Googles Server in den USA. Im schlimmsten Fall werden die erhobenen Daten auch noch unverschlüsselt via HTTP gesendet.
Personen die viel Wert auf Ihren Datenschutz legen, schlagen dabei die Hände über dem Kopf zusammen. Das muss aber nicht sein, denn mit genau zwei Zeilen mehr im Tracking-Code ist dieses Problem gelöst.

Google Analytics: IP-Adresse anonymisieren

Um die IP-Adresse des Besuchers zu verschleiern, muss man lediglich die Zeile

ga('set', 'anonymizeIp', true);

vor

ga('send', 'pageview');

einfügen. Dadurch wird das letzte Byte der IP-Adresse entfernt. Hat der Besucher beispielsweise die IP-Adresse 192.168.2.64 wird an Google nur 192.168.2.0 übermittelt.
Mehr Informationen zu diesem Thema bietet Google hier: IP-Anonymisierung in Google Analytics

Der erweiterte Code sieht danach so aus:

1
2
3
4
5
6
7
8
9
10
11
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('set', 'anonymizeIp', true);
  ga('send', 'pageview');
 
</script>

Google Analytics zur sicheren Verbindung zwingen

Verwendet man auf der eigenen Webseite keine verschlüsselte Übertragung via HTTPS, sendet Google Analytics die Daten ebenfalls unverschlüsselt durch das Netz. Da man nicht für jede Webseite, auf der man Google Analytics verwenden möchte, ein SSL-Zertifikat kaufen will, kann man auch dieses Problem mit nur einer zusätzlichen Zeile im Tracking-Code lösen.
Die Zeile

ga('set', 'forceSSL', true);

muss ebenfalls vor

ga('send', 'pageview');

eingefügt werden. Damit werden die von Analytics aufgezeichneten Daten via verschlüsselter Verbindung an die Server in den USA gesendet.

Mit den vorherigen und diesen Änderungen sollte der Tracking-Code nun so aussehen:

1
2
3
4
5
6
7
8
9
10
11
12
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('set', 'anonymizeIp', true);
  ga('set', 'forceSSL', true);
  ga('send', 'pageview');
 
</script>

Die Reihenfolge der Code-Erweiterungen (IP-Anonymisierung und Übertragung via HTTPS) ist dabei egal. Wichtig ist nur, dass die Zeilen vor ga('send', 'pageview'); eingefügt werden, da diese Zeile für die Übermittlung der Daten zuständig ist und es danach zu spät für eine Verschlüsselung bzw. IP-Anonymisierung wäre.

Google Analytics Opt-out ohne Browser-Add-on anbieten

Wer mit dem Computer im Internet surft, hat ohnehin die Möglichkeit mit dem Browser-Add-on zur Deaktivierung von Google Analytics das Tracking seines Besuchs zu unterbinden.
Dieses Plugin ist jedoch zur Zeit noch nicht für Handys und Tablets verfügbar weshalb man diesen Nutzern eine andere Möglichkeit zum Opt-out bieten sollte.

Dazu sind aber zwei Dinge notwendig:

1. Vor dem Google Analytics Tracking-Code muss folgendes Skript eingefügt werden:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
// Set to the same value as the web property used on the site
var gaProperty = 'UA-XXXXXXXX-X';
 
// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  window[disableStr] = true;
}
 
// Opt-out function
function gaOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  window[disableStr] = true;
}
</script>

Achten Sie dabei darauf, dass die Variable gaProperty auch wirklich Ihre Tracking-ID enthält.

2. Fügen Sie den Opt-out-Link auf Ihrer Webseite ein
Am besten fügen Sie den Link mit entsprechender Information in Ihre Datenschutzerklärung ein:

1
<a href="javascript:gaOptout()">Hier klicken um Google Analytics auf dieser Webseite zu deaktivieren</a>

Google Analytics Tracking-Code mit Datenschutz

Nach diesen Änderungen sieht mein Google Analytics Tracking-Code so aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script>
// Set to the same value as the web property used on the site
var gaProperty = 'UA-XXXXXXXX-X';
 
// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  window[disableStr] = true;
}
 
// Opt-out function
function gaOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  window[disableStr] = true;
}
</script>
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('set', 'anonymizeIp', true);
  ga('set', 'forceSSL', true);
  ga('send', 'pageview');
 
</script>

Durch diesen Tracking-Code und einer ausreichenden Datenschutzerklärung sollten Sie nicht nur rechtlich besser dastehen als zuvor, sondern auch das Vertrauen Ihrer Webseiten-Besucher auf Ihrer Seite haben.

Diese und weitere Anpassungen für den Google Analytics Tracking-Code finden Sie hier im Detail erklärt: Advanced Configuration – Web Tracking (analytics.js)

Kategorie: Google Analytics Stichworte: Datenschutz, Google Analytics

Reader Interactions

Kommentare

  1. Georg Nasser meint

    21. Februar 2017 um 13:39

    Hallo,
    alles funktioniert nur nicht die Opt-Out Option ! bekomme dann eine 401 Meldung.

    Antworten
  2. Georg Nasser meint

    21. Februar 2017 um 13:54

    Alles gut- ich musste es als HTML-Code einfügen!
    Ansonsten funktioniert alles!! Danke

    Antworten
  3. Georg Nasser meint

    21. Februar 2017 um 13:56

    nehme es zurück 🙁 es hat funktioniert (OPt-Out) – ich sehe es an den View Ghostery- dann kommt die 404 Seite wieder !?
    Sorry, ich werde Sie nicht mehr belästigen.
    Beste Grüße,
    G. Nasser

    Antworten
    • Lukas Pugstaller meint

      21. Februar 2017 um 16:51

      Hallo Georg,

      habe mir deine Website gerade angesehen. Der Link in der Datenschutzerklärung ist leider nicht richtig weshalb der Fehler entsteht.

      Wähle rechts oberhalb des Editors „Text“ statt „Visuell“ aus und füge dann den Link

      1
      <a href="javascript:gaOptout()" rel="nofollow">Hier klicken um Google Analytics auf dieser Webseite zu deaktivieren</a>

      an der richtigen Stelle ein.

      LG Lukas

      Antworten
      • Georg meint

        23. Februar 2017 um 16:15

        Hallo Lukas,
        habe WordPress nicht, daher kann ich nicht zwischen „Visuell“ und „Text“ wählen. Benutze Squarespace, und habe die Möglichkeit am Ende einer Seite einen Code zu insertieren (Inject) : entweder als Plain text, CSS, HTML, Javascript, oder Markdown: Habe alle ausprobiert und komme nicht weiter.
        LG
        Georg

        Antworten
        • Lukas Pugstaller meint

          23. Februar 2017 um 17:30

          Hallo Georg,

          leider habe ich keine Erfahrung mit Squarespace. Ich würde mich an deiner Stelle an den Support wenden, da der Opt-Out-Link in der Datenschutzerklärung sein sollte und nicht erst am Ende der Seite.

          LG Lukas

          Antworten
  4. Georg meint

    23. Februar 2017 um 16:19

    Nachfrage: kommt der EU Cookie Law Script vor und nach deinen „Google Analytics Tracking-Code“?.

    Static.EU_COOKIE_POLICY = „top-left“;
    Static.EU_COOKIE_TEXT = ‚Diese Website nutzt Cookies, um bestmögliche Funktionalität bieten zu können.‘;
    Static.EU_COOKIE_BUTTON_LABEL = ‚Ich stimme zu‘;

    // Set to the same value as the web property used on the site
    var gaProperty = ‚UA-XXXXXXXX-1‘;

    // Disable tracking if the opt-out cookie exists.
    var disableStr = ‚ga-disable-‚ + gaProperty;
    if (document.cookie.indexOf(disableStr + ‚=true‘) > -1) {
    window[disableStr] = true;
    }

    // Opt-out function
    function gaOptout() {
    document.cookie = disableStr + ‚=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/‘;
    window[disableStr] = true;
    }

    (function(i,s,o,g,r,a,m){i[‚GoogleAnalyticsObject‘]=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,’script‘,’//www.google-analytics.com/analytics.js‘,’ga‘);

    ga(‚create‘, ‚UA-XXXXXXXX-1‘, ‚auto‘);
    ga(’set‘, ‚anonymizeIp‘, true);
    ga(’set‘, ‚forceSSL‘, true);
    ga(’send‘, ‚pageview‘);

    Antworten
    • Lukas Pugstaller meint

      23. Februar 2017 um 17:26

      Hallo Georg,

      ich glaube die Reihenfolge ist egal.

      LG Lukas

      Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Impressum | Datenschutz

Diese Website benutzt Cookies. Wenn du die Website weiter nutzt, gehe ich von deinem Einverständnis aus.OKErfahre mehr