Śledzenie zmian w usłudze Google Analytics (ga.js) – historia zmian

Okresowo aktualizujemy kod śledzenia JavaScript Google Analytics (ga.js), aby udostępniać nowe funkcje i naprawiać usterki wykryte w poprzednich wersjach.

Ta strona zawiera informacje o wszelkich zmianach wprowadzonych w kodzie śledzenia ga.js. Zalecamy okresowe sprawdzanie tej listy pod kątem nowych ogłoszeń. Możesz też zasubskrybować zmiany za pomocą kanałów wymienionych w sekcji Subskrybuj poniżej.

Pamiętaj, że zarówno Ty, jak i Twoi użytkownicy możecie nie zobaczyć zaktualizowanego kodu śledzenia ga.js od razu, ponieważ:

  • Zmiany są wprowadzane stopniowo w ciągu kilku dni w globalnej infrastrukturze centrum danych Google.
  • Użytkownicy Twojej witryny mogą mieć w przeglądarkach starsze wersje naszego kodu JavaScriptu zapisane w pamięci podręcznej.

Zasubskrybuj powiązane dzienniki zmian

Obejmuje wszystkie interfejsy API do gromadzenia danych, konfiguracji i raportowania.

Obejmuje śledzenie sieci (ga.js i analytics.js), Android SDK, pakiet SDK na iOS oraz platformę Measurement Protocol.

  • Działania, które nie zawierają prawidłowego identyfikatora śledzenia, są teraz odrzucane.
  • Bezpieczne wyszukiwanie Yahoo jest teraz prawidłowo klasyfikowane jako źródło bezpłatne.
  • Dodano obsługę interfejsów API renderowania z wyprzedzeniem bez prefiksu. Renderowanie wstępne działa teraz nie tylko w Chrome, ale też w IE11.
  • Wersja konserwacyjna.

Następujące zmiany zostały przekazane do najnowszej wersji kodu śledzenia:

  • Dodaliśmy obsługę określania walut lokalnych w przypadku _set, np.gaq.push(['_set', 'currencyCode', 'EUR']).

Następujące zmiany zostały przekazane do najnowszej wersji kodu śledzenia:

  • Maksymalny dozwolony współczynnik próbkowania szybkości witryny (_setSiteSpeedSampleRate) został zwiększony z 10% do 100%.
  • Metoda _setAccount usuwa teraz spacje na początku i na końcu.

Następujące zmiany zostały przekazane do najnowszej wersji kodu śledzenia:

  • Zaktualizowano listę wykrytych domyślnie bezpłatnych wyszukiwarek. Dodano adresy „startsiden.no”, „rakuten.co.jp”, „biglobe.ne.jp” i „goo.ne.jp”. Usunięto słowa „search”, a „conduit.com”, „babylon.com”, „search-results.com”, „avg.com”, „comcast.net” i „incredimail.com” były wcześniej przypisywane razem jako „incredimail.com”.

Następujące zmiany zostały przekazane do najnowszej wersji kodu śledzenia:

  • Zwiększyliśmy limit długości zmiennej niestandardowej z 64 do 128 znaków. Dodatkowo przed zakodowaniem adresu URL jest teraz sprawdzana długość.
  • Złagodzono limit częstotliwości działań związanych ze zdarzeniem. Teraz możesz wysłać 10 działań z 1 dodatkowym działaniem na sekundę (wcześniej było to 1 działanie co 5 sekund). Pamiętaj, że nadal obowiązuje limit 500 działań na sesję.
  • Pliki cookie __utmv są teraz zapisywane za pomocą innego separatora zmiennych (kreska zamiast przecinka), aby zapewnić zgodność ze standardem RFC. To powinno rozwiązać niektóre problemy z kodowaniem plików cookie, które napotykają klienci.

Zmiany w zbieraniu danych o szybkości witryny:

  • Dane o szybkości witryny są teraz zbierane automatycznie dla wszystkich usług internetowych z częstotliwością próbkowania 1%. Funkcja _trackPageLoadTime, która wcześniej była wymagana do zbierania danych o szybkości witryny, została wycofana.
  • Domyślną częstotliwość próbkowania można dostosować za pomocą nowej funkcji _setSiteSpeedSampleRate.
  • Jeśli w wywołaniu _trackPageview użyto ścieżki wirtualnej, będzie ona również powiązana ze wszystkimi danymi o szybkości witryny zebranymi przez tę stronę.

Ta wersja zawiera tę nową funkcję:

  • Zdarzenia można oznaczyć jako niewymagające interakcji, ustawiając nowy parametr opt_noninteraction metody _trackEvent() na true. Jeśli zdarzenie nie wymaga interakcji, oznacza to, że odwiedziny pochodzące z otagowanego zdarzenia nie będą wpływały na współczynnik odrzuceń. Więcej informacji znajdziesz w dokumentacji ga.js.

Ta wersja zawiera następujące poprawki:

  • Rozwiązaliśmy problem, który powodował, że propagacja parametru adresu URL gclid AdWords w wewnętrznych linkach witryny mogła skutkować zawyżoną liczbą płatnych wizyt.

