Google Analytics mit mehreren Umgebungen

11

Wir planen, Google Analytics in unserer Organisation zu verwenden, und ich bin für die Einrichtung verantwortlich. Ich habe mich gefragt, wie ich mit mehreren Umgebungen umgehen soll. Wir möchten sicher keine Daten während der Entwicklung und der Qualitätssicherung erfassen (oder Daten auf einem anderen Analysekonto erfassen), aber wir möchten, wenn die Site (offensichtlich) in Produktion geht.

  • Wie gehen Sie mit mehreren Umgebungen und Google Analytics um?
  • Richten Sie mehrere Konten für Google Analytics ein und verwenden Sie je nach Umgebung eines?

Wir verwenden ASP.NET 2.0, wenn das wichtig ist.

marco-fiset
quelle

Antworten:

7

Die einfachste Antwort lautet: Ja, richten Sie mehrere Konten für jede Umgebung ein. Ersetzen Sie dann die Profil - ID (den Text, der aussieht wie ‚UA-XXXXX-X‘, wie man sieht hier ) mit der korrekten ID aus der gewünschten Umgebung.

Da Sie ASP.NET verwenden, können Sie die Profil-ID in der Datei web.config speichern. Dies führt dazu, dass .NET-Code in JavaScript eingebettet werden muss (was möglicherweise in Ordnung ist oder nicht). Sie können die Produktionskonfiguration auch so konfigurieren, dass sie die einzige Konfiguration ist, die den Tracking-Code ausgibt. Dies würde jedoch dazu führen, dass Code freigegeben wird, der nicht getestet wurde.

Abhängig davon, wie Sie Ihre Site hosten (dev.domain.tld, test.domain.tld, www.domain.tld), können Sie möglicherweise ein einzelnes Profil verwenden und die Ergebnisse dann nach Subdomain / Ordner / URL filtern. Google hat einen ziemlich guten Artikel über die verschiedenen Tracking-Szenarien .

Fammy
quelle
2
Mehrere Konten pro Umgebung sind definitiv der richtige Weg
Wyatt Barnett
7

Eine weitere Option wären Google Analytics- Profile . Verwenden Sie in allen Umgebungen dasselbe Konto, fügen Sie jedoch in jedem Profil einen Hostnamenfilter hinzu, um nur Datenverkehr aus der jeweiligen Umgebung einzuschließen.

Wenn sich Ihre interne QS-Umgebung beispielsweise befindet qa.example.com, erstellen Sie in Google Analytics ein "QA" -Profil mit einem benutzerdefinierten Filter, der nur übereinstimmende Hostnamen enthält ^qa\.example\.com$. Machen Sie in Ihrem "Produktions" -Profil das Gegenteil und schließen Sie Datenverkehr von internen Hostnamen aus.

Matthew
quelle
Dies ist ziemlich einfach, leistungsstark und eine Variable weniger in der Konfigurationsdatei zu konfigurieren.
1

Folgendes habe ich endlich getan (die Idee, .Net-Code in Javascript einzubetten, hat mir nicht gefallen):

  • Ich habe zwei Google Analytics-Konten eingerichtet, eines für Entwicklung / Test und eines für die Produktion
  • Erstellen Sie eine Seite, die die Google Analytics-Konto-ID (aus der web.config) als Hauptteil zurückgibt.
  • Führen Sie auf $ (document) .ready einen Ajax-Aufruf für die Seite durch
  • Rufen Sie nach Abschluss von Ajax das Google Analytics-Skript mit der Antwort auf (die die Konto-ID enthält).

Abhängig von der Umgebung, in der ich bereitstelle, verwende ich eine der beiden Versionen der Datei web.config, die die richtige Konto-ID enthält.

Es ist etwas komplizierter, aber es beinhaltet nicht das Generieren von Javascript aus .NET, und es war mit jQuery sehr einfach.

Hier ist der endgültige Code:

var setupGoogleAnalytics = function (clientNumber) {
    var gaq = gaq || [];
    gaq.push(['_setAccount', clientNumber]);
    gaq.push(['_setDomainName', 'none']);
    gaq.push(['_trackPageview']);

    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}

$(document).ready(function(){
    $.ajax({
        url: "GetGAClientNumber.aspx",
        success: function(data) {
            setupGoogleAnalytics(data);
        }
    });
});

Und es funktioniert perfekt!

marco-fiset
quelle
6
Es scheint verschwenderisch, bei jedem Laden einer Seite eine AJAX-Anfrage zu stellen, um einfach die Kontonummer zu erhalten.
Bob Banks
1
Es ist nichts Falsches daran, ein <%= ASP %>Tag in Javascript einzubetten - setzen Sie einfach das Minimum in das JS und jede andere Abfrage / Logik an anderer Stelle.
Simon East
0

Können Sie sicherstellen, dass während der Entwicklung und Qualitätssicherung nur intern von Maschinen in Ihrem Unternehmensnetzwerk auf die Site zugegriffen wird?

Wenn ja, können Sie einfach dasselbe Analysekonto verwenden, das für die Produktion verwendet wird, und den gesamten Datenverkehr aus Ihrem Unternehmen herausfiltern .

Zitat aus dem Link:

Wenn Sie den internen Datenverkehr von der Anzeige in Ihren Berichten ausschließen möchten, können Sie eine bestimmte IP-Adresse oder einen Bereich von IP-Adressen herausfiltern. Sie können Cookies auch verwenden, um Besuche bestimmter Benutzer herauszufiltern. Wir werden unten erklären, wie.

Christian Specht
quelle
Dies funktioniert zwar definitiv, wenn Sie die Implementierung von Ereignissen und anderen in Echtzeit verfolgbaren Daten testen möchten. es macht es sehr schwierig, auf ein isoliertes Profil zu verzichten oder es anzuzeigen oder unter zu verwenden.