Kampania w Google Ads chodzi od tygodni, klikają, a w kolumnie Konwersje pusto. Albo gorzej – liczby są, ale zupełnie nie zgadzają się z tym, co widzisz w CRM. To jeden z najczęstszych problemów, na który trafiam w audytach – i niemal zawsze sprowadza się do jednej z siedmiu przyczyn. Smart Bidding bez konwersji to strzelanie na ślepo: algorytm optymalizuje pod sygnał, którego nie ma. Pokażę, jak zdiagnozować problem w 30 minut za pomocą GTM Preview, Tag Assistant i zakładki Diagnostyka w Google Ads, a potem jak go naprawić – z konkretnymi przykładami kodu.
Krótka odpowiedź
Google Ads nie śledzi konwersji najczęściej z powodu: braku wdrożonego tagu (gtag.js albo GTM container), niepublikowanego workspace w GTM, braku Consent Mode v2 (od marca 2024 w UE bez tego tag się nie odpala), duplikatów tagów, złych triggerów (page_view zamiast purchase), brakującej konfiguracji Enhanced Conversions oraz zepsutego cross-domain tracking. Debug zaczynasz od zakładki Narzędzia, Konwersje, kolumna Status – szukasz Recording.
Potem GTM Preview mode i Tag Assistant weryfikują, czy tag faktycznie się odpala na thank-you page.
Usługi KC Mobile
Sprawdź naszą ofertę
Potrzebujesz pomocy specjalisty? Skorzystaj z naszych usług i rozwiń swój biznes online.
Zanim ruszysz debug – weryfikacja statusu konwersji w panelu
Pierwszy krok to nie GTM Preview, tylko sam panel Google Ads. Wejdź w Narzędzia i ustawienia, Konwersje i popatrz na kolumnę Status przy każdej akcji konwersji. Są cztery stany, które musisz znać.
Recording conversions – tag działa poprawnie, konwersje spływają. Jeśli widzisz ten status, a Smart Bidding i tak źle optymalizuje, problem nie leży w trackingu tylko w strukturze kampanii.
No recent conversions – tag kiedyś działał, ale od 7+ dni nic nie rejestruje. To alarm: ktoś zmienił kod strony, wygasł consent, GTM container został cofnięty do starszej wersji. Sprawdź datę ostatniej konwersji i porównaj ze zmianami w GTM (zakładka Versions).
Unverified – Google nigdy nie zarejestrował tej konwersji. Tag zwykle w ogóle nie został wdrożony albo jest na zupełnie innej stronie niż powinien.
Inactive – konwersja została zarchiwizowana lub wyłączona ręcznie.
Drugi szybki check to zakładka Diagnostyka (Diagnostics) w menu konwersji. Google pokazuje tam problemy w tagach: brakujące parametry, konflikty z Enhanced Conversions, ostrzeżenia o Consent Mode. To darmowy audyt cyfrowy, z którego rzadko ktoś korzysta.
Przyczyna A – tag Google Ads nie został wdrożony na stronie
Brzmi trywialnie, ale to najczęstszy powód. Ktoś zainstalował GTM kontener na stronie głównej, ale nie na checkout albo thank-you page. Albo developer wyłączył wtyczkę od tagów, bo spowalniała stronę.
Szybka weryfikacja: otwórz stronę podziękowania po testowym zamówieniu. View-source (Ctrl+U) i wyszukaj `gtag(` albo `GTM-`. Jeśli ani jedno, ani drugie się nie pojawia – tagu nie ma.
Druga metoda: zainstaluj Tag Assistant Legacy (rozszerzenie Chrome). Wchodzisz na stronę, klikasz ikonę, widzisz listę wszystkich tagów Google, które się odpaliły. Jeśli lista jest pusta – problem jest jasny.
Rozwiązanie: dla WordPressa i WooCommerce najprostszą drogą jest wtyczka Site Kit by Google albo GTM4WP. Wklejasz Container ID (GTM-XXXXXX), wtyczka wstawia snippet globalnie i na wszystkie podstrony. Dla Shopify działa to przez ustawienia Checkout i additional scripts. Dla custom solution developer musi wrzucić snippet GTM do szablonu – zaraz po tagu head i drugi do body. Przy prowadzeniu kampanii Google Ads zaczynamy zawsze od tego checka, bo bez niego Smart Bidding nie ma jak działać.
Potrzebujesz szybkiej pomocy?
Naprawimy problem za Ciebie. Bezpłatna diagnoza i wycena naprawy w ciągu 24h.
Przyczyna B – GTM container opublikowany, ale tag nadal w workspace
Typowa pułapka: wprowadzasz zmianę w GTM, testujesz przez Preview, działa idealnie. Zamykasz zakładkę i zapominasz kliknąć Submit → Publish. Tag istnieje w workspace, ale na produkcji go nie ma – bo publikowana jest tylko zatwierdzona wersja.
Jak to zweryfikować: w GTM przejdź do Versions. Porównaj numer ostatniej opublikowanej wersji (Live) z numerem ostatniej zapisanej zmiany. Jeśli się różnią – masz niewysłane zmiany.
Druga wersja tego samego problemu: dwie osoby edytują jeden kontener i nadpisują sobie wzajemnie workspaces. Rozwiązanie – pracujcie na osobnych workspace i łączcie przez Merge przed publikacją.
Warto wiedzieć: GTM zapisuje historię wersji. Jeśli coś zepsuliście, zawsze możecie wrócić do poprzedniej działającej wersji jednym kliknięciem (Actions, Set as latest version, Publish). To ratunek w sytuacjach typu coś działało rano, a teraz nic nie liczy. Więcej o typowych błędach w integracji GA4 z Google Ads w osobnym poradniku.
Przyczyna C – brak Consent Mode v2 (od marca 2024 obowiązkowy w UE)
To najbardziej podstępna przyczyna, bo wygląda jakby wszystko działało. Tag się odpala, GTM Preview to potwierdza, Tag Assistant zielony – a w panelu Google Ads konwersji ubywa o 30-70%.
Od 6 marca 2024 Google wymaga w UE implementacji Consent Mode v2. Jeśli użytkownik nie wyrazi zgody na analitykę i reklamy, a Twoja strona nie przekazuje sygnałów consent do Google, tag w ogóle nie wysyła konwersji. Brak consent = brak danych = Smart Bidding ślepnie.
Jak to wdrożyć praktycznie:
1. Zainstaluj CMP (Consent Management Platform) – najczęściej używam Cookiebot, Complianz (dla WordPress) lub Usercentrics. Wszystkie mają natywną integrację z GTM i Consent Mode v2.
2. W GTM dodaj template Consent Mode (Google Consent Mode v2) z Community Gallery – ustawi domyślne stany na denied przed interakcją użytkownika.
3. Skonfiguruj, żeby po akceptacji cookies CMP wysyłał update: `ad_storage=granted`, `analytics_storage=granted`, `ad_user_data=granted`, `ad_personalization=granted`.
4. Opublikuj i przetestuj w GTM Preview – powinieneś widzieć zdarzenie `consent` na samym początku ładowania.
Z Consent Mode v2 Google modeluje brakujące konwersje na podstawie anonimowych sygnałów – odzyskasz 50-80% utraconych danych. To często jedyna zmiana, która przywraca sensowne raporty w panelu.
Przyczyna D – brak Enhanced Conversions (utrata 30-50% match rate)
Enhanced Conversions to mechanizm, który podbija dokładność pomiaru przez wysyłanie zahaszowanych danych użytkownika (e-mail, numer telefonu, imię) razem z konwersją. Google dopasowuje je do zalogowanych kont Google i uzupełnia brakujące atrybucje, których nie złapały zwykłe cookies.
Bez Enhanced Conversions: tracisz średnio 30-50% precyzji pomiaru, szczególnie na urządzeniach iOS (Safari i ITP blokują cookies trzecich stron). Dla Smart Bidding to różnica między +20% ROAS a stratą.
Jak włączyć:
1. W Google Ads: Narzędzia, Konwersje, wybierz akcję, sekcja Enhanced Conversions, Turn on.
2. Wybierz metodę: Google Tag Manager (najłatwiej) albo gtag.js (dla custom implementacji).
3. W GTM otwórz tag Google Ads Conversion Tracking, włącz Include user-provided data from your website, stwórz nową zmienną typu User-Provided Data.
4. Zmienna musi pobierać z DataLayer e-mail klienta (pole `customerEmail`) i telefon (`customerPhone`). Dla WooCommerce standard DataLayer GTM4WP już to wysyła.
5. Publish GTM, poczekaj 48h, w panelu Konwersji zobaczysz status Enhanced Conversions: Recording.
Dla WordPress/WooCommerce rekomenduję wtyczkę GTM4WP – ma gotowe eventy checkout i user data, bez pisania kodu. Kombinacja Consent Mode v2 + Enhanced Conversions to w 2026 absolutne minimum dla Smart Bidding.
Przyczyna E – duplikaty tagów (gtag.js plus GTM liczą eventy podwójnie)
Scenariusz: ktoś w przeszłości wrzucił globalny tag gtag.js bezpośrednio do szablonu (bo tak szybciej). Rok później druga agencja wdraża GTM i też stawia tag Google Ads Conversion. Rezultat – konwersje liczą się dwa razy. Panel Google Ads pokazuje 100 zamówień, a w Shopify widać tylko 50. Smart Bidding optymalizuje pod bzdury.
Jak wykryć duplikaty: Tag Assistant pokaże dwa osobne tagi Google Ads z tym samym Conversion ID odpalone na jednej stronie. Alternatywnie: w GTM Preview patrzysz na timeline i widzisz dwa niezależne `conversion` eventy dla jednego załadowania.
Rozwiązanie:
1. Zdecyduj, co zostaje – GTM (rekomendacja) albo gtag.js (jeśli masz minimalny setup bez innych tagów).
2. Usuń to drugie. Gtag.js usuwasz z szablonu (zwykle `functions.php` lub `header.php` dla WordPressa). GTM tag usuwasz w panelu GTM i publikujesz.
3. Poczekaj 24-48h i porównaj liczbę konwersji w Google Ads z rzeczywistą liczbą zamówień. Jeśli spadła dwukrotnie – miałeś duplikaty.
Ważne: historyczne dane w Google Ads pozostaną zawyżone. Warto dodać adnotację w panelu (Reports, Annotations) z datą naprawy, żeby Smart Bidding i raporty uwzględniały korektę. Ten błąd widzę w co trzecim audycie kont e-commerce.
Przyczyna F – złe triggery w GTM (page_view zamiast purchase)
Przypadek z audytu sprzed miesiąca: klient twierdził, że Google Ads wymyśla konwersje. W panelu było 800 konwersji na miesiąc, w sklepie 120 zamówień. Powód? Tag konwersji został ustawiony na trigger All Pages. Każda wizyta na stronie podziękowania liczyła się jako zakup, łącznie z botami, odświeżeniami strony i powrotami do linku w e-mailu.
Poprawny setup dla sklepów internetowych:
- Trigger: `purchase` event z DataLayer (wysyłany tylko raz, po złożeniu zamówienia)
- Warunek dodatkowy: `transaction_id` nie jest pusty (żeby pominąć odświeżenia)
- Deduplikacja: w GTM tag włącz Firing Options, Once per event
Dla generowania leadów (formularze):
- Trigger: `form_submission` z konkretnym Form ID
- Nie: Click, wszystkie kliknięcia na przycisku (bo łapie też walidacje błędów)
Debug: w GTM Preview przejdź przez cały funnel jak prawdziwy użytkownik. Zobaczysz wszystkie eventy w Summary i możesz sprawdzić, który trigger odpala którym momencie. Jeśli `purchase` odpala się na stronie produktu – to oczywisty błąd konfiguracji. Smart Bidding karmione takimi fałszywymi konwersjami optymalizuje CPC w górę, bo myśli, że masz fenomenalny ROAS.
Przyczyna G – cross-domain tracking zepsuty (checkout na subdomenie)
Jeśli Twój checkout jest na innej domenie niż strona produktowa (np. sklep.pl, checkout.sklep.pl albo sklep.pl, Stripe/PayU hosted page), musisz skonfigurować cross-domain tracking. Bez tego Google Ads widzi dwóch osobnych użytkowników zamiast jednej ścieżki zakupowej i traci atrybucję konwersji.
Objawy: konwersje są, ale wszystkie jako Direct lub none. Kampanie Google Ads pokazują 0 konwersji, choć reklamy generują ruch i sprzedaż.
Rozwiązanie w GTM:
1. W tagu Google Analytics (GA4 Configuration) przejdź do Fields to Set.
2. Dodaj pole `linker` z listą domen: `['sklep.pl', 'checkout.sklep.pl', 'stripe.com']`.
3. Dla GA4 dodatkowo w Admin, Data Streams, More settings, Configure domains dodaj wszystkie domeny.
4. Dla Google Ads tag upewnij się, że `gclid` jest przekazywany jako URL parameter między domenami.
Test: kliknij reklamę z `gclid` w URL, przejdź do checkout i sprawdź, czy parametr `gclid` nadal jest w URL. Jeśli nie – cross-domain nie działa. Alternatywnie GTM Preview pokaże dwie oddzielne sesje (zły znak) lub jedną ciągłą (dobrze).
Procedura debug krok po kroku przez GTM Preview
Masz teorię, czas na sprawdzenie. Oto checklist, który stosuję przy każdym audycie trackingu.
Krok 1: włącz Preview. Zaloguj się do GTM, wybierz kontener, kliknij Preview (prawy górny róg). Wpisz URL strony, którą testujesz. Otworzy się nowa karta z tagiem Tag Assistant u dołu.
Krok 2: przejdź cały funnel. Otwórz produkt, dodaj do koszyka, przejdź do checkout, złóż testowe zamówienie (używaj trybu testowego w Stripe/PayU albo utwórz kupon 100%).
Krok 3: na stronie podziękowania sprawdź timeline. W panelu Tag Assistant (u dołu ekranu) widzisz listę eventów: `container loaded`, `page view`, `add_to_cart`, `begin_checkout`, `purchase`. Kliknij `purchase` i po prawej stronie zobaczysz wszystkie tagi, które się odpaliły (Tags Fired) oraz te, które nie (Tags Not Fired).
Krok 4: zweryfikuj Google Ads Conversion Tag. Musi być w sekcji Tags Fired. Kliknij go – zobaczysz wartości: Conversion ID, Conversion Label, Transaction ID, Value. Wszystkie powinny być wypełnione (nie puste, nie undefined).
Krok 5: Tag Assistant w Chrome. Zainstaluj rozszerzenie, kliknij ikonę na stronie podziękowania. Powinieneś zobaczyć Google Ads Conversion z zieloną ikonką i parametrami. Jeśli żółta lub czerwona – ostrzeżenie. Kliknij i przeczytaj, co jest nie tak.
Krok 6: Google Ads Conversions Diagnostics. Wróć do Google Ads, Narzędzia, Konwersje, wybierz akcję, zakładka Diagnostics. Google sprawdza tag w czasie rzeczywistym i pokazuje wszystkie wykryte problemy (np. Tag fires but Conversion Linker missing albo Consent signals not detected).
Kiedy to już developer-level – server-side GTM i custom events
Większość problemów naprawisz samodzielnie. Ale są trzy scenariusze, w których lepiej zawołać developera albo agencję.
Server-side GTM. Klasyczny GTM (client-side) ładuje się w przeglądarce użytkownika – adblockery, ITP Safari i restrykcyjne ustawienia prywatności blokują go w rosnącej liczbie przypadków. Server-side GTM to kontener postawiony na Twoim serwerze (zwykle Google Cloud Run), który zbiera dane z przeglądarki i dopiero on wysyła je do Google Ads/GA4. Efekt – 15-30% więcej zarejestrowanych konwersji, lepsza ochrona przed ITP. Setup wymaga jednak pracy DevOps i kosztuje 50-200 PLN/mies za hosting.
Custom events dla aplikacji SPA. React, Vue, Next.js – klasyczny trigger page_view nie działa, bo strona się nie przeładowuje. Potrzebujesz DataLayer pushes przy zmianie route i custom trigger w GTM. To kod po stronie frontendu, który programista musi napisać.
Offline conversions upload. Jeśli sprzedaż zamyka się przez telefon albo CRM (B2B, leady), musisz wysyłać konwersje do Google Ads przez API – ręcznie, cronem albo integracją HubSpot/Salesforce. To najbardziej zaawansowany setup, ale pozwala optymalizować Smart Bidding pod realny przychód, nie pod leady.
Jeśli chcesz mieć pewność, że tracking działa poprawnie i Smart Bidding dostaje czyste dane, umów audyt trackingu – sprawdzam wszystkie 7 przyczyn powyżej plus dodatkowe checki pod konkretną branżę. W 90% przypadków znajdujemy minimum 2 problemy, które wcześniej przeoczyliście.
Wspomniane narzędzia
Chcesz więcej klientów z Google Ads?
Prowadzimy kampanie Google Ads od 1500 zł/mies. Średni ROAS 400%. Certyfikowany Partner Google.
Najczęściej zadawane pytania
Dlaczego Google Ads pokazuje 0 konwersji mimo że ludzie kupują?
Jak sprawdzić, czy mój tag Google Ads Conversion faktycznie się odpala?
Czy muszę wdrażać Consent Mode v2 w Polsce?
Czym różni się Enhanced Conversions od zwykłego śledzenia?
Co zrobić, gdy Google Ads liczy konwersje dwa razy?
Dlaczego konwersje z reklam Google Ads są zaliczane jako Direct w GA4?
Potrzebujesz pomocy?
Potrzebujesz szybkiej pomocy?
Naprawimy problem za Ciebie. Bezpłatna diagnoza i wycena naprawy w ciągu 24h.