Naprawiliśmy błąd, który w niektórych witrynach spowodował zawyżoną liczbę wizyt lub spadek liczby nowych użytkowników. Pierwszy z nich dotyczył przede wszystkim witryn z ruchem bezpłatnym, w połączeniu z określonymi zachowaniami użytkowników. Drugi efekt dotyczył witryn z nieobsługiwaną konfiguracją śledzenia z wieloma modułami śledzącymi.

Zmiany w obliczeniach sesji:

  • Jedna kampania na sesję: jeśli nowa kampania zostanie uruchomiona w trakcie istniejącej sesji, skrypt śledzenia automatycznie rozpocznie nową sesję. Nowa kampania zostanie wywołana przez zmianę dowolnego z następujących pól: identyfikator kampanii, nazwa, źródło, medium, wyszukiwane hasło, treść lub gclid.
  • Skrypt śledzenia nie uruchamia już nowej sesji, gdy użytkownik zamknie przeglądarkę.

Zmiany w śledzeniu w wielu domenach:

  • Wywołanie metody _setAllowHash(false) nie jest już wymagane przy konfigurowaniu śledzenia w wielu domenach. Strony, które zawierają już wywołanie _setAllowHash(false), będą nadal działać, ale nie jest już wymagane podczas konfigurowania nowej witryny.
  • Skrypt śledzenia będzie teraz próbować naprawić parametry tagu łączącego, które zostały zniekształcone przez przekierowania HTTP i przeglądarki. Około 85% wartości powiązań, które są obecnie odrzucane z powodu zmian w kodowaniu wprowadzonych przez narzędzia do przekierowania i przeglądarki, powinno już być pomyślnie przywróconych i ponownie akceptowanych przez kod śledzenia.

Ta wersja zawiera jedną nową funkcję:

  • Kod śledzenia opóźnia teraz trafienie w przypadku wstępnie wyrenderowanych stron do momentu wyświetlenia ich przez użytkownika. Jeśli wstępnie renderowana strona nie zostanie nigdy wyświetlona, działania nie zostaną wysłane. Ta funkcja jest dostępna tylko dla witryn korzystających z asynchronicznego skryptu śledzenia. Więcej informacji o renderowaniu wstępnym znajdziesz na blogu Centrum Google dla webmasterów.

Ta wersja zawiera różne poprawki błędów i refaktoryzację oraz jedną nową funkcję:

  • Dodano obsługę śledzenia społecznościowego ( _tracksocial).

Ta wersja zawiera następujące poprawki błędów.

  • Naprawiono błąd śledzenia w wielu domenach, który w niektórych przypadkach powodował nieprawidłowe kodowanie danych kampanii.
  • Naprawiono błąd w śledzeniu w wielu domenach, który powodował, że pliki cookie były ładowane z adresu URL więcej niż raz, a w niektórych przypadkach były nieprawidłowe.
  • Naprawiliśmy błąd w zmiennych niestandardowych, który powodował kodowanie niektórych wartości w raportach.

Ta wersja obejmuje regularne prace konserwacyjne, w tym poprawki błędów i refaktoryzację. Publiczne interfejsy API i funkcje nie uległy zmianie.

Ta wersja zawiera aktualizacje i 1 nową funkcję.

  • Pomoc na poziomie POST:

    • Kod śledzenia może teraz wysyłać znacznie większe beacony. Tradycyjnie obrazy typu beacon były wysyłane za pomocą żądań HTTP GET, które niektóre przeglądarki i serwery proxy nie mogą przekraczać 2048 znaków. Żądania przekraczające ten limit zostały pominięte, a dane nigdy nie dotarły do Google Analytics. Od tej wersji żądania dłuższe niż 2048 znaków będą wysyłane przez protokół HTTP POST, który nie ma takiego limitu. Kod śledzenia będzie teraz obsługiwać obrazy typu beacon o długości do 8192 znaków.

Ta wersja zawiera następujące poprawki błędów.

  • Naprawiliśmy błąd, który uniemożliwiał prawidłowe działanie _addIgnoredOrganic i _addIgnoredRef przy pierwszej wizycie w witrynie.
  • Naprawiono problem związany z działaniem kodu śledzenia w wielu elementach iframe.

Ta wersja obejmuje regularne prace konserwacyjne, w tym poprawki błędów i refaktoryzację. Publiczne interfejsy API i funkcje nie uległy zmianie.

