Czy możesz przetestować Google Analytics na adresie localhost?

279

Muszę przetestować moje nowe konto GA na moim komputerze lokalnym.

Czy to zadziała, po prostu kopiując na stronie standardowy fragment kodu dostarczony przez Google?

Nie chcę spędzać 24 godzin, czekając, czy to zadziała, czy nie.

edwardmlyte
źródło

Odpowiedzi:

345

To pytanie pozostaje aktualne, jednak technologia się zmieniła. Stary moduł śledzący Urchin jest przestarzały i przestarzały. Nowy asynchroniczny kod śledzenia Google Analytics używa nieco innego kodu, aby osiągnąć te same wyniki.

Google Analytics Classic - składnia asynchroniczna - ga.js

Obecna składnia ustawiania domeny śledzenia na none w Google Analytics wygląda następująco:

_gaq.push(['_setDomainName', 'none']);

Google Analytics wyśle ​​następnie żądanie modułu śledzącego _utm.gif na localhost. Możesz to sprawdzić, otwierając narzędzia programistyczne w ulubionej przeglądarce i obserwując żądania sieciowe podczas ładowania strony. Jeśli to działa, na liście żądań sieciowych zobaczysz prośbę o _utm.gif.

Zaktualizowano 2013 dla Universal Analytics - analytics.js

Google wydało nową wersję analizy o nazwie „Universal Analytics” (pod koniec 2012 r. Lub na początku 2013 r.). Jak piszę, ten program jest nadal w wersji BETA, więc powyższy kod jest nadal zalecany większości użytkowników z istniejącymi instalacjami Google Analytics.

Jednak w przypadku nowych rozwiązań wykorzystujących nowy analytics.jskod Google Analytics, Konfiguracja zaawansowana - Dokumentacja śledzenia sieci pokazuje, że możemy przetestować Universal Analytics na hoście lokalnym za pomocą tego nowego kodu:

ga('create', 'UA-XXXX-Y', {
  'cookieDomain': 'none'
});

Sprawdź połączoną dokumentację, aby uzyskać więcej informacji na temat zaawansowanej konfiguracji Universal Analytics.

Aktualizacja 2019

Zarówno globalny tag witryny - jak gtag.jsi Universal Analytics - analytics.jswykrywają się localhostautomatycznie. Nie musisz dokonywać żadnych zmian w konfiguracji.

Jeśli plik gtag.js wykryje, że serwer jest uruchomiony lokalnie (np. localhost), Automatycznie ustawia wartość cookie_domainna 'none'.

- developers.google.com

BenSwayne
źródło
5
Właśnie zaoszczędziłem dużo czasu. Dzięki
atmd
4
Uzupełnienie odpowiedzi Bena: musisz dodać tę linię _gaq.push(['_setAccount', 'UA-XXXXXXX-XX']);przed i przed _gaq.push(['_trackPageview']);. Więcej: link
dmmd
2
@JamesMcMahon Google Analytics nie jest wersjonowany przez lata. (Nie ma czegoś takiego jak „Google Analytics 2013”). Być może miałeś na myśli „Universal Analytics”, który jest obecnie w wersji BETA?
BenSwayne,
1
@JamesMcMahon, wypróbowałem go dzisiaj (w wersji „Classic”, a nie w wersji beta „Universal Analytics”) i działa.
Liran Brimer
21
Nie ustawiłeś nonejuż tego. Dokumentacja mówi: „Ponadto, jeśli analytics.js wykryje, że prowadzisz serwer lokalnie (np. Localhost), automatycznie ustawia cookieDomain na„ none ”.
mert
60

Zaktualizowano w 2014 r

Można to teraz osiągnąć, po prostu ustawiając domenę na none.

ga('create', 'UA-XXXX-Y', 'none');

Zobacz: https://developers.google.com/analytics/devguides/collection/analyticsjs/domains#localhost

brent
źródło
6
Trzeci parametr powinien rzeczywiście być ustawiony 'none'zamiast 'auto'.
Stephen M. Harris
Czy dotyczy to innych domen najwyższego poziomu? Testuję oprogramowanie lokalnie z domenami * .dev i te również nie działają.
Bradley
4
Ponadto, czy ktoś wie, jak to ustawić, jeśli konfigurujesz GA za pomocą Menedżera tagów Google?
Bradley
Czy ustawienie tej opcji na „none” będzie również działać w środowisku produkcyjnym?
vanzylv
9
Opcja 'auto'automatycznie ustawia się 'none'dla ciebie w localhostśrodowisku: Automatic cookie domain configuration sets the _ga cookie on the highest level domain it can. For example, if your website address is blog.example.co.uk, analytics.js will set the cookie domain to .example.co.uk. In addition, if analytics.js detects that you're running a server locally (e.g. localhost) it automatically sets the cookieDomain to 'none'. Zobacz tutaj
reinaldoluckman
15

Miałem ten sam problem i wszystkie rozwiązania nie działały, dopóki nie zrobiłem dwóch rzeczy:

Oczywisty kod:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXXX-X']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);   
_gaq.push(['_trackPageview']);

I

Dodałem localhost inną nazwę FQDN - nazwę domeny. Zrobiłem to w systemie Windows, edytując:

C:\Windows\System32\drivers\etc\hosts

plik i wstawiam następujące:

127.0.0.1   my.domain.org

Następnie poszedłem na adres http://my.domain.org/WebApp, która wyświetla stronę z dołączonym JS Google Analytics.

Jeśli korzystasz z Uniksa, edytuj plik / etc / hosts, aby uzyskać ten sam wynik.

Uważa, że ​​Google powinien umieścić konfigurację intranetową w GA FAQ. Mówią tylko, że potrzebujesz FQDA. Tak, ale nie po to, aby mieli do ciebie dostęp, potrzebujesz go tylko po to, aby mieć atrybut Host w żądaniu HTTP.

Myślę, że innym powodem FQDN są COOKIES! Pliki cookie służą do śledzenia danych, a jeśli nie masz nazwy FQDN, nie można ustawić pliku cookie, a kod JS zatrzymuje się i nie otrzymuje gif.

Uros Mesaric
źródło
15

Odpowiedź na 2019 rok

Najlepsza praktyka jest skonfigurowanie dwóch oddzielnych właściwości dla programowania / przemieszczania i serwerów produkcyjnych. Nie chcesz zanieczyszczać danych Analytics testem, a konfigurowanie filtrów nie jest przyjemne, jeśli jesteś do tego zmuszony.

To powiedziawszy, Google Analytics ma teraz śledzenie w czasie rzeczywistym , a jeśli chcesz śledzić kampanie lub transakcje, opóźnienie wynosi około 1 minuty do momentu wyświetlenia danych na stronie, o ile wybierzesz bieżący dzień.

Na przykład tworzysz witrynę i test witryny, a każdy z nich ma kod UA-XXXX-Y ha .

W logice aplikacji, w której podajesz JavaScript analityczny, sprawdź swoje środowisko, a do celów produkcyjnych użyj swojej witryny UA-XXXX-Y , a do przemieszczania / rozwoju użyj witryny testowej.

Możesz mieć tę konfigurację, dopóki nie poznasz tajników GA, a następnie usuń ją lub zachowaj, jeśli chcesz wprowadzać ciągłe zmiany (które najpierw przetestujesz na etapie programowania / tworzenia).

Źródło: osobiste doświadczenia, różne artykuły.

Mugur „Bud” Chirica
źródło
Wspominasz o użyciu dwóch różnych widoków. Utworzyłem nowy wpis na karcie Utwórz widok. Nie daje to jednak nowego identyfikatora śledzenia. Zamiast tego musiałem utworzyć nowy wpis w Create Property, który generuje nowy identyfikator śledzenia. Myślę, że o to ci chodziło, ale Google nazwał rzeczy podobnie do twojego wyboru słowa i spowodował zamieszanie.
Breakpoint25,
14

Teraz odpowiedź na twoje pytanie brzmi „tak”, wystarczy, że skopiujesz standardowy fragment kodu. Zgodnie z dokumentacją , teraz standardowy fragment ma automatyczną konfigurację domeny cookie: ga('create', 'UA-XXXXX-Y', 'auto');gdzie domena cookie jest automatycznie określana.

Ponadto, jeśli analytics.js wykryje, że prowadzisz serwer lokalnie (np. Localhost), automatycznie ustawia cookieDomain na „none”.

mert
źródło
Sprawdziłem to i wygląda na to, że moje cookieDomain jest ustawione na „localhost” zamiast none.
Shyamal Parikh
6

Po spędzeniu około dwóch godzin na wymyśleniu rozwiązania zdałem sobie sprawę, że mam adblockerów blokujących połączenie z GA. Kiedy je wyłączyłem, mogłem już iść.

Christoph Anderson
źródło
5

Łatwiejszym narzędziem do monitorowania tagów śledzących jest użycie rozszerzenia Chrome (prawdopodobnie dostępne lub równoważne dla innych przeglądarek) - Google Tag Assistant. To pokaże, które tagi odpalają, jakie problemy wykrył, a nawet rozbija takie rzeczy, jak wartości eCommerce dla łatwego odczytu. Działa również z Menedżerem tagów Google i może obsługiwać wiele zestawów tagów na stronie.

JezC
źródło
3

Chcę tylko dodać do tego, co zostało powiedziane do tej pory, może zaoszczędzić dużo bólu głowy, nie musisz czekać 24 godziny, aby zobaczyć, czy to działa, tak, ogólny przegląd zajmuje 24 godziny, ale na karcie Raportowanie jest link po lewej stronie do wyniku w czasie rzeczywistym i pokaże, czy ktoś aktualnie odwiedzający twoją stronę, również nie musiałem ustawiać 'cookieDomain': 'none', aby działała na localhost, moje ustawienie jest włączone 'auto'i działa dobrze (używam MVC 5), a ponadto dodałem skrypt na końcu tagu głowy, jak Google stwierdził na tej stronie :

Wklej swój fragment (niezmieniony w całości) na każdej stronie internetowej, którą chcesz śledzić. Wklej go bezpośrednio przed </head>tagiem zamykającym .

oto więcej informacji na temat sprawdzania, czy analityka działa poprawnie.

Deckard
źródło
3

W odpowiedzi na odpowiedź Tuong Lu Kim:

Zarozumiały:

ga('create', 'UA-XXXXX-Y', 'auto');

... jeśli analytics.js wykryje, że prowadzisz serwer lokalnie (np. localhost), automatycznie ustawia cookieDomain na „none”. ...

Fragment:

Automatyczna konfiguracja domeny plików cookie ustawia plik cookie _ga na domenie najwyższego poziomu, jaką może. Na przykład jeśli adres Twojej witryny to blog.example.co.uk, analytics.js ustawi domenę plików cookie na .example.co.uk. Ponadto, jeśli analytics.js wykryje, że prowadzisz serwer lokalnie (np. Localhost), automatycznie ustawia cookieDomain na „none”.

Zalecany fragment śledzenia JavaScript ustawia ciąg „auto” w polu cookieDomain:


Źródło: https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#automatic_cookie_domain_configuration

ourmaninamsterdam
źródło
2

Ostatnio natknąłem się na ten problem i przydało mi się zapoznanie się z nową dokumentacją Google dotyczącą debugowania Analytics . Właściwie to nie obchodziło mnie wysyłanie informacji o śledzeniu do Google Analytics, chciałem tylko upewnić się, że zdarzenia uruchamiają się poprawnie, a narzędzia do debugowania dały mi potrzebne informacje. YMMV, zdaję sobie sprawę, że nie odpowiada dokładnie na pytanie.

AndrewSouthpaw
źródło
0

Dla tych, którzy używają menedżera tagów Google do integracji ze zdarzeniami Google Analytics, możesz zrobić to, o czym wspominali faceci, aby ustawić flagę plików cookie na żadną z GTM

wprowadź opis zdjęcia tutaj

otwórz GTM> zmienne> zmienne analityczne google> i ustaw tag ciasteczka na none

Hasan Daghash
źródło