Wyszukiwarka
Wyczyść wyszukiwanie
Zamknij wyszukiwanie
Aplikacje Google
Menu główne

Zmienne

Zmienne to pary nazwa-wartość. Wartość jest określana w czasie działania. Na przykład wstępnie zdefiniowana zmienna o nazwie „url” została zdefiniowana tak, aby jej wartość stanowił URL bieżącej strony.

Zmienne są używane w regułach i tagach. W regułach służą one do definiowania filtrów, które określają, kiedy dana reguła ma być uruchamiana (np. uruchomienie reguły opartej na odsłonie strony, jeśli zmienna url będzie miała wartość „example.com/index.html”). W tagach zmienne służą do przechwytywania wartości dynamicznych (np. przekazanie informacji o wartości transakcji i nabytych artykułach do tagu śledzenia konwersji).

Menedżer tagów Google udostępnia zestaw wstępnie zdefiniowanych wartości w każdym utworzonym kontenerze witryny internetowej lub kontenerze aplikacji mobilnej. Za pomocą tych zmiennych można tworzyć najczęściej stosowane tagi i reguły. Można jednak tworzyć dodatkowe zmienne, dopasowane do specyficznych wymagań.

Uwaga: zmienne wbudowane to specjalna kategoria zmiennych utworzonych wstępnie w Menedżerze tagów Google. Zastępują one zmienne, które były generowane podczas tworzenia nowego kontenera. Po włączeniu wybranych zmiennych wbudowanych można używać ich tak samo jak wszelkich innych zmiennych. Zmienne wbudowane obejmują wiele podstawowych i typowych zmiennych, np. adres URL strony, stronę odsyłającą, identyfikator kliknięcia, liczby losowe i zdarzenia. Więcej informacji o zmiennych wbudowanych.

Przykład – witryny internetowe

Załóżmy, że chcesz uruchamiać tag remarketingowy w sieci reklamowej Google, gdy użytkownik wyda w Twojej witrynie ponad 300 PLN. W tym celu musisz utworzyć regułę opartą na odsłonie strony i dodać do niej następujący warunek:

Kwota transakcji przekracza 300 PLN

Zmienna „Kwota transakcji” nie istnieje, więc należy ją zdefiniować. Poinstruuj Menedżera tagów Google, że wartość Kwota transakcji jest podana w zmiennej JavaScript transactionAmt (przy założeniu, że ta zmienna JavaScript jest dostępna na stronie potwierdzenia kupna w Twojej witrynie).

W trakcie działania Menedżer tagów Google pobierze wartość Kwota transakcji z określonej zmiennej JavaScript. Następnie powyższa reguła oceni, czy wartość przekracza 300 PLN.

Oprócz użycia zmiennej Kwota transakcji jako reguły, można też użyć jej do przekazania informacji o tej kwocie do dowolnego tagu śledzenia konwersji, np. do tagu DoubleClick Floodlight. Pozwoli to umieścić informację o przychodzie z transakcji w raportach DoubleClick.

Typy zmiennych w przypadku witryn internetowych

Własny plik cookie: wartość odpowiada własnemu plikowi cookie z nazwą odpowiadającą domenie, w której obecnie przebywa użytkownik. Jeśli zdarzy się, że plik cookie o tej samej nazwie jest zaimplementowany w wielu ścieżkach lub na wielu poziomach w obrębie tej samej domeny, zostanie wybrana pierwsza wartość. Jest to identyczne z wywołaniem makra document.cookie z poziomu strony i wybraniem pierwszego wyniku.

Zmienne wbudowane: jest to specjalny zestaw często używanych, wstępnie utworzonych zmiennych, których nie można dostosowywać. Można je udostępnić Menedżerowi tagów Google. Więcej informacji.

