Dlaczego 90% kont, które przejmuję, mierzy nie to co trzeba

Zanim zacznę cokolwiek optymalizować w kampanii Google Ads, sprawdzam konfigurację GA4. W firmach usługowych — kancelariach, agencjach, firmach wdrożeniowych, doradcach, software house'ach — widzę niemal zawsze ten sam wzorzec: GA4 mierzy wizyty na stronie, kliknięcia w menu i przewinięcia strony. Nie mierzy tego, co faktycznie prowadzi do sprzedaży.

To nie byłby duży problem, gdyby nie jedno: Smart Bidding w Google Ads uczy się na podstawie zdarzeń konwersji, które mu podajesz. Jeśli podajesz mu "wizytę na stronie ponad 10 sekund" jako główny cel, algorytm będzie szukał ludzi, którzy zostają na stronie 10 sekund — nie ludzi, którzy dzwonią i podpisują umowę. To zupełnie inna grupa odbiorców.

Konsekwencja złej konfiguracji

Algorytm optymalizuje pod dokładnie to, co mu każesz mierzyć. Firma usługowa bez zdarzeń odzwierciedlających realne zapytania sprzedażowe płaci za ruch, który wygląda dobrze w raportach i nie generuje ani jednego telefonu.

Dlaczego akurat te zdarzenia, a nie ogólny cel "kontakt"

W usługach B2B i doradczych ścieżka zakupowa rzadko kończy się jednym kliknięciem w formularz. Klient czyta ofertę, sprawdza referencje, wraca kilka razy, czasem dzwoni zamiast pisać, czasem pobiera cennik albo case study przed kontaktem. Jeśli mierzysz tylko "wysłanie formularza", tracisz sygnał o wszystkich osobach, które są blisko decyzji, ale jeszcze jej nie podjęły.

Dlatego zanim włączę jakąkolwiek kampanię, konfiguruję komplet zdarzeń w GA4 przez Google Tag Manager. Poniżej dokładnie te, które uznaję za obowiązkowe.

6 zdarzeń, które konfiguruję zawsze

01
Wysłanie formularza kontaktowego
Podstawa. Ale uwaga — mierzę potwierdzenie wysłania, nie samo kliknięcie przycisku "Wyślij". Kliknięcie nic nie mówi o tym, czy formularz przeszedł walidację.
02
Kliknięcie numeru telefonu
W usługach B2B duża część zapytań idzie telefonicznie, zwłaszcza z urządzeń mobilnych. Bez tego zdarzenia tracisz sporą część realnych leadów z raportowania.
03
Kliknięcie adresu e-mail
Mniej istotne niż telefon, ale wciąż realny sygnał zainteresowania — szczególnie w usługach, gdzie klient woli najpierw napisać niż zadzwonić.
04
Pobranie materiału (cennik, oferta, case study)
Silny sygnał pośredni. Osoba pobierająca cennik jest bliżej decyzji niż osoba, która tylko przewija stronę główną.
05
Czas 90+ sekund na stronie oferty lub cennika
Nie mierzę czasu na całej witrynie — to bezwartościowe. Mierzę czas na konkretnych podstronach ofertowych, gdzie długi pobyt realnie koreluje z zainteresowaniem zakupowym.
06
Rezerwacja terminu konsultacji (kalendarz)
Jeśli firma korzysta z narzędzia do umawiania spotkań (Calendly i podobne), to zdarzenie jest zwykle najsilniejszym predyktorem sprzedaży ze wszystkich.

Jak wdrażam te zdarzenia przez GTM — krok po kroku

Wszystkie sześć zdarzeń wdrażam przez Google Tag Manager, nie przez kod na stronie. Dzięki temu mogę je zmieniać bez angażowania programisty.

Formularz kontaktowy

Jeśli formularz jest zbudowany na standardowym pluginie (WPForms, Gravity Forms, Contact Form 7) — używam wbudowanych triggerów "Form Submission" z Warstwy Danych (dataLayer), które te wtyczki generują automatycznie. Jeśli formularz jest customowy, proszę o dodanie prostego zdarzenia dataLayer.push przy stronie z potwierdzeniem ("thank you page") albo nasłuchuję na widoczność komunikatu potwierdzającego.

Kliknięcia telefonu i e-maila

Trigger typu "Just Links" z warunkiem Click URL zawiera tel: oraz osobno zawiera mailto:. To dwa oddzielne triggery i dwa oddzielne tagi zdarzeń GA4 — nie łączę ich w jedno zdarzenie "kontakt", bo chcę wiedzieć, który kanał kontaktu działa lepiej.

Pobrania plików

Trigger "Just Links" z warunkiem Click URL kończy się na .pdf (lub inne rozszerzenie, którego firma używa do materiałów). Warto dodać zmienną przechwytującą nazwę pliku, żeby w raportach widzieć, który dokładnie materiał był pobierany.

Czas na stronie ofertowej

To jedyne zdarzenie, które wymaga odrobiny dodatkowej konfiguracji — trigger "Element Visibility" połączony z timerem, lub prostszy wariant: trigger "Timer" ograniczony regułą URL do konkretnych podstron ofertowych. Kluczowe: nigdy nie stawiam tego triggera na całej witrynie.

Rezerwacja terminu

Jeśli narzędzie do rezerwacji (Calendly, TidyCal) jest osadzone jako widget, najłatwiej złapać zdarzenie przez nasłuchiwanie na komunikaty postMessage, które te narzędzia wysyłają po potwierdzeniu rezerwacji — GTM ma do tego gotowy typ triggera.

