Last active
December 12, 2020 15:04
-
-
Save mbaersch/72e9f8d2035a0cdac0c6d6eb6893f7ed to your computer and use it in GitHub Desktop.
Google Analytics customTask: fixOrganic
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//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); | |
} | |
} | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//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); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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;