Ciąg stały: wartość stanowi podany przez Ciebie ciąg. Ze względu na to, że ten ciąg znaków nie będzie się zmieniać (jest on po prostu wpisywany przez Ciebie), typ zmiennej Ciąg stały rzadko okazuje się przydatny. Możesz go jednak użyć, jeśli np. chcesz ustawić standardową nazwę firmy, używaną w całej witrynie. Ciąg można następnie łatwo modyfikować w Menedżerze tagów Google, a zmiana będzie odzwierciedlana we wszystkich tagach korzystających z tej zmiennej.

Numer wersji kontenera: kiedy kontener znajduje się w trybie podglądu, zmienna numeru wersji kontenera podaje jego numer wersji podglądu. W innym wypadku zmienna podaje numer opublikowanej wersji kontenera.

Niestandardowy kod JavaScript: wartość jest równa wynikowi funkcji JavaScript. JavaScript musi mieć formę anonimowej funkcji, która zwraca wartość. Możesz np. utworzyć niestandardową zmienną JavaScript o nazwie „lowerUrl”, korzystającą ze wstępnie zdefiniowanej zmiennej {{url}}:

function () {
  return {{url}}.toLowerCase();
}

Zmienna warstwy danych: wartość jest ustawiana na „wartość”, kiedy w witrynie zostanie wykonany następujący kod: dataLayer.push({'Data Layer Name': 'value'}})

W Menedżerze tagów Google można określić, jak mają być interpretowane kropki („.”) w nazwie zmiennej warstwy danych:

  • Wersja 1: zezwalaj na kropki w nazwach kluczy. Na przykład w dataLayer.push('a.b.c': 'value') nazwa klucza zostanie zinterpretowana jako „a.b.c” (tzn. {'a.b.c': 'value'}).
  • Wersja 2: interpretuj kropki jako wartości zagnieżdżone. Na przykład w dataLayer.push({'a.b.c': 'value'}) zostaną rozpoznane trzy poziomy zagnieżdżenia: {a: {b: {c: 'value'}}}. Pozwala to na odczytywanie wartości zagnieżdżonych. Jeśli ustawisz nazwę zmiennej jako „a.b”, zwróci ona obiekt {c: 'value'} (zgodnie ze standardowymi regułami JavaScript). Zagnieżdżone przenoszenie pozwala również bezpośrednio edytować zagnieżdżone wartości. Wykonanie na stronie poleceń:
    dataLayer.push({'a.b.c': 'value'});
    dataLayer.push({'a.b.d': 4});

    utworzyłoby więc makro dataLayer wyglądające na przykład tak: {a: {b: {c: 'value', d: 4}}}.

Tryb debugowania: ustawiana jest wartość „prawda”, jeśli kontener jest wyświetlany w trybie debugowania.

Element DOM: wartość jest ustawiona na tekst elementu DOM lub wartość określonego atrybutu elementu DOM. Jeśli szukana wartość nie została skonfigurowana w warstwie danych (zob. opis typu zmiennej Warstwa danych – powyżej), możliwe, że wartości nie będzie można pobrać z obiektu DOM. Użyj tego typu zmiennej, jeśli wprowadzenie wartości atrybutu ID elementu pozwala na znalezienie poszukiwanej wartości w obiekcie DOM.

W razie ustawienia opcjonalnej nazwy atrybutu wartość zmiennej będzie zwracać wartość określoną w tym atrybucie (np. data-food="babeczki"). W przeciwnym razie wartością zmiennej będzie tekst elementu DOM.

Strona odsyłająca HTTP: wartość jest ustawiona na stronę odsyłającą HTTP, czyli poprzednią stronę, którą odwiedził dany użytkownik. Jeśli np. przejdzie on na jedną z Twoich stron produktów z poziomu strony głównej, stroną odsyłającą będzie strona główna.  Menedżer tagów Google automatycznie tworzy wystąpienie tego typu zmiennej, ale możesz utworzyć dodatkowe wystąpienia, jeśli chcesz wyeksponować różne części URL-a odsyłającego.