Które z tych zdarzeń oznaczam jako konwersję w Google Ads — i dlaczego nie wszystkie

Tu popełnia się drugi częsty błąd: oznaczenie wszystkich sześciu zdarzeń jako głównych konwersji w Google Ads. Smart Bidding wtedy miesza sygnały o bardzo różnej wadze i traci ostrość optymalizacji.

Zdarzenie Rola w Google Ads Uwaga
Formularz kontaktowy Główna konwersja Liczy się do strategii ustalania stawek
Kliknięcie telefonu Główna konwersja Liczy się do strategii ustalania stawek
Rezerwacja terminu Główna konwersja Zwykle najwyższa wartość — jeśli dostępna, ustawiam ją jako priorytetową
Pobranie materiału Pomocnicza Importuję do GA4, ale oznaczam w Google Ads jako "obserwowana", nie główna
Kliknięcie e-maila Pomocnicza Obserwowana — nie wpływa na strategię stawek
Czas na stronie oferty Tylko GA4 Nigdy nie importuję do Google Ads jako konwersja — służy wyłącznie do analizy
Zasada, której trzymam się zawsze

Do Google Ads importuję jako konwersje "liczone" tylko te zdarzenia, które bezpośrednio korelują z realnym zapytaniem sprzedażowym. Zdarzenia pomocnicze zostawiam widoczne w raportach, ale poza strategią ustalania stawek — inaczej algorytm rozmywa optymalizację między sygnałami o zupełnie różnej wartości.

Co sprawdzam tuż przed włączeniem kampanii

Nawet dobrze skonfigurowane zdarzenia trzeba przetestować, zanim ruszy budżet reklamowy. Standardowo robię to w trybie Podglądu (Preview) w GTM, wysyłając testowe zgłoszenia przez każdy kanał kontaktu i sprawdzając w czasie rzeczywistym w GA4 (raport DebugView), czy zdarzenie faktycznie dociera z poprawnymi parametrami.

Częsty błąd, który łapię na tym etapie

Zdarzenie "wysłanie formularza" odpala się przy każdym kliknięciu przycisku, niezależnie od tego, czy formularz przeszedł walidację. Efekt: dziesiątki fałszywych konwersji z pustych lub błędnie wypełnionych formularzy, które psują dane, zanim jeszcze kampania ruszy.

Jak łączę te zdarzenia w lejek w Eksploracjach GA4

Pojedyncze zdarzenia to dopiero połowa obrazu. Żeby zobaczyć, gdzie realnie tracę potencjalnych klientów, buduję w GA4 raport typu Eksploracja lejka, układając zdarzenia w kolejności, w jakiej faktycznie występują na ścieżce: wejście na stronę ofertową → 90 sekund na cenniku lub pobranie materiału → kontakt (formularz, telefon, rezerwacja).

Taki lejek pokazuje coś, czego nie widać w pojedynczych raportach zdarzeń — na którym dokładnie etapie odpada najwięcej osób. Czasem okazuje się, że ruch na stronę oferty jest spory, ale bardzo mało osób dociera do etapu "90 sekund na cenniku" — co zwykle oznacza problem z samą treścią cennika, nie z kampanią reklamową. Innym razem lejek jest szeroki aż do etapu kontaktu, a odpada dopiero na samym formularzu — co sugeruje problem z jego długością albo umiejscowieniem na stronie.

Dlaczego to ważne przed uruchomieniem kampanii

Jeśli lejek pokazuje słaby punkt jeszcze przed startem płatnego ruchu, warto go naprawić zanim zaczniesz płacić za kliknięcia, które i tak nie dotrą do etapu kontaktu. Wpuszczanie płatnego ruchu w lejek z dziurą to najdroższy sposób na odkrycie problemu ze stroną.

Checklist przed włączeniem kampanii

  1. Czy masz skonfigurowane wszystkie sześć zdarzeń w GTM i widzisz je w DebugView GA4?
  2. Czy formularz mierzy potwierdzenie wysłania, a nie samo kliknięcie przycisku?
  3. Czy telefon i e-mail są osobnymi zdarzeniami, a nie jednym wspólnym "kontaktem"?
  4. Czy czas na stronie jest ograniczony do konkretnych podstron ofertowych, nie do całej witryny?
  5. Czy w Google Ads jako konwersje "liczone" oznaczyłeś tylko zdarzenia o wysokiej wartości sprzedażowej?
  6. Czy przetestowałeś każdą ścieżkę (formularz, telefon, pobranie, rezerwację) osobno w trybie Preview?

"Kampania nie może być mądrzejsza niż dane, które jej dajesz. Zanim zaczniesz optymalizować stawki, zoptymalizuj to, co w ogóle nazywasz sukcesem."

— Zasada, którą stosuję przy każdym nowym koncie
M
Michał Lech
Specjalista Google Ads i Analytics · B2B i e-commerce · Google Partner

Od 15 lat zajmuję się kampaniami Google Ads i konfiguracją Google Analytics 4 dla firm B2B i e-commerce. Zanim zoptymalizuję jedną stawkę, sprawdzam, czy konto w ogóle mierzy to, co ma znaczenie dla sprzedaży. Jeśli chcesz sprawdzić, jak wygląda pomiar w Twojej firmie, napisz.