it-swarm.com.de

So entfernen Sie die Abfragezeichenfolge _ga von der URL

Ich habe eine Multidomain-Website, für die GA Tracking vorhanden ist. Vor kurzem haben wir zu Universal Analytics gewechselt und festgestellt, dass bei jeder Änderung der Domäne (von USA in Koreanisch/Japanisch) ein _ga = [Zufallszahl] an die URL angehängt wird

d.h. 

abc.com

wenn ich auf die japanische Site klicke, wird die URL 

japanese.abc.com/?_ga=1.3892897.20937502.9237834

  • Warum passiert das?
  • Wie kann ich den _ga-Teil der URL entfernen?

Schätze deine Hilfe.

13
user3489097

Dies ist für die domänenübergreifende Verfolgung erforderlich (d. H. Personen, die Domänengrenzen überschreiten, als ein Besucher und nicht als ein Besucher pro Domäne). Wenn Sie domänenübergreifendes Tracking wünschen, können Sie dies nicht entfernen. Der _ga - Teil ist die Client - ID, die eine Sitzung identifiziert. Da sie nicht über Cookies (die domänenspezifisch sind) freigegeben werden können, muss sie bei Änderungen der Domäne über die URL weitergeleitet werden.

Da jemand Ihre Website für das domänenübergreifende Tracking eingerichtet hat, möchten Sie dies tatsächlich wünschen (dies geschieht standardmäßig nicht). Der Parameter ist ein notwendiger Nebeneffekt des domänenübergreifenden Trackings mit Universal Analytics. Wenn Sie dies wünschen, schauen Sie im Tracking-Code nach einer der in der Dokumentation genannten linker-Funktionen und entfernen Sie diese.

Aktualisiert, um die Fragen aus dem Kommentar zu beantworten.

  1. Gibt es keine Möglichkeit, den _ga-String zu entfernen und trotzdem die cross -Domänenfunktion zu haben?

    Nein, momentan nicht. Browser-Anbieter arbeiten an besseren Wegen der Cross-Domain-Kommunikation (.____.), Sodass es in Zukunft etwas geben könnte, aber Im Moment ist der Parameter der beste Weg.

  2. Was passiert auch, wenn ein Benutzer den _ga-Wert zufällig ändert und die Eingabetaste Drückt? Wie wird GA das aufnehmen?

    Wenn der Benutzer zufällig eine Client-ID erstellt, die vor (Hoch unwahrscheinlich) verwendet wurde, würde sein Besuch einem anderen Benutzer zugeordnet werden. Realistisch wird Google Analytics ihn einfach aufzeichnen als neuer Benutzer.

Aktualisiert

Für diejenigen, die gerne spielen, habe ich ein Proof of Concept für das domänenübergreifende Tracking ohne den _ga-Parameter erstellt. Etwas in diese Richtung könnte weiterentwickelt werden, da es für die Produktion nicht geeignet ist.

Update: David Vallejo hat eine Javascript-Lösung, bei der der _ga -Parameter über die History-API entfernt wird (wenn er jedoch noch hinzugefügt wird, ist er für den Endbenutzer unsichtbar). Dies ist eine ausführlichere Version von Michael Hamptons Antwort unten.

23
Eike Pierstorff

Sie können Google nicht davon abhalten, das Tag hinzuzufügen. Sie können Analytics jedoch anweisen, es in Ihren Berichten zu ignorieren. Vielen Dank an Russ Henneberry dafür: http://blog.crazyegg.com/2013/03/29/remove-url-parameters-from-google-analytics-reports/

Es wurde vor der Veröffentlichung von Universal geschrieben, sodass die Sprache veraltet ist. Jetzt erstellen Sie eine neue "Ansicht" (anstelle von "Profil"). Durch das Erstellen einer neuen Ansicht wird sichergestellt, dass sich die Rohdaten immer noch in der Standardansicht befinden (nur für den Fall, dass Sie sie jemals benötigen). Dies ist wirklich die beste Lösung (bedenken Sie, dass Sie niemals neue Einstellungen rückwirkend in G Ax anwenden können). . Viel Glück!

2
Gerra

Ich wurde gebeten, dieses Tag zu entfernen, nachdem es aufgetaucht war, als wir unsere Website zwischen zwei Domainnamen aufgeteilt hatten. Mit Apache Rewrite Rules:

RewriteCond %{QUERY_STRING} _ga
RewriteRule ^(.*)$ $1? [R=301,NC,L]

Dadurch wird das Tag entfernt, die _ga-Parameter können jedoch nicht an Google Analytics übergeben werden. Wenn der Benutzer eine kurze Aktualisierung nicht stört, fügen Sie diesen Code zu jeder Seite hinzu

<?php
list($url, $qs)  = preg_split('/\?/',$_SERVER['REQUEST_URI']);
if (preg_match('/_ga=/', $qs) )  header( "refresh:1;url=${url}" );
?>

wird nach einer Sekunde aktualisiert, wobei die Abfragezeichenfolge entfernt wird, die Aktion Google Analytics jedoch zulässig ist. Dies bedeutet, dass der nervige _ga-Stoff längst vorbei ist, wenn Ihr Benutzer Ihre URL mit einem Lesezeichen versehen oder kopiert hat. 

Der obige Code wird eine beliebige Abfragezeichenfolge wegwerfen. Diese Version entfernt nur das Argument '_ga'. 

$urlA = parse_url($_SERVER['REQUEST_URI']);
$qs = $urlA['query'];
if (preg_match('/_ga=/',$qs)) {
   $url = $urlA['path'];
   $newargs = array();
   $QSA = preg_split('/\&/',$qs);
   foreach ($QSA as $e) {
      list($arg,$val) = preg_split('/\=/',$e);
      if ($arg == '_ga') continue; # get rid of this one
      $newargs[$arg] = $val;
   }
   $nqs = http_build_query($newargs);
   header( "refresh:1;url=${url}?${nqs}" );
}
1
Mark

Sie können den _ga-Parameter nicht von der URL auf der Website entfernen. ABER Sie können einen erweiterten Filter in Google Analytics verwenden, um den Abfrageparameter aus den Berichten zu entfernen.

So was:

1) Feld A: Anforderungs-URI 

Muster: ^ (. +) \? _ Ga

2) Feld B: nicht erforderlich

3) Ausgabe an -> Konstruktor 

Feld: Anforderungs-URI 

Muster: $ A1

Dieser Filter entfernt alle Abfrageparameter, wenn _ga der erste angezeigte Parameter ist. Mit dem Regex können Sie viel schicker werden, aber dieser Ansatz sollte für die meisten Websites funktionieren.

1
Andrew C

Ich verwende HTML5 history.replaceState(), um die Abfragezeichenfolge GA in der Adressleiste des Browsers auszublenden.

Dazu muss ich eine neue URL erstellen, deren Wert _ga= entfernt ist (Sie können dies in Ihrer bevorzugten Sprache tun) und dann einfach aufgerufen werden.

Dies ändert nur die URL in der Adressleiste (und im Browserverlauf). Google Analytics erhält weiterhin die über die Abfragezeichenfolge eingegebenen Informationen, sodass Ihr Tracking weiterhin funktioniert.

Ich mache dies in einem Go html/template:

{{if .URL.RawQuery}}
<script>
window.history.replaceState({}, document.title, '{{.ReplacedURL}}');
</script>
{{end}}
1
Michael Hampton

Siehe diese Seite: https://support.google.com/tagmanager/answer/6107124?hl=de & Suche nach "Hash als Trennzeichen verwenden"

Wenn Sie diesen Wert auf true setzen, können Sie den Wert anstelle eines Abfrageparameters durch ein Hashtag übergeben

Sollte es beheben

0
Dave R