Ta wersja zawiera poprawki błędów i czyszczenie interfejsu API.

  • Poprawki błędów:

    • Usunięto błąd śledzenia zdarzeń. Aby zadzwonić pod numer _trackEvent, nie musisz już najpierw zadzwonić pod numer _initData lub _trackPageview.
    • Zaktualizowany fragment asynchroniczny, dzięki czemu można go umieścić w nagłówku na dowolnej stronie, nie powodując problemów w IE 6 i 7. Nowy fragment kodu znajdziesz w przewodniku po śledzeniu asynchronicznego. Ta aktualizacja miała miejsce 22.03.2010.
    • Rozwinięto składnię asynchroniczną, aby umożliwić obsługę metod wywoływania w obiekcie _gat.
  • Zaktualizowane interfejsy API inicjowania trackera w celu zachowania spójności ze składnią asynchroniczną. Wycofano też stare funkcje.

    • Dodano funkcję _gat._createTracker(opt_account, opt_name). Pozwala na nadawanie nazw trackerom i późniejsze pobieranie ich według nazwy.Używaj tej opcji zamiast: _gat._getTracker(account).
    • Dodano: _gat._getTrackerByName(name). Pobiera urządzenie śledzące o podanej nazwie.
    • Dodano: tracker._getName(). Zwraca nazwę nadana trackerowi, gdy został utworzony.
    • Wycofano: _gaq._createAsyncTracker(account, opt_name). Użyj w zamian zasady _gat._createTracker.
    • Wycofano: _gaq._getAsyncTracker(name). Użyj w zamian zasady _gat._getTrackerByName.
  • Szczegółowe informacje o zmianach w interfejsie API znajdziesz w dokumentacji modułu śledzenia.

Ta wersja zawiera aktualizacje listy domyślnych wyszukiwarek i nowe funkcje kontroli limitów czasu oczekiwania na pliki cookie. Oprócz tego uruchamiany jest asynchroniczny fragment kodu GA, który zmniejsza czas oczekiwania na kod ga.js na stronie.

  • Zaktualizowano listę domyślnych wyszukiwarek

    • Dodano wyszukiwarki Naver, Eniro i Daum.
    • Z listy usunięto Looksmart, Gigablast, Club-internet, Netsprint, Intera, Nostrum i Ilse.
  • Dodano funkcje kontrolowania czasu ważności plików cookie dla wszystkich przechowywanych plików cookie. Wycofano istniejące funkcje limitu czasu obsługi plików cookie. Więcej informacji znajdziesz w dokumentacji interfejsu JS API.

    • _setVisitorCookieTimeout(cookieTimeoutMillis) zastępuje funkcję _setCookiePersistence.
    • _setSessionCookieTimeout(cookieTimeoutMillis) zastępuje funkcję _setSessionTimeout.
    • _setCampaignCookieTimeout(cookieTimeoutMillis) zastępuje funkcję _setCookieTimeout.
  • Udostępniono asynchroniczny fragment kodu GA. Aby dowiedzieć się, jak je wypróbować, zapoznaj się z dokumentacją.

  • Funkcja _setVar została wycofana. Funkcja Zmienne niestandardowe zastępuje funkcję _setVar. Więcej informacji znajdziesz w dokumentacji.

Ta wersja zawiera:

  • Dodaliśmy nową funkcję pobierania zmiennych niestandardowych na poziomie użytkownika. Więcej informacji znajdziesz w dokumentacji funkcji.

    • _getVisitorCustomVar(index)
  • Zamiast czekać na window.onload, treść nakładki witryny jest wczytywana od razu po wykonaniu kodu ga.js.

Ta wersja zawiera nową funkcję:

  • Do funkcji _addOrganic dodaliśmy opcjonalny parametr logiczny, który określa, czy nowe źródła bezpłatne mają być dodawane na początku czy na końcu listy takich źródeł. Więcej informacji znajdziesz w dokumentacji.

    • _addOrganic(newOrganicEngine, newOrganicKeyword, opt_prepend)

Ta wersja obejmuje regularną konserwację w celu poprawy wydajności i refaktoryzacji. Publiczne interfejsy API i funkcje nie uległy zmianie.

Ta wersja zawiera wiele poprawek błędów i poprawia wydajność:

  • Poprawne kodowanie wyszukiwanych haseł w przypadku bezpłatnych wyników wyszukiwania, informacji o ścieżce do strony internetowej dla (utmp) oraz wartości zdefiniowanych przez użytkownika w przypadku użycia z funkcją łączącą (np. funkcje _link i _linkByPost).
  • Wyszukiwarka Rambler została dodana do listy bezpłatnych wyników wyszukiwania.
  • Analiza składni bezpłatnych wyników wyszukiwania w wyszukiwarce http://kvasir.no została poprawiona.
  • Nowe bezpłatne wyszukiwarki zdefiniowane przez użytkownika są teraz dodawane u góry listy
  • Usunięto wycofaną funkcję _trackEvent(action, label, value) i zastąpiono ją funkcją _trackEvent(category, action, label, value)
  • Adresy URL stron odsyłających są obecnie zapisane z uwzględnieniem wielkości liter. Przykład: adres URL strony www.domain.com/PaGe.HtMl będzie raportowany z uwzględnieniem wielkości liter.
  • Dodano ograniczenie 1200 znaków do rozmiaru tokena GASO.
  • Dodaliśmy nową funkcję, która umożliwia zastąpienie domyślnych limitów czasu korzystania z plików cookie: _setCookiePersistence(timeout)