Uzyskiwanie i ustawianie danych pól

Uzyskiwanie i konfigurowanie danych pól w lokalizatorze wymaga czasami odwołania do samego obiektu skryptu śledzenia. Polecenia dodane do kolejki poleceń ga() są wykonywane asynchronicznie i nie zwracają wartości, a ponieważ moduły do śledzenia są najczęściej tworzone za pomocą polecenia create, uzyskanie odniesienia do obiektu skryptu śledzenia wymaga oczekiwania na wykonanie polecenia create. Możesz to zrobić, korzystając z gotowego wywołania zwrotnego.

Gotowe wywołanie zwrotne

Gotowe wywołanie zwrotne to funkcja, którą możesz dodać do kolejki poleceń ga(). Funkcja zostanie wywołana zaraz po pełnym wczytaniu biblioteki analytics.js i wykonaniu wszystkich poprzednich poleceń dodanych do kolejki.

Wszystkie polecenia w kolejce są wykonywane po kolei, dlatego dodanie gotowego wywołania zwrotnego do kolejki po dodaniu polecenia create zapewni, że gotowe wywołanie zwrotne zostanie wykonane po utworzeniu modułu śledzenia. Jeśli domyślny moduł śledzenia został utworzony po wywołaniu gotowego wywołania zwrotnego, jest on przekazywany jako pierwszy (i jedyny) argument wywołania zwrotnego.

Poniższy kod pokazuje, jak uzyskać dostęp do domyślnego obiektu skryptu śledzenia i zarejestrować go w konsoli:

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

ga(function(tracker) {
  // Logs the tracker created above to the console.
  console.log(tracker);
});

Uzyskiwanie skryptów śledzenia za pomocą metod obiektów GA

Jeśli nie korzystasz z domyślnego modułu do śledzenia lub jeśli na stronie jest więcej niż jeden, możesz uzyskać do nich dostęp za pomocą jednej z metod obiektów ga.

Po pełnym wczytaniu biblioteki analytics.js dodaje ona dodatkowe metody do samego obiektu ga. Dwie z tych metod, getByName i getAll, są używane do uzyskiwania dostępu do obiektów trackera.

getByName

Jeśli znasz nazwę lokalizatora, do którego chcesz uzyskać dostęp, możesz to zrobić, korzystając z metody getByName:

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

ga(function() {
  // Logs the "myTracker" tracker object to the console.
  console.log(ga.getByName('myTracker'));
});

getAll

Aby uzyskać tablicę ze wszystkimi utworzonymi modułami śledzącymi, użyj metody getAll:

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

ga(function() {
  // Logs an array of all tracker objects.
  console.log(ga.getAll());
});

Pobieranie danych zapisanych na trackerze

Gdy będziesz mieć odniesienie do obiektu skryptu śledzenia, możesz użyć jego metody get, aby uzyskać dostęp do wartości dowolnego pola zapisanego obecnie w module śledzącym.

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

ga(function(tracker) {
  // Logs the trackers name.
  // (Note: default trackers are given the name "t0")
  console.log(tracker.get('name'));

  // Logs the client ID for the current user.
  console.log(tracker.get('clientId'));

  // Logs the URL of the referring site (if available).
  console.log(tracker.get('referrer'));
});

Zaktualizuj dane

Obiekty trackera można aktualizować za pomocą metody set. Metodę set modułu śledzącego można wywołać w samym obiekcie skryptu śledzenia lub przez dodanie polecenia set do kolejki poleceń ga().

Ponieważ uzyskanie odniesienia do obiektu skryptu śledzenia wymaga użycia gotowego wywołania zwrotnego, zalecanym sposobem aktualizacji modułu jest użycie kolejki poleceń ga().

Kolejka poleceń ga()

Polecenie set można wywołać na 2 sposoby: przekazując 2 parametry – pole i odpowiadającą mu wartość lub przekazując obiekt par pole/wartość.

Ten przykład ustawia pole page na '/about' w domyślnym module śledzącym:

ga('set', 'page', '/about');

Ten przykład ustawia jednocześnie pola page i title:

ga('set', {
  page: '/about',
  title: 'About Us'
});

Korzystanie z nazwanego trackera

Jeśli zamiast domyślnego trackera używasz nazwanego modułu do śledzenia, możesz przekazać jego nazwę w ciągu poleceń.

To wywołanie ustawia pole page w urządzeniu śledzącym o nazwie „myTracker”:

ga('myTracker.set', 'page', '/about');

W samym obiekcie śledzącym

Jeśli masz odwołanie do obiektu skryptu śledzenia, możesz bezpośrednio wywołać jego metodę set:

ga(function(tracker) {
  tracker.set('page', '/about');
});

Składnia instrukcji Ampersand

Pola skryptu śledzenia są zwykle pobierane i konfigurowane za pomocą nazw pól. (Pełną listę pól analytics.js i ich nazwy znajdziesz w dokumentacji pól).

Alternatywnym sposobem pobierania i ustawiania pól jest odwoływanie się do nich za pomocą odpowiednich nazw parametrów platformy Measurement Protocol.

Na przykład te 2 wyrażenia console.log rejestrują w konsoli tytuł dokumentu:

ga(function(tracker) {
  // Gets the title using the analytics.js field name.
  console.log(tracker.get('title'));

  // Gets the title using the measurement protocol
  // parameter name, prefixed with an ampersand.
  console.log(tracker.get('&dt'));
});

Ogólnie rzecz biorąc, składnia „ampersand” nie jest zalecana i należy jej używać tylko wtedy, gdy nazwa pola analytics.js dla parametru Measurement Protocol nie istnieje (czasem zdarza się, że do platformy Measurement Protocol dodano nową funkcję przed jej zaimplementowaniem w kodzie analytics.js).

Dalsze kroki

Gdy już wiesz, jak tworzyć skrypty śledzenia i aktualizować w nich przechowywane dane, sprawdź, jak wysyłać dane do Google Analytics w celu ich przetwarzania.