Zmienna (ang. variable) to nazwany kontener w Google Tag Managerze, który w momencie uruchomienia kontenera przyjmuje konkretną wartość — na przykład identyfikator pomiaru GA4, kwotę transakcji odczytaną z warstwy danych, adres bieżącej strony czy tekst klikniętego przycisku. Zmienne są „krwiobiegiem” kontenera: bez nich tagi musiałyby mieć wpisane na sztywno wszystkie parametry, a reguły nie miałyby na czym opierać swoich warunków. Dla marketera zmienna oznacza możliwość zbudowania jednego tagu, który obsłuży setki podstron i zdarzeń, zamiast tworzenia osobnego tagu dla każdego przypadku.
Jak działa zmienna w Google Tag Managerze?
W Google Tag Managerze zmienna jest wywoływana przez podwójne nawiasy klamrowe, np. {{Page URL}} lub {{DLV - transaction_id}}. Gdy na stronie zachodzi zdarzenie, GTM ocenia wartość zmiennej „w locie” i podstawia ją tam, gdzie została użyta. Zmienne pojawiają się w dwóch miejscach:
- w tagach – jako parametry wysyłane do narzędzi (ID pomiaru, nazwa zdarzenia, wartość konwersji, waluta);
- w regułach (triggerach) – jako warunki uruchomienia, np. „Click Text zawiera Kup teraz” albo „Page Path zaczyna się od /koszyk”.
Innymi słowy: tag mówi „co wysłać”, reguła mówi „kiedy”, a zmienna dostarcza obu elementom danych, których potrzebują.
Jakie typy zmiennych oferuje GTM?
GTM dzieli zmienne na wbudowane (wystarczy je włączyć) i zdefiniowane przez użytkownika (tworzy się je ręcznie). Najczęściej używane typy zestawiono w tabeli.
| Typ zmiennej | Skąd pobiera wartość | Typowe zastosowanie |
|---|---|---|
| Wbudowane (Page URL, Click Text, Click Classes, Form ID) | Automatycznie z przeglądarki i zdarzenia | Warunki reguł kliknięć i odsłon |
| Stała (Constant) | Wartość wpisana ręcznie | ID pomiaru GA4, ID konta Google Ads |
| Zmienna warstwy danych (Data Layer Variable) | Klucz z obiektu dataLayer | Dane e-commerce, ID użytkownika, status logowania |
| Tabela wyszukiwania (Lookup Table) | Mapowanie „jeśli X, to Y” | Różne ID dla wersji językowych lub domen |
| Niestandardowy JavaScript | Wynik funkcji JS | Formatowanie danych, obliczenia, fallbacki |
| Plik cookie 1st party | Wartość ciasteczka | Odczyt zgód, identyfikatorów sesji |
Pełną listę typów opisuje dokumentacja Google Tag Managera.
Jak skonfigurować zmienną warstwy danych?
Najważniejszą zmienną w projektach analitycznych jest zmienna warstwy danych, która odczytuje informacje wypychane przez programistów do warstwy danych. Załóżmy, że sklep wysyła obiekt ecommerce.value z kwotą zamówienia. Aby go użyć:
- W GTM przejdź do sekcji Zmienne i kliknij Nowa w części „Zmienne zdefiniowane przez użytkownika”.
- Wybierz typ Zmienna warstwy danych.
- W polu nazwy zmiennej warstwy danych wpisz dokładnie klucz:
ecommerce.value(notacja z kropką pozwala sięgać do zagnieżdżonych obiektów). - Zostaw wersję 2 warstwy danych, opcjonalnie ustaw wartość domyślną (np. 0), jeśli klucz może nie istnieć.
- Nazwij zmienną czytelnie, np. DLV - ecommerce.value, i użyj jej w tagu zdarzenia GA4 jako parametr
value.
W trybie podglądu (Preview) sprawdź zakładkę Variables — zobaczysz tam, jaką wartość zmienna przyjęła w konkretnym momencie.
Najczęstsze błędy przy pracy ze zmiennymi
- Literówka w kluczu dataLayer – zmienna zwraca undefined, a tag wysyła puste pole.
- Brak konwencji nazewnictwa – po kilku miesiącach nikt nie wie, czym różni się „zmienna1” od „test_nowy”.
- Powielanie stałych – ten sam identyfikator pomiaru wpisany ręcznie w dziesięciu tagach zamiast w jednej zmiennej Constant.
- Nadmiar niestandardowego JavaScriptu – utrudnia audyt, spowalnia stronę i często da się zastąpić zmienną warstwy danych.
- Zmienne odczytywane przed wypełnieniem dataLayer – tag odpala się na „Page View”, a dane trafiają do warstwy dopiero po załadowaniu strony.
Zmienne w praktyce ICBM
W trakcie audytu GTM zawsze zaczynamy od przeglądu zmiennych, bo to one najczęściej odpowiadają za rozjazdy między danymi w GA4, Google Ads i panelu sklepu. Porządkujemy nazewnictwo (prefiksy typu DLV, CJS, Const), konsolidujemy identyfikatory w stałych i eliminujemy zmienne nieużywane przez żaden tag ani regułę. Przy wdrożeniach server-side dbamy, aby zmienne po stronie klienta i serwera odczytywały te same klucze — dzięki temu konwersje są spójne niezależnie od kanału pomiaru.
Najczęściej zadawane pytania
Czym różni się zmienna wbudowana od zdefiniowanej przez użytkownika?
Zmienne wbudowane są dostarczane przez GTM i wystarczy je zaznaczyć na liście — odczytują np. adres URL, klasy klikniętego elementu czy ID formularza. Zmienne użytkownika tworzysz samodzielnie, wybierając typ i źródło wartości, dzięki czemu możesz sięgać do warstwy danych, ciasteczek lub własnego kodu.
Czy jedna zmienna może być użyta w wielu tagach?
Tak — to właśnie główna zaleta zmiennych. Jeśli identyfikator pomiaru GA4 trzymasz w jednej stałej, zmiana ID w jednym miejscu automatycznie aktualizuje wszystkie tagi, które z niej korzystają.
Jak sprawdzić, jaką wartość ma zmienna na stronie?
Włącz tryb podglądu w GTM, wykonaj na stronie interesującą Cię akcję i w panelu Tag Assistant wybierz zdarzenie z listy po lewej. W zakładce Variables zobaczysz nazwy wszystkich zmiennych oraz ich wartości w tym dokładnym momencie.
