GoogleTagManager - przegląd modułu Drupala

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.

Google Tag Manager - Containers

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.

Google Tag Manager - Container add

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.
Google Tag Manager - Container add advanced

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.
Google Tag Manager - Container add exclusions

 

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.

Google Tag Manager - settings

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.

2. SEO dla strony internetowej na Drupalu