Zmienna JavaScript: wartość jest ustawiona na określoną przez Ciebie globalną zmienną. Jeśli szukana wartość nie została skonfigurowana w warstwie danych (zob. opis typu zmiennej Warstwa danych) i nie jest widoczna w obiekcie DOM (zob. opis typu zmiennej Element DOM), możliwe, że wartości nie będzie można pobrać ze zmiennej JavaScript. Użyj tego typu zmiennej, jeśli wartość można znaleźć w źródle strony w postaci zmiennej JavaScript.

Tabela przeglądowa: wartość jest ustawiana zgodnie z instrukcjami podanymi w tabeli przeglądowej. Tabela przeglądowa zawiera dwie kolumny (Pusta tabela ilustruje sposób późniejszego użycia danych):

Kiedy [wybierz zmienną] równa się

Ustaw [ta zmienna] na

   

Typ Tabela przeglądowa pozwala utworzyć zmienną, której wartość będzie zależna od wartości innej zmiennej. Jest to przydatne, gdy Twoja witryna została skonfigurowana tak, że odpowiednia wartość (np. identyfikator śledzenia konwersji) może zostać zmapowany na URL lub inny aspekt strony. W tym przykładzie tworzona jest zmienna o nazwie Identyfikator konwersji. Jeśli adresem URL jest „/dziekujemy/zakup1.html”, wartość jest ustawiana na „12345”; jeśli adresem URL jest „dziekujemy/zakup2.html”, wartość jest ustawiana na „34567”. Tabela przeglądowa nie ma limitu wierszy. Wielkość liter w polach ma znaczenie.

Kiedy {{url}} jest równy

Ustaw {{Identyfikator konwersji}} na

http://example.com/dziekujemy/zakup1.html

12345

http://example.com/dziekujemy/zakup2.html

34567

http://example.com/dziekujemy/zakup3.html

56789

Liczba losowa: wartość jest ustawiana na losową liczbę od 0 do 2147483647.

Zmienne wbudowane: te zmienne są automatycznie uzupełniane przez Menedżera tagów Google, kiedy wystąpi określone zdarzenie na stronie, takie jak kliknięcie linku, kliknięcie określonego elementu, przesłanie formularza itp. Więcej informacji.

URL: ten typ zmiennej umożliwia analizowanie i eksponowanie składników adresu URL. Menedżer tagów Google automatycznie tworzy 3 wystąpienia tego typu zmiennej (Pełny URL, Nazwa hosta i Ścieżka). Możesz utworzyć dodatkowe wystąpienia, aby wyeksponować inne części URL-a. Dostępne są następujące składowe: Protokół, Nazwa hosta, Port, Ścieżka lub Fragment. Zestaw możliwych wartości zmiennych tego typu odpowiada URL-owi strony, na której obecnie znajduje się użytkownik (jpobieranemu z document.location). Dostosowując ustawienia źródła adresu URL, można wybrać w Menedżerze tagów Google pobieranie wartości adresu URL z innego źródła.

Typy zmiennych w przypadku aplikacji mobilnych

 

Śledzenie reklamowe włączone: na Androidzie opcja ta zwraca wartość „prawda”, jeśli śledzenie reklamowe jest włączone, lub „fałsz”, jeśli użytkownik zrezygnował z reklam opartych na zainteresowaniach. Więcej informacji znajdziesz w witrynie dla programistów Androida. Pakiet SDK w wersji starszej niż 4 będzie zawsze zwracać wartość „fałsz”. W systemie iOS w wersji 6 lub nowszej, wartość jest ustawiona zgodnie z usługą advertisingTrackingEnabled. W przeciwnym wypadku jest ustawiona jako „prawda”. W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Identyfikator aplikacji: przyjmowaną wartością jest nazwa pakietu (Android) lub identyfikator pakietu (iOS). W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Nazwa aplikacji: przyjmowaną wartością jest nazwa uruchomionej aktualnie aplikacji. W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Kod wersji aplikacji: przyjmowaną wartością jest wersja uruchomionej aktualnie aplikacji. W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Ciąg stały: przyjmowaną wartością jest podany przez Ciebie ciąg.

