Google Tag Pro (GTM i GA4) — Kompletny przewodnik
Zainstaluj, skonfiguruj i eksploatuj Google Tag Pro: kontener GTM, GA4 Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, konwersje Google Ads, piksele, Server-side GTM, Conversion Recovery i rozwiązywanie problemów dla PrestaShop 8 i 9.
Google Tag Pro (moduł dfgtagmanager) instaluje w Twoim sklepie kompletny i niezawodny tracking e-commerce: 16 zdarzeń GA4 Enhanced Ecommerce, Consent Mode v2, Enhanced Conversions, śledzenie konwersji Google Ads, piksele reklamowe, Server-side GTM oraz system Conversion Recovery, który odtwarza utracone konwersje. Ten przewodnik obejmuje instalację, każdą sekcję konfiguracji i rozwiązywanie problemów.
Wymagania wstępne
- PrestaShop 8.0 do 9.0 (zalecane PHP 8.1 do 8.4).
- Konto Google Tag Manager z kontenerem Web (ID w formacie
GTM-XXXXXXX). - Usługa Google Analytics 4 (ID pomiaru w formacie
G-XXXXXXXXXX). - Opcjonalnie: konto Google Ads (ID konwersji
AW-XXXXXXXXX), Google Merchant Center i/lub serwer sGTM.
Instalacja
- W back-office przejdź do Moduły > Menedżer modułów, kliknij Zainstaluj moduł i wybierz plik
dfgtagmanager.zip. - Po instalacji kliknij Konfiguruj.
- Moduł tworzy swoje tabele (dziennik konwersji i zdarzeń) i automatycznie rejestruje hooki.
Moduł jest kompatybilny z multistore: każdy sklep zachowuje własny kontener GTM, ID GA4, piksele i ustawienia zgody. Konfiguruj każdy kontekst z selektora sklepu u góry strony.
1. Konfiguracja Google Tag Manager
W sekcji Google Tag Manager – Konfiguracja:
- Włącz GTM: aktywuje wstrzykiwanie kontenera na front-office.
- ID kontenera GTM: Twój identyfikator
GTM-XXXXXXX. Dopóki jest pusty, moduł nic nie wstrzykuje. - ID pomiaru GA4: Twój identyfikator
G-XXXXXXXXXX. Służy do wstępnego wypełnienia tagu GA4 w eksporcie kontenera.
Moduł wpycha dane do dataLayer przed załadowaniem GTM, aby wszystkie tagi od razu dysponowały danymi strony i e-commerce.
2. Zdarzenia trackingu (GA4 Enhanced Ecommerce)
Po aktywacji moduł automatycznie wysyła do 16 zdarzeń zgodnych z oficjalnym schematem GA4:
- Odkrywanie:
view_item,view_item_list,select_item - Koszyk i checkout:
add_to_cart,remove_from_cart,view_cart,begin_checkout,add_shipping_info,add_payment_info - Konwersja:
purchase(zitems[],value,tax,shipping,coupon,transaction_id) - Użytkownik i marketing:
login,sign_up,search,add_to_wishlist,view_promotion,select_promotion
Zdarzenia koszyka, checkoutu, promocji i wyszukiwania są wyzwalane po stronie przeglądarki (przechwytywanie AJAX i IntersectionObserver), zdarzenie purchase jest budowane po stronie serwera przy potwierdzeniu zamówienia.
Od wersji 1.2.0 zdarzenie search jest emitowane po stronie klienta, aby zachować kompatybilność z PrestaShop 9.1, gdzie hook displaySearch jest przestarzały. Żadna akcja z Twojej strony nie jest wymagana.
Powiązane ustawienia w sekcji Zdarzenia trackingu: włączaj/wyłączaj GA4 Enhanced Ecommerce, dane użytkownika (user_data), wyszukiwanie wewnętrzne, login, rejestrację, promocje, listę życzeń i remarketing dynamiczny.
3. Consent Mode v2 (RODO / DMA)
Consent Mode v2 jest obowiązkowy od marca 2024 do mierzenia konwersji Google w EOG. W sekcji Consent Mode v2:
- Włącz Consent Mode v2: wstrzykuje domyślne wartości zgody przed GTM.
- analytics_storage / ad_storage domyślnie: zostaw na Odmowa (zalecane RODO); zgoda zostanie zaktualizowana przez Twój baner.
Moduł włącza też url_passthrough i ads_data_redaction, aby zmaksymalizować modelowanie konwersji przy braku zgody.
Podłączenie banera cookies (CMP)
Gdy odwiedzający akceptuje lub odmawia, wywołaj funkcję dostarczaną przez moduł ze swojego CMP (Tarteaucitron, Axeptio, Cookiebot itd.):
DFGTM.updateConsent({
analytics_storage: 'granted',
ad_storage: 'granted',
ad_user_data: 'granted',
ad_personalization: 'granted'
});
Jeśli nigdy nie wywołasz updateConsent(), zgoda pozostaje na wartościach domyślnych (odmowa) i zbierasz wyłącznie dane modelowane. Koniecznie podłącz swój CMP.
4. Enhanced Conversions
Po aktywacji Enhanced Conversions poprawiają atrybucję Google Ads. Moduł hashuje po stronie serwera w SHA-256 dane klienta (e-mail, nazwisko, telefon, miasto) i przekazuje je przez dataLayer. Dane nigdy nie są przesyłane jawnie; kod pocztowy i kraj są wysyłane niezahashowane, zgodnie ze specyfikacjami Google.
5. Konwersje Google Ads i Merchant Center
W sekcji Google Ads – Śledzenie konwersji:
- Włącz Google Ads Conversion: dodaje Conversion Linker, tag konwersji zakupu i remarketing dynamiczny do eksportu GTM.
- Conversion ID: Twój identyfikator
AW-XXXXXXXXX. - Conversion Label (Zakup): etykieta konwersji „Zakup” (ciąg alfanumeryczny).
- Merchant Center ID + kraj i język feedu: wymagane dla „konwersji z danymi koszyka”.
- Źródło ID produktu: wybierz format odpowiadający polu
idTwojego feedu Merchant Center (ID + separator + wariant, referencja/SKU, samo ID, EAN13, UPC lub MPN).
Źródło ID produktu musi odpowiadać dokładnie identyfikatorowi używanemu w feedzie Merchant Center, inaczej konwersje z danymi koszyka nie będą raportowane. W razie wątpliwości użyj tego samego źródła co moduł feedu produktowego.
6. Piksele reklamowe (Meta, TikTok, Pinterest)
W sekcji Piksele reklamowe wpisz identyfikatory Facebook/Meta, TikTok i Pinterest. Są one włączane do eksportu kontenera GTM z automatycznie mapowanymi zdarzeniami e-commerce (Purchase, AddToCart, ViewContent, InitiateCheckout, Search / CompletePayment / checkout zależnie od platformy).
7. Eksport kontenera GTM
Zamiast ręcznie tworzyć dziesiątki tagów, moduł generuje kontener gotowy do importu:
- W sekcji Eksport kontenera GTM kliknij Eksportuj kontener GTM (JSON).
- W Google Tag Manager przejdź do Administracja > Importuj kontener.
- Wybierz plik JSON, wskaż przestrzeń roboczą i opcję Scal (lub Nadpisz na pustym kontenerze).
- Sprawdź podgląd i Opublikuj kontener.
Eksport zawiera tag GA4 Configuration i wszystkie zdarzenia Enhanced Ecommerce, zmienne DataLayer, wyzwalacze Custom Event, Consent Mode v2 oraz aktywne tagi Google Ads i piksele.
Przegeneruj i zaimportuj eksport ponownie po zmianie identyfikatorów (GA4, Google Ads, piksele), aby kontener odzwierciedlał nowe ustawienia.
8. Server-Side GTM (sGTM)
W sekcji Server-Side GTM włącz opcję i podaj URL swojego serwera (np. https://sgtm.twoja-domena.pl). Moduł ładuje wtedy skrypt GTM i noscript z Twojego serwera zamiast z googletagmanager.com, co omija ad-blockery i poprawia niezawodność trackingu.
9. Conversion Recovery
To kluczowa funkcja modułu. Przy potwierdzeniu każdego zamówienia konwersja jest zapisywana w bazie. Asynchroniczna kontrola sprawdza, czy GTM faktycznie otrzymał zdarzenie purchase; jeśli nie (ad-blocker, przekierowanie płatności, błąd sieci), zdarzenie jest automatycznie odtwarzane przy następnej wizycie klienta. Żadna konfiguracja nie jest wymagana; zostaw opcję włączoną w Opcjach zaawansowanych.
10. Opcje zaawansowane
- Cross-domain tracking: wymień odpowiednie domeny (rozdzielone przecinkami).
- Wyklucz podatki / koszty wysyłki z przychodu: dostosowuje wyliczenie
valuedlapurchase. - Tryb debug: wyświetla każdy push
dataLayerw konsoli przeglądarki (kolorowy prefiks „DataFirefly GTM”). Do wyłączenia na produkcji.
11. Dashboard monitoringu
U góry strony konfiguracji dashboard pokazuje za 30 dni: liczbę śledzonych konwersji, te wysłane z sukcesem, te oczekujące na recovery, śledzony przychód, wskaźnik skuteczności trackingu oraz top zdarzeń za 7 dni. Przycisk Odtwórz pozwala ponownie oznaczyć nieudane konwersje do nowej próby.
Celuj we wskaźnik trackingu > 95%. Poniżej 80% aktywuj Server-Side GTM, aby ominąć ad-blockery.
Kompatybilność z PrestaShop 9
Od wersji 1.2.0 moduł jest kompatybilny z PrestaShop 8 i 9 (Symfony 6.4, PHP 8.1 do 8.4). Formatowanie cen przechodzi przez Locale (stara metoda Tools::displayPrice została usunięta z PS9), śledzenie wyszukiwania jest po stronie klienta, a sesje i pobieranie eksportu zostały zabezpieczone pod kernel Symfony. Żadna akcja nie jest wymagana przy aktualizacji; skrypt upgrade’u automatycznie czyści przestarzałe hooki.
Rozwiązywanie problemów
Żadne dane nie trafiają do GTM / GA4
Sprawdź, czy Włącz GTM jest zaznaczone i czy ID kontenera jest wpisane. Moduł nic nie wstrzykuje, dopóki te dwa warunki nie są spełnione. Użyj podglądu GTM (Preview) i trybu debug modułu, aby zobaczyć pushe dataLayer.
Konwersje Google Ads się nie wyzwalają
Upewnij się, że zaimportowałeś i opublikowałeś wyeksportowany kontener po wpisaniu ID konwersji i etykiety. Sprawdź format AW-XXXXXXXXX i etykietę zakupu.
Brak danych koszyka (Merchant Center)
Wpisz Merchant Center ID, kraj i język feedu, i sprawdź, czy źródło ID produktu odpowiada polu id Twojego feedu.
Zgoda pozostaje „odmówiona”
Podłącz swój CMP, wywołując DFGTM.updateConsent() przy akceptacji. Bez tego wywołania zbierane są tylko dane modelowane.
Plik eksportu jest pusty lub uszkodzony
Tymczasowo wyłącz moduły cache/optymalizacji HTML i spróbuj ponownie; eksport czyści bufory wyjścia, ale moduł zewnętrzny może wstrzyknąć treść przed pobraniem.