GoogleTagManager - przegląd modułu Drupala
Dane statystyczne dotyczące witryny internetowej to niezbędna wiedza celem efektywnego zarządzania stroną, a tym samym określania kierunków jej dalszego rozwoju. Dzięki licznym modułom Drupala można wprowadzać konieczne ulepszenia również poprzez integracje z Google Analytics. W tym artykule znajdziesz informacje na temat modułu GoogleTagManager (google_tag), dzięki któremu możesz prowadzić skuteczną i uporządkowaną analizę swojej witryny.
Potrzeba umieszczania zewnętrznych skryptów na stronach www wywodzi się już z lat 90., kiedy to webmasterzy rozsmakowali się w licznikach i księgach gości. Przez trzy ostatnie dziesięciolecia proste, zewnętrzne usługi ewoluowały do zaawansowanych i potężnych rozwiązań takich jak: Salesforce, Hotjar czy Mautic, którego implementacją w Droptica się zajmujemy. Nowoczesne witryny korzystają z dziesiątek narzędzi służących m.in. do badania zachowania użytkowników, gromadzenia danych na temat odwiedzin oraz testów A/B. Trudno dziś wyobrazić sobie bez nich skutecznego marketingu.
Daty
Usługa Google Tag Manager została uruchomiona w październiku 2012 roku, a moduł Drupala do jej obsługi ujrzał światło dzienne w lutym 2014. Stabilna wersja modułu dla Drupal 8 ukazała się dopiero na początku 2018 roku. Rozwój był dość powolny, jednakże google_tag od początku działał bardzo stabilnie.
Popularność modułu
Trzeba przyznać, że moduł zaskarbił sobie spore grono użytkowników. Według oficjalnych statystyk jest wykorzystywany na ponad 51 tys. stron, gdzie ponad połowę z tej liczby stanowią witryny oparte o Drupal 8/9.
Autorzy modułu
Za utrzymanie modułu odpowiada w zdecydowanej większości Jim Berry z firmy Boombatower. To programista, który wniósł ogromny wkład w społeczność Drupala. Jest on autorem ponad 1500 commitów w kilkudziesięciu projektach.
Do czego służy moduł
Moduł google_tag służy do zaawansowanej integracji z Google Tag Manager, sięgającej o wiele dalej niż proste wklejenie skryptu GTM w kod strony. Mamy tu dostęp m.in. do ról użytkowników i list wykluczeń. Wszystkie te funkcjonalności przedstawię w dalszej części artykułu.
Unboxing
Moduł możesz pobrać ze strony https://www.drupal.org/project/google_tag. Po instalacji należy dodać nowy kontener i wpisać jego identyfikator uzyskany w panelu Google Tag Manager.
Ustawienia modułu znajdziesz w menu Konfiguracja - System - Google Tag Manager.
Użycie modułu
Moduł google_tag posiada domyślną konfigurację, która z powodzeniem sprawdzi się dla zdecydowanej większości zastosowań. Warto jednak zajrzeć w ustawienia zaawansowane, dające więcej kontroli nad dołączonymi skryptami.
Lista kontenerów
Początkujący użytkownik z pewnością zastanowi się przed chwilę, czym właściwie jest dostępna w panelu konfiguracyjnym lista kontenerów. Otóż ostatnie wersje modułu pozwalają na obsługę więcej niż jednego kontenera GTM (czyli innymi słowy: różnych unikalnych identyfikatorów nadanych przez Google). Takie rozwiązanie sprawdza się doskonale w przypadku, gdy posiadamy farmę stron, dla której możemy wydzielić skrypty wspólne przechowywane we współdzielonym kontenerze.
Dodając nowy kontener zobaczysz formularz z wypełnionymi domyślnymi ustawieniami. Jeśli nie chcesz tracić czasu na dostosowywanie każdego z kontenerów, możesz określić ustawienia domyślne w zakładce “Settings”.
Dodawanie kontenera
Formularz dodawania kontenera zawiera przede wszystkim jego unikalny identyfikator (Container ID) uzyskany od Google oraz etykietę, która posłuży do rozpoznawania poszczególnych kontenerów w obrębie panelu administracyjnego Drupala.
W zakładce “Advanced” znajdziesz trzy ciekawe ustawienia:
- Możliwość zmiany nazwy warstwy danych. W większości przypadków wystarczy standardowe dataLayer, ale warto pamiętać o tej opcji w przypadku ewentualnego konfliktu. Gwoli wyjaśnienia: warstwa danych to tablica (mówiąc ściślej - obiekt) w JavaScript, służąca do przekazywania danych ze strony internetowej do kontenera GTM.
- Obsługa opcji allowlist i blacklist, opisanych dokładniej w pomocy GTM. Jest to rzadko używana, aczkolwiek przydatna funkcjonalność, która pozwala m.in. na dodatkowe zablokowanie działania niektórych tagów w środowisku produkcyjnym, zanim jeszcze nie są gotowe do wdrożenia.
- Konfiguracja bieżącego środowiska dająca możliwość przełączania się pomiędzy produkcyjnym a developerskim zestawem tagów.
Nieco poniżej znajdziesz ustawienia wykluczeń. Skrypt GTM można aktywować i dezaktywować na podstawie:
- Bieżącej ścieżki w adresie URL (domyślnie nie uruchamia się tagów na stronach administracyjnych).
- Roli użytkownika (typowy przypadek użycia to wyłączenie skryptów analitycznych dla roli administratora).
- Kodu statusu HTTP (np. 404).
- Rodzaju zawartości.
Konfiguracja modułu
W zakładce settings znajduje się konfiguracja wspólna dla wszystkich kontenerów. Jest to kilka opcji poprawiających działanie witryny i ułatwiających debugowanie.
Cztery pierwsze ustawienia dotyczą optymalizacji dostarczania skryptu JS obsługującego Google Tag Manager. Zalecam tu pozostawienie wartości rekomendowanych, ale jednocześnie ostrzegam przed ewentualnymi błędami zwracanymi w logu strony. W trakcie projektów w naszej agencji drupalowej często spotykaliśmy się z sytuacją, kiedy plik ze skryptem GTM nie był generowany z uwagi na brak uprawnień do katalogu.
Hooki i integracje
Moduł google_tag udostępnia następujące hooki:
- hook_google_tag_insert_alter() - odblokowuje lub blokuje dany kontener, jeśli chcemy uzależnić jego działanie od czynników innych niż standardowe (czyli rola, ścieżka, rodzaj zawartości i kod HTTP).
- hook_google_tag_snippets_alter() - zmienia domyślny kod JS obsługujący GTM.
Oprócz tego możliwa jest implementacja pluginów dostarczających warunków (Conditions) umieszczania na stronie skryptu Google Tag Manager.
Podsumowanie
W jednym ze wcześniejszych artykułów omówiłem szczegółowo integrację Drupala z Google Analytics. Jestem przekonany, że wykorzystywanie powyższego wraz z opisanym w tym tekście modułem google_tag sprawi, że prowadzenie analizy witryny będzie jeszcze bardziej efektywne i uporządkowane. Moduł google_tag przez kilka ostatnich lat stał się już niemal standardem w branży. Polecam jego stosowanie i eksplorację możliwości, jakie otwiera przed nami świat tagów i warstw danych w Drupalu.