Identyfikator kontenera: podaje publiczny identyfikator kontenera (np. GTM-ABC42). W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Numer wersji kontenera: gdy kontener znajduje się w trybie podglądu, wartość tej zmiennej podaje numer wersji podglądu kontenera. W innym przypadku wartość zmiennej podaje numer opublikowanej wersji kontenera. W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Identyfikator urządzenia: w przypadku Androida przyjmowaną wartością jest identyfikator urządzenia. W przypadku starszych kontenerów iOS przyjmowaną wartością jest „” (pusty ciąg znaków). Ta zmienna jest niedostępna w kontenerach Firebase (iOS). W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Nazwa urządzenia: wartość stanowi nazwa urządzenia, na którym aplikacja jest obecnie uruchomiona (np. „Samsung Android”, „Android SDK dla x86”). W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Nazwa zdarzenia: przyjmowaną wartością jest „nazwaZdarzeniaXYZ” po wykonaniu w aplikacji następującego kodu:

Urządzenie z Androidem:
FirebaseAnalytics.getInstance(mContext).logEvent("nazwaZdarzeniaXYZ", null);

Urządzenie z systemem iOS:
[FIRAnalytics logEventWithName:@"nazwaZdarzeniaXYZ" parameters:parameters];

W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Parametr zdarzenia: przyjmowana jest wartość zarejestrowanego dla danego klucza parametru zdarzenia Firebase Analytics.

Usługa użytkownika Firebase: przyjmowana jest wartość usługi użytkownika Firebase Analytics dla danego klucza.

Wywołanie funkcji: wartość stanowi zwrócona wartość wywołania zarejestrowanej wcześniej funkcji. Więcej informacji można znaleźć w dokumentacji pakietu SDK do Androida lub iOS.

Identyfikator wyświetlania reklam: w przypadku Androida przyjmowaną wartością jest identyfikator wyświetlania reklam. Więcej informacji znajdziesz w witrynie dla programistów Androida. Pakiet SDK w wersji starszej niż 4 będzie zawsze zwracać „” (pusty ciąg znaków). W systemie iOS w wersji 6 lub nowszej przyjmowaną wartością jest identyfikator reklamy (IDFA). W innych przypadkach wartością jest „” (pusty ciąg znaków).

Język: przyjmowaną wartością jest dwuliterowy kod języka odpowiadający językowi urządzenia ustawionemu przez użytkownika. W kontenerach aplikacji mobilnych udostępniana jest wstępnie zdefiniowana zmienna tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Tabela przeglądowa: wartość jest ustawiana zgodnie z instrukcjami podanymi w tabeli przeglądowej. Tabela przeglądowa zawiera dwie kolumny (Pusta tabela ilustruje sposób późniejszego użycia danych):

Kiedy [wybierz zmienną] równa się

Ustaw [ta zmienna] na

   

Typ Tabela przeglądowa pozwala utworzyć zmienną, której wartość będzie zależna od wartości innej zmiennej. Jest to przydatne, gdy Twoja aplikacja została skonfigurowana tak, że odpowiednia wartość (np. identyfikator śledzenia konwersji) może zostać odwzorowana na kod wersji aplikacji lub na jej inny aspekt. W tym przykładzie tworzona jest zmienna o nazwie Identyfikator konwersji. W przypadku kodu wersji aplikacji 1.0 przyjmowana jest wartość „12345”; a jeśli kod wersji aplikacji to 1.1, przyjmowana jest wartość „34567”. Tabela przeglądowa nie ma limitu wierszy. Wielkość liter w polach ma znaczenie.

Gdy {{Kod wersji aplikacji}} równa się

Ustaw {{Identyfikator konwersji}} na

1.0

12345

1.1

34567

1.2

56789

