# Google Tag Pro (GTM i GA4) — Kompletny przewodnik

> 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,…

- Strona: <https://www.datafirefly.com/pl/documentation/google-tag-pro-prestashop/>
- Język: pl
- Zaktualizowano: 2026-08-12
- Inne języki: [fr](https://www.datafirefly.com/documentation/google-tag-pro-prestashop/index.md), [en](https://www.datafirefly.com/en/documentation/google-tag-pro-prestashop/index.md), [es](https://www.datafirefly.com/es/documentation/google-tag-pro-prestashop/index.md), [de](https://www.datafirefly.com/de/documentation/google-tag-pro-prestashop/index.md), [it](https://www.datafirefly.com/it/documentation/google-tag-pro-prestashop/index.md), [pt](https://www.datafirefly.com/pt/documentation/google-tag-pro-prestashop/index.md), [nl](https://www.datafirefly.com/nl/documentation/google-tag-pro-prestashop/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

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

1. W back-office przejdź do **Moduły > Menedżer modułów**, kliknij **Zainstaluj moduł** i wybierz plik `dfgtagmanager.zip`.
2. Po instalacji kliknij **Konfiguruj**.
3. 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` (z `items[]`, `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 `id` Twojego 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:

1. W sekcji **Eksport kontenera GTM** kliknij **Eksportuj kontener GTM (JSON)**.
2. W Google Tag Manager przejdź do **Administracja > Importuj kontener**.
3. Wybierz plik JSON, wskaż przestrzeń roboczą i opcję **Scal** (lub **Nadpisz** na pustym kontenerze).
4. 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 `value` dla `purchase`.
- **Tryb debug**: wyświetla każdy push `dataLayer` w 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.
