Google Analytics ist ein sehr schönes Tool, um das Nutzungsverhalten einer Website zu tracken. Leider bietet Google keine Möglichkeit, dass die Besucher diesm Tracking widersprechen.
Marco Hassler hat eine Möglichkeit beschrieben, ein OptOut im Eigenbau zu machen. Das Ganze hab ich für meinen Blog mit Hilfe von jQuery nachgebaut.
Falls kein OptOut Cookie gesetzt ist wird mit Hilfe des Geekology jQuery Plugins Google Analytics geladen. Anschliessend werden die externen Links wie bei CSS–Tricks beschrieben zum Tracking hinzugefügt.
Das Cookie wird bei jedem Aufruf der Seite mit einer Gültigkeit von einem Jahr neu gesetzt, so dass das OptOut dauerhaft vorhanden ist. Dieser OptOut Cookie muss aber von dem Besucher akzeptiert werden.
Der jQuery Code hierfür:
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
29
30
31
32
33
34
| $(document).ready(function(){
// Google Analytics
var trackSite = ($.cookie("ga_optout") != "donttrack");
if (trackSite) {
// Enter Tracking Code here
$.geekGaTrackPage('UA-0000000-0');
$(".external").each(function() {
$(this).bind('click keypress', function(event) {
var code=event.charCode || event.keyCode;
if(!code || (code && code == 13)) {
var fixedLink = $(this).attr('href');
fixedLink = fixedLink.replace(/https?:\/\/(.*)/,"$1");
fixedLink = '/outgoing/' + fixedLink;
$.geekGaTrackEvent('page', 'click', fixedLink, '');
}
});
});
$('#optout').attr('checked','checked');
$.cookie("ga_optout", "track", { path: '/', expires: 365 });
} else {
$('#optout').attr('checked','');
$.cookie("ga_optout", "donttrack", { path: '/', expires: 365 });
}
// Set OptOut Cookie
$('#optout').change(function() {
if ($(this).attr('checked')) {
$.cookie("ga_optout", "track", { path: '/', expires: 365 });
} else {
$.cookie("ga_optout", "donttrack", { path: '/', expires: 365 });
}
});
}); |
Um das OptOut einzubinden, muss eine Checkbox mit der ID »optout« dort eingebunden werden, wo die OptOut Möglichkeit gegeben werden soll:
1
2
| <input id="optout" type="checkbox" value="track" />
<label for="optout">Daten mit Google Analytics aufzeichnen</label> |