Wersja systemu operacyjnego: przyjmowaną wartością jest wersja systemu operacyjnego, w którym zainstalowana jest aplikacja. W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Platforma: przyjmowaną wartością jest nazwa platformy działającej aktualnie aplikacji (np. „Android”). W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Liczba losowa: wartość jest ustawiana na losową liczbę od 0 do 2147483647. W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Rozdzielczość ekranu: przyjmowaną wartością jest rozdzielczość ekranu urządzenia, na którym aplikacja jest obecnie uruchomiona. Format to „<szerokość>x<wysokość>”, np. „1024x768”. W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Wersja SDK: przyjmowaną wartością jest wersja pakietu SDK do systemu operacyjnego, w którym aplikacja jest zainstalowana. W kontenerach aplikacji mobilnych udostępniana jest zmienna wbudowana tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Wersja systemu operacyjnego: przyjmowaną wartością jest wersja systemu operacyjnego, w którym zainstalowana jest aplikacja.

Platforma: wartość stanowi platforma obecnie uruchomionej aplikacji („Android” lub „iOS”). W kontenerach aplikacji mobilnych jest udostępniana wstępnie zdefiniowana zmienna tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Liczba losowa: wartość jest ustawiana na losową liczbę od 0 do 2147483647.

Rozdzielczość ekranu: wartość stanowi rozdzielczość ekranu urządzenia, na którym aplikacja jest obecnie uruchomiona. Format to „szerokość x wysokość”, np. „1024x768”. W kontenerach aplikacji mobilnych jest udostępniana wstępnie zdefiniowana zmienna tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Wersja SDK: wartość stanowi wersja SDK systemu operacyjnego, w którym aplikacja jest zainstalowana. W kontenerach aplikacji mobilnych udostępniana jest wstępnie zdefiniowana zmienna tego typu. Nie ma potrzeby definiowania nowych zmiennych tego typu.

Kolekcje wartości starszego typu

Kolekcja wartości (dotyczy tylko kontenerów starszego typu): ta zmienna zawiera zestaw par klucz-wartość wyrażonych w formacie JSON. Może ona służyć do ustawiania wartości konfiguracyjnych aplikacji. W przypadku np. aplikacji z grą w wyścigi można zdefiniować następującą zmienną „ustawienia aplikacji” należącą do typu Kolekcja wartości:


{
  "max-fuel": 200,
  "starting-fuel": 100,
  "fuel-burn-rate": 20
}

Aplikacja mobilna będzie mogła pobierać wartości zmiennej za pomocą klucza, na przykład:


public class MainActivity {

  // Dodaj publiczny identyfikator kontenera.
  private static final String CONTAINER_ID = "XXX-YYY"; 
  
  // Klucze wartości konfiguracyjnych kontenera, służące później
  // do pobierania wartości.
  private static final String MAX_FUEL_KEY = "max-fuel";
  private static final String INIT_FUEL_KEY = "init-fuel";
  private static final String FUEL_BURN_KEY = "fuel-burn-rate";

  // Reszta kodu onCreate.
  }
}

/*
* Metoda aktualizowania wartości konfiguracyjnych gry za pomocą
* kontenera Menedżera tagów Google.
*/
public void updateConfigurationFromContainer(Container container) {

  // Pobranie odniesienia do kontenera.
  Container container = mFutureContainer.get();

  // Aktualizacja ustawień gry za pomocą kluczy
  // wartości konfiguracyjnych kontenera.
  maxFuel = mContainer.getDoubleValue(MAX_FUEL_KEY);
  startingFuel = mContainer.getDoubleValue(INIT_FUEL_KEY);
  burnRate = mContainer.getDoubleValue(FUEL_BURN_KEY);
}

Ze zmienną typu Kolekcja wartości są powiązane reguły. W przypadku zmiennych konfiguracji mających zastosowanie do wszystkich wystąpień i wersji Twojej aplikacji należy ustawić dla reguły wstępnie zdefiniowaną opcję Zawsze. Szczegółowe informacje o korzystaniu ze zmiennej Kolekcja wartości podano w dokumentacji dla programistów Androida lub iOS

 

Czy ten artykuł był pomocny?
Jak możemy ją poprawić?