Google Analytics z wieloma środowiskami

11

Planujemy używać Google Analytics w naszej organizacji i jestem odpowiedzialny za jego konfigurację. Zastanawiałem się, jak radzić sobie z wieloma środowiskami. Z pewnością nie chcemy zbierać danych podczas opracowywania i kontroli jakości (lub może zbieramy dane na inne konto analityczne), ale chcemy, gdy strona przejdzie do produkcji (oczywiście).

  • Jak radzisz sobie z wieloma środowiskami i Google Analytics?
  • Czy konfigurujesz wiele kont dla Google Analytics i używasz jednego z nich w zależności od środowiska?

Używamy ASP.NET 2.0, jeśli to ma znaczenie.

marco-fiset
źródło

Odpowiedzi:

8

Inną opcją byłyby profile Google Analytics . Używaj tego samego konta we wszystkich środowiskach, ale dodaj filtr nazw hostów w każdym profilu, aby uwzględnić tylko ruch z odpowiedniego środowiska.

Na przykład, jeśli masz wewnętrzne środowisko kontroli jakości qa.example.com, utwórz profil „Kontrola jakości” w Google Analytics z niestandardowym filtrem, który będzie zawierał tylko dopasowanie nazw hostów ^qa\.example\.com$. W swoim profilu „Produkcja” postępuj odwrotnie i wyklucz ruch z wewnętrznych nazw hostów.

Mateusz
źródło
Jest to dość łatwe do zrobienia, wydajne i jedną mniej zmienną do skonfigurowania w pliku konfiguracyjnym.
7

Najłatwiejsza odpowiedź brzmi: tak, skonfiguruj wiele kont dla każdego środowiska. Następnie zastąp identyfikator profilu (tekst, który wygląda jak „UA-XXXXX-X”, jak pokazano tutaj ) prawidłowym identyfikatorem z żądanego środowiska.

Ponieważ używasz ASP.NET, możesz przechowywać identyfikator profilu w pliku web.config. Doprowadzi to do konieczności osadzenia kodu .NET w JavaScript (co może, ale nie musi być w porządku). Można również skonfigurować konfigurację produkcyjną, aby była jedyną konfiguracją do wyświetlania kodu śledzenia, ale doprowadziłoby to do zwolnienia kodu, który nie był testowany.

W zależności od sposobu hostowania witryny (dev.domain.tld, test.domain.tld, www.domain.tld) ​​możesz ewentualnie użyć jednego profilu, a następnie filtrować wyniki na podstawie poddomeny / folderu / adresu URL. Google ma całkiem niezły artykuł na temat różnych scenariuszy śledzenia .

Fammy
źródło
2
Wiele kont na środowisko to zdecydowanie najlepsza droga
Wyatt Barnett
1

Oto co w końcu zrobiłem (nie podobał mi się pomysł osadzenia kodu .Net w javascript):

  • Skonfigurowałem dwa konta Google Analytics, jedno do programowania / testowania, a drugie do produkcji
  • Utwórz stronę, która zwraca identyfikator konta Google Analytics (z pliku web.config) jako jego treść.
  • Na $ (document) .ready wykonaj wywołanie ajax do strony
  • Po zakończeniu Ajax wywołaj skrypt Google Analytics z odpowiedzią (która zawiera identyfikator konta)

Dlatego w zależności od środowiska, w którym wdrażam, używam dowolnej wersji pliku web.config, która zawiera odpowiedni identyfikator konta.

Jest to nieco bardziej skomplikowane, ale nie wymaga generowania javascript z .NET i jest bardzo proste z jQuery.

Oto końcowy kod:

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);
        }
    });
});

I działa idealnie!

marco-fiset
źródło
6
Wydaje się, że marnowanie czasu na żądanie AJAX przy każdym ładowaniu strony jest po prostu uzyskanie numeru konta.
Bob Banks
1
Nie ma nic złego w osadzeniu <%= ASP %>znacznika w Javascripcie - wystarczy umieścić minimum w JS i innych zapytaniach / logikach gdzie indziej.
Simon East
0

Czy możesz upewnić się, że podczas programowania i kontroli jakości strona jest dostępna tylko wewnętrznie z komputerów w sieci Twojej firmy?

Jeśli tak, możesz po prostu użyć tego samego konta analitycznego, które będzie używane do produkcji, i odfiltrować cały ruch z Twojej organizacji .

Cytat z linku:

Jeśli chcesz wykluczyć z raportów ruch wewnętrzny, możesz odfiltrować określony adres IP lub zakres adresów IP. Możesz także użyć plików cookie, aby odfiltrować wizyty poszczególnych użytkowników. Wyjaśnimy jak poniżej.

Christian Specht
źródło
Chociaż to zdecydowanie działa, gdy chcesz przetestować implementację zdarzeń i innych danych śledzonych w czasie rzeczywistym; bardzo trudno jest obejść się bez osobnego profilu lub widoku lub używać go pod.