//Folgenden Code bei einer direkten Implementierung von Universal Analytics | |
//in den Trackingcode einfügen; vor dem Absenden des Pageviews | |
ga('set', 'customTask', function(model) { | |
var r = document.referrer; | |
//Suchmuster für relevante Suchmaschinen mit "versteckten" Suchparametern | |
var srch = /(suche\.t-online\.de)|(qwant\.com)|(metager\.de)|(duckduckgo\.com)|(ecosia\.org)|(android\.googlequicksearchbox\.)|(search\.yahoo\.com)|(zapmeta\.)|(\.sosodesktop\.com)|(search\.mysearch\.com)|(search\.mail\.com)|(thesmartsearch\.net)|(zdsearch\.com)|(search\.easydialsearch\.com)|(safesearch\.hypersonica\.com)|(search\.v9\.com)|(search\.genieo\.com)|(search\.avast\.com)|(searches\.uninstallmaster\.com)|(search\.handycafe\.com)|(searches\.safehomepage\.com)|(search\.snapdo\.com)|(search\.selfbutler\.com)|(infospace\.com)|(search\.avira\.)/i; | |
//Referrer mit Suchmuster vergleichen | |
if (r.search(srch) > 0) { | |
//passenden Parameter bestimmen | |
var prm = (r.search('yahoo') > 0) ? 'p=':'q='; | |
//Konstanten Suchparameter anfügen, wenn kein Parameter vorhanden ist | |
if (r.search(prm) < 0) | |
r += (r.split('?')[1] ? '&':'?') + prm + '(not provided)'; | |
model.set('referrer', r); | |
//Keine Kampagnenparameter (yahoo paid) gefunden? Dann setzen... | |
if (document.location.href.indexOf('utm_source=') < 0) { | |
model.set('campaignSource', r.replace('http://','').replace('https://','').replace('www.','').split(/[/?#]/)[0]); | |
model.set('campaignMedium', 'organic'); | |
var rgx = new RegExp('[\\?&]' + prm + '([^&#]*)'); | |
var q = rgx.exec(r); | |
q = decodeURIComponent(q[1].replace(/\+/g, ' ')); | |
model.set('campaignKeyword', q); | |
} | |
} | |
}); |
//Folgenden Code bei Verwendung des Google Tag Managers als benutzerdefinierte JS-Variable anlegen und | |
//als Feld customTask bei Hits in den festzulegenden Feldern nutzen | |
function() { | |
return function(model) { | |
var r = {{Referrer}}; //Referrer als Integrierte Variable aktivieren und hier auslesen | |
//Suchmuster für Suchmaschinen mit "versteckten" Suchparametern | |
var srch = /(suche\.t-online\.de)|(qwant\.com)|(metager\.de)|(duckduckgo\.com)|(ecosia\.org)|(android\.googlequicksearchbox\.)|(search\.yahoo\.com)|(zapmeta\.)|(\.sosodesktop\.com)|(search\.mysearch\.com)|(search\.mail\.com)|(thesmartsearch\.net)|(zdsearch\.com)|(search\.easydialsearch\.com)|(safesearch\.hypersonica\.com)|(search\.v9\.com)|(search\.genieo\.com)|(search\.avast\.com)|(searches\.uninstallmaster\.com)|(search\.handycafe\.com)|(searches\.safehomepage\.com)|(search\.snapdo\.com)|(search\.selfbutler\.com)|(infospace\.com)|(search\.avira\.)/i; | |
//Referrer mit Suchmuster vergleichen | |
if (r.search(srch) > 0) { | |
//passenden Parameter bestimmen | |
var prm = (r.search('yahoo') > 0) ? 'p=':'q='; | |
//Konstanten Suchparameter anfügen, wenn kein Parameter vorhanden ist | |
if (r.search(prm) < 0) | |
r += (r.split('?')[1] ? '&':'?') + prm + '(not provided)'; | |
model.set('referrer', r); | |
//Keine Kampagnenparameter (yahoo paid) gefunden? Dann setzen... | |
if (document.location.href.indexOf('utm_source=') < 0) { | |
model.set('campaignSource', r.replace('http://','').replace('https://','').replace('www.','').split(/[/?#]/)[0]); | |
model.set('campaignMedium', 'organic'); | |
var rgx = new RegExp('[\\?&]' + prm + '([^&#]*)'); | |
var q = rgx.exec(r); | |
q = decodeURIComponent(q[1].replace(/\+/g, ' ')); | |
model.set('campaignKeyword', q); | |
} | |
} | |
} | |
} |
Wer alle Suchmaschinen eintragen will, die derzeit unter analytrix.de bekannt sind und deren Suchparameter q lautet (Sonderfall p für Yahoo wird ja abgedeckt) bzw. ohnehin nie zur Identifizierung im Verweispfad bei GA ankommt, der kann folgende Variable für das Suchmuster verwenden und oben austauschen:
var srch = /(\.fvpimageviewer\.com)|(\.ozipcompression\.com)|(\.searchturbo\.com)|(\.sosodesktop\.com)|(airzip\.inspsearch\.com)|(android\.googlequicksearchbox\.)|(anonymous-search\.com)|(dalesearch\.com)|(de\.wow\.com)|(delta-search\.com)|(deusu\.de)|(duckduckgo\.com)|(ecosia\.org)|(enhanced-search\.com)|(isearch\.searchcompletion\.com)|(metager\.de)|(suche\.aol\.de)|(search\.aol\.com)|(metager2\.de)|(metasuche\.ch)|(mysearchguardian\.com)|(qwant\.com)|(search\.avira\.com)|(safesearch\.hypersonica\.com)|(samsung\.de\.searchturbo\.com)|(search\.1and1\.com)|(search\.avast\.com)|(search\.b1\.org)|(search\.ch)|(search\.easydialsearch\.com)|(search\.excite\.com)|(search\.genieo\.com)|(search\.gmx\.net)|(search\.handycafe\.com)|(search\.incredibar\.com)|(search\.infospace\.com)|(search\.lilo\.org)|(search\.mail\.com)|(search\.monstercrawler\.com)|(search\.selfbutler\.com)|(search\.sidecubes\.com)|(search\.snapdo\.com)|(search\.socialdownloadr\.com)|(search\.softonic\.com)|(search\.sweetim\.com)|(search\.v9\.com)|(search\.yahoo\.com)|(searches\.safehomepage\.com)|(searches\.uninstallmaster\.com)|(searchgol\.com)|(searchguide\.level3\.com)|(searchthis\.com)|(sm\.de)|(suche\.1und1\.de)|(suche\.gmx\.at)|(suche\.gmx\.ch)|(suche\.gmx\.net)|(suche\.t-online\.de)|(suche\.web\.de)|(suchen\.1und1\.de)|(suchen\.co\.at)|(swissle\.ch)|(thesmartsearch\.net)|(vodafone\.de\.searchturbo\.com)|(yoursearch\.me)|(zapmeta\.at)|(zapmeta\.ch)|(zapmeta\.com)|(zapmeta\.de)|(zdsearch\.com)/i;
"Fix Organic" für Google Analytics (Universal)
customTask zur Korrektur der Zuordnung zum Kanal "Organic" für Besucher aus Suchmaschinen
Zweck
Üblicherweise landen viele Besucher aus Suchmaschinen im Topf "Verweise", weil typischerweise in den Tracking-Einstellungen keine zusätzlichen "Quellen organischer Suche" definiert wurden.... und selbst wenn, entziehen sich viele Suchmaschinen wie DuckDuckGo u. a. der Zuordnung, weil der erforderliche Suchparameter nicht mehr in der Verweis-URL vorhanden ist.
Hier setzt die obige Lösung an: per
customTask
wird der Referrer vor dem Senden der Hits untersucht und ggf. mit einem "Pseudoparameter" zur Übergabe des Keywords (not provided) versehen und dessen Kampagnenquelle und -medium auf die verweisende Domain und organic gesetzt.Verwendung bei direkter Implementierung des Trackingcodes
Wenn der Trackingcode von Analytics - z. B. in einem Template oder über eine Erweiterung des CMS - "direkt verbaut" wurde und modifiziert werden kann, wird der Code aus
fixOrganic-direct.js
zwischen die Erzeugung des Trackers und dem Senden des Pageviews eingefügt, z. B. vor der ebenso dort eingefügten Anonymisierung der IP. Weitere Anpassungen sind nicht erforderlich; auch die Definition der "Quellen organischer Suche" ist nicht mehr erforderlich.Verwendung bei Nutzung des Google Tag Managers
Im GTM den Code aus
fixOrganic-gtm.js
als neue Variable vom Typ Benutzerdefiniertes JavaScript anlegen und diese dann als Feldwert für das FeldcustomTask
hinzufügen. Je nach Nutzung des GTM kann dies zentral bei einer verwendeten Einstellungsvariable geschehen oder muss bei allen genutzten Analytics-Tags unter Festzulegende Felder eintragen. Auch hier gilt: Weitere Anpassungen sind nicht erforderlich; auch die Definition der "Quellen organischer Suche" ist nicht mehr erforderlich.Ergänzung um neue Suchmaschinen
Wer - z. B. über die Verweisanalyse bei analytrix.de - eine nennenswerte Anzahl von Besuchern aus hierdurch nicht abgedeckten Quellen findet, die statt als Suchmaschine als "Referral-Traffic" eingestuft werden, kann die Liste der zu berücksichtigenden Suchmaschinen im Suchmuster in der Variable
srch
ergänzen.Müssen die Kommentare drin bleiben?
Nein ;)