Google Analytics - nie udało się załadować zasobu: http://www.google-analytics.com/ga.js

103

Od jakiegoś czasu zauważyłem ten błąd na konsoli Chrome:

wprowadź opis obrazu tutaj

Zmodyfikowałem skrypt Google tak, żeby logował błąd, bo używa try{} catch{}, a oto co mam:

wprowadź opis obrazu tutaj

Nie zauważyłem znacznych zmian w statystykach, zawsze są wzloty i upadki.

Poza tym nie jest to tylko na moich stronach, ale wszędzie. Nie znalazłem raportów o błędach ani nic takiego.

Jeśli przejdę do http://www.google-analytics.com/ga.js w przeglądarce, ładuje się normalnie.

Czy ktoś ma pojęcie, co to powoduje?

Nahuel
źródło
2
Czy jesteś za proxy lub firewallem?
shanabus
4
Co się stanie, jeśli spróbujesz bezpośrednio otworzyć http://www.google-analytics.com/ga.js w przeglądarce? Wygląda na to, że możesz blokować lub przekierowywać google-analytics.com w lokalnym pliku HOSTS.
Mike
28
Sprawdź, czy nie używasz AdBlocka lub czegoś, co może blokować ładowanie Google Analytics.
Travis-146
Tak. Wyłączyłem AdBlock i teraz ładuje się dobrze. Nie pomyślałem o tym, dziękuję :)
Nahuel
3
Miałem ten problem podczas korzystania z VPN, wyłączenie go usunęło problem.
nilsi

Odpowiedzi:

188

To był problem z AdBlockiem. Wyłączyłem go i teraz ładuje się normalnie.

yagudaev sugeruje (przeczytaj odpowiedzi poniżej), aby uniemożliwić AdBlock blokowanie Google Analytics, musisz edytować dostarczony fragment kodu i https://domyślnie używać go zamiast adresu URL zależnego od protokołu. To oznacza zmianę

'//www.google-analytics.com/analytics.js'

w

'https://www.google-analytics.com/analytics.js'

Przykład:

<script>
  (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-XXXXX-XX', 'auto');
  ga('send', 'pageview');
</script>
Nahuel
źródło
1
To samo tutaj. To sprawia, że ​​czujesz się głupio, gdy dzieje się coś takiego. Pamiętam, że spędziłem pół dnia na naprawianiu niektórych obrazów, które nie były pobierane z serwera, tylko po to, aby zdać sobie sprawę, że nazwanie go „banner.jpg” spowodowało, że AdBlock również go zablokował. Dzięki za wskazówkę.
Mosselman
3
Jednak zezwalają na reklamy w Gmailu, WTF AdBlock, WTF
Nick Shvelidze,
6
Czy to oznacza, że ​​GA nie liczy ludzi z Addblock?
pie6k
1
@AdamPietrasiak Tak, to niestety oznacza. :( Niektóre regionalne listy filtrów zawierają reguły, które całkowicie blokują GA, GTM i wszystkie niesamowite rzeczy Google ... nawet test MVT (testy A / B) nie zadziała, jeśli używasz eksperymentu w GA. Nie mogę zrozumieć, dlaczego dobre dla ludzi (ewentualnie opiekunów listy plików) ... Zwykły użytkownik nie skonfiguruje białej listy i żadnych innych ustawień ... po prostu zainstaluje wtyczkę i to wszystko ... a my po prostu tracimy dane w statystykach
Sas Sam
3
rzeczywiście Ken niestety dla mnie, mimo że zmienił http na https wciąż widzę to w konsoli debugowania przeglądarki (chrom + Adblock Plus): GET google-analytics.com/analytics.js netto :: ERR_BLOCKED_BY_CLIENT
Ovi
7

Może to być również plik hostów, oto mój:

$ grep -ni "google-analytics.com" /etc/hosts
6203:# 127.0.0.1  ssl.google-analytics.com #[disabled = Firefox issues]
6204:127.0.0.1  www.google-analytics.com #[Google Analytics]
SKWebDev
źródło
To było to. Nie mam pojęcia, jak to się tam dostało, ale usunięcie go zadziałało.
Chris Bloom,
3

Powodem, dla którego napotykasz problemy, jest to, że AdBlock zablokuje ten skrypt wtedy i tylko wtedy, gdy nie przejdzie https. Zwróć uwagę, że otrzymany błąd zawiera http:odniesienie do protokołu.

Wszystko, co musisz zrobić, to zmienić fragment kodu, aby wymusić na nim przejście przez połączenie ssl, dodając jawny protokół zamiast domyślnego adresu URL protokołu.

<script>
  (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-XXXXX-XX', 'auto');
  ga('send', 'pageview');
</script>
Michael Yagudaev
źródło
To dobra wskazówka, aby uniknąć utraty statystyk użytkowników, którzy używają AdBlock. Ponieważ jest już zaakceptowana odpowiedź, dodam do niej twoją wskazówkę. Dzięki!
Nahuel
4
https nie ma żadnego znaczenia. Host jest zablokowany, a nie adres URL.
Ken Sharp
1
rzeczywiście Ken niestety dla mnie, mimo że zmienił http na https wciąż widzę to w konsoli debugowania przeglądarki: GET google-analytics.com/analytics.js netto :: ERR_BLOCKED_BY_CLIENT
Ovi
2

Ten błąd jest często spowodowany jednym z rozszerzeń zainstalowanych w Chrome.
Istnieje kilka sposobów debugowania i rozwiązywania problemów związanych z komunikatem ERR_BLOCKED_BY_CLIENT.

  • Wyłącz rozszerzenie.
  • Umieść domenę na białej liście.
  • Debuguj problem.

Poleciłbym znaleźć więcej szczegółów w Jak rozwiązać ERR_BLOCKED_BY_CLIENT

Chetabahana
źródło
1
Używałem rozszerzenia Disconnect dla przeglądarki Firefox i kiedy dodałem domenę do białej listy, rozwiązało to problem.
codeinaire
2

Aktualizacja 2019

Stało się to teraz bardzo rozpowszechnione.

Rozwiązania

  1. Poproś ludzi o odblokowanie Twojej witryny (zły pomysł z własnego doświadczenia)
  2. Hostuj skrypt Google Analytics lokalnie (zły pomysł), ponieważ Google tak mówi TUTAJ

Odwołanie do pliku JavaScript z serwerów Google (tj. Https://www.googletagmanager.com/gtag/js ) zapewnia dostęp do nowych funkcji i aktualizacji produktów w miarę ich udostępniania, co zapewnia najdokładniejsze dane w raportach.

  1. Użyj analizy po stronie serwera. To właśnie robią ludzie w dzisiejszych czasach. Jeśli korzystasz z node.js, użyj biblioteki, takiej jak analytics lub universal-analytics
PirateApp
źródło
1

Jakiś czas temu zauważyłem to samo w swojej przeglądarce. Czy logowałeś się do Chrome, używając swojego konta Google? A może w jakikolwiek sposób zrezygnowałeś ze zbierania danych w Google Analytics?

Może Google pamięta tę opcję i używa jej w przeglądarce Chrome, gdy jesteś zalogowany ...

BTW. Zwykle mogę otworzyć http://www.google-analytics.com/ga.js w przeglądarce, po prostu nie działa po automatycznym załadowaniu.

aherok
źródło
4
To był problem z AdBlockiem. Wyłączyłem go i teraz ładuje się normalnie.
Nahuel
0

Upewnij się, że Fiddler (lub podobny serwer proxy) nie jest aktywny.

tchelidze
źródło
1
Windscribe blokuje również Google Analytics.
Ben Gubler,