it-swarm.com.de

Wie kann ich mit Google Analytics Subdomains verfolgen, während ich mod_rewrite auf eine Subdomain umleiten lasse?

Wenn Benutzer direkt zu domain.com oder www.domain.com gelangen, leite ich sie über diese .htaccess-Umschreibung zu shop.domain.com um:

RewriteEngine on
RewriteCond %{HTTP_Host} ^www.domain.com$ [OR]
RewriteCond %{HTTP_Host} ^domain.com$ 
RewriteRule ^(.*)$ http://shop.domain.com/ [R=301,L]

Der von shop.domain.com bereitgestellte Inhalt enthält die folgenden Tracking-Code-Parameter:

var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-123456-6']);
_gaq.Push(['_setDomainName', '.domain.com']);
_gaq.Push(['_trackPageview']);

Alle direkten Besuche, die shop.domain.com aufgrund des Umschreibens von domain.com eingehen, werden als Empfehlungsverkehr erfasst. Mein eigener domain.com wird als Empfehlungsquelle in Google Amalytics angezeigt.

Ich möchte diese Besuche als direkten Verkehr verfolgen.

Wie ändere ich die Konfiguration, um mod_rewritten Verkehr auf meiner Subdomain zu verfolgen, der von meiner eigenen Domain als direkter Verkehr kommt?

4
Marek

Anstatt die Referrer-Informationen zu überschreiben, sollten Sie die Subdomain der von Google Analytics gespeicherten Referrer-Ignorierliste hinzufügen.

Verwenden Sie dazu die Methode _ addIgnoredRef () in der GA-API.

Googles Beschreibung der Methode:

_ addIgnoredRef ()

Schließt eine Quelle als verweisende Site aus. Verwenden Sie diese Option, wenn Sie bestimmte verweisende Links nicht als verweisende Sites, sondern als direkten Datenverkehr festlegen möchten. Beispielsweise besitzt Ihr Unternehmen möglicherweise eine andere Domain, die Sie als direkten Datenverkehr verfolgen möchten, damit sie nicht in den Berichten "Verweisende Sites" angezeigt wird. Anfragen von ausgeschlossenen Verweisen werden weiterhin in der Gesamtanzahl der Seitenzugriffe berücksichtigt.

http://code.google.com/apis/analytics/docs/gaJS/gaJSApiSearchEngines.html#_gat.GA_Tracker_._addIgnoredRef

Hinweis: Die von Google angegebenen Beispiele sind möglicherweise nicht zu 100% korrekt. Unter dem folgenden Link finden Sie eine ausführliche Erläuterung und ein Implementierungsbeispiel:

http://www.roirevolution.com/blog/2011/01/google_analytics_subdomain_tracking.php

3
Ciaran

Das folgende Beispiel beschreibt, wie Sie den Referrer behalten, während Sie von http zu https wechseln.

In deinem .htaccess:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1?referrer=%{HTTP_REFERER} [L,QSA,R=301]

Der Google Analytics-Aufruf:

(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','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxx-y', 'auto');
ga('set', 'anonymizeIp', true);
try {
  var match = /.*[?&]referrer=(.*)/.exec(window.location.href);
  if (match && match.length > 1) {  
      var _from = decodeURIComponent(match[1]);
      if (_from && _from.length > 0) {
          console.log('Override referrer:', _from);
          ga('set', 'referrer', _from);
      }
  }
} catch (err) { ; }
ga('send', 'pageview');
2
Holtwick

Sie können den von Google Analytics verwendeten Referrer überschreiben. Weitere Informationen finden Sie in der Dokumentation zu _ setReferrerOverride .

Um diesen korrekten Verweis bereitzustellen, müssen Sie ihn über die 301-Umleitung weiterleiten. Ich kann vorschlagen, Ihrer umgeleiteten URL einen Abfrageparameter hinzuzufügen und ein JavaScript-Snippet zu schreiben, das diese Informationen aus der Datei document.location extrahiert.

Ein Beispiel für das Hinzufügen von Javascript zu Ihrem GA Code:

var _gaq = _gaq || [];
_gaq.Push(['_setAccount', 'UA-XXXXXXXX-1']);
var _from = unescape(window.location.href.replace(/.*[?&]from=(.*)/,'$1'));
if (_from && _from.length > 0) {
  _gaq.Push(['_setReferrerOverride',_from]);
}
_gaq.Push(['_trackPageview']);

Ein Beispiel für die Verwendung von mod_rewrite zum Übertragen des Referrers, falls ein Referrer vorhanden ist:

RewriteCond %{HTTP_Host} ^domain.com\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} (.*)
RewriteRule ^(.*)$ http://shop.domain.com/$1?from=%1 [R=301,QSA,L]

RewriteCond %{HTTP_Host} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://shop.domain.com/$1 [R=301,L]

Sie müssen die obigen Schritte auch für www.domain.com wiederholen.

2
Evgeny