Google Ads vs GA4 — dlaczego dane się nie zgadzają
Jak Google Ads liczy konwersje (vs GA4)
Najprostsze wyjaśnienie różnicy: te dwa systemy liczą zupełnie inne rzeczy, w inny sposób, do innych celów.
| Aspekt | Google Ads | GA4 |
|---|---|---|
| Po co istnieje | Optymalizacja kampanii reklamowych — co zarobiło na każdej złotówce | Pełen obraz ruchu na stronie ze wszystkich źródeł |
| Co liczy | Tylko konwersje przypisane do kliknięcia w reklamę Google Ads | Wszystkie konwersje od wszystkich źródeł (paid, organic, social, direct, email) |
| Atrybucja domyślna | Data-driven attribution (DDA — model oparty na uczeniu maszynowym Google), domyślny od 2024 | Data-driven cross-channel, domyślny od 2024 |
| Okno konwersji | 30 dni dla samego zdarzenia (default), konfigurowalne do 90 | 30 dni dla zdarzenia zakupu; w raportach Acquisition lookback window bywa dłuższy (do 90 dni przy niektórych ustawieniach) |
| Conversion modeling | Tak — gdy cookie nie ma, modeluje | Tak — Consent Mode v2 dorzuca modelowane konwersje |
| View-through konwersje | Tak (Display, YouTube) | Tylko engaged sessions |
| Kiedy data jest „finalna" | Po 24–72h (DDA przesuwa) | Po 24–48h (eventy są agregowane) |
Najważniejszy fragment: Google Ads patrzy tylko na siebie i liczy konwersje, w których uczestniczyło Twoje kliknięcie. GA4 patrzy na cały ekosystem i przypisuje konwersję do jednego źródła (najczęściej ostatniego z istotnym wpływem). To jest podstawowa różnica, z której wynikają wszystkie pozostałe.
Pięć powodów, dla których dane się nie zgadzają
1. Atrybucja — kto dostaje konwersję
Klient klika reklamę Google Ads w poniedziałek (Search), wraca przez post na Facebooku w środę, kupuje w piątek bezpośrednio na stronie. Komu przypisać tę konwersję?
- Google Ads: jeśli kliknięcie Google Ads było w cyklu, system ją przypisuje sobie (lub jej część przy data-driven attribution).
- GA4: patrzy na całą ścieżkę, decyduje, że to konwersja z mieszanych źródeł, ale w raporcie „Source/Medium" przypisuje ją do jednego — najczęściej ostatniego z istotnym wpływem (Direct lub Facebook w tym przypadku).
Wynik: ta sama transakcja jest w obu systemach, ale w Google Ads jako „Twój sukces", a w GA4 raporcie jako „Direct" albo „Facebook". Dla osoby, która porównuje dwa raporty obok siebie — wygląda jak rozbieżność.
2. Okno konwersji
Google Ads domyślnie ma 30-dniowe okno konwersji (możesz ustawić od 1 do 90 dni). GA4 też ma 30 dni dla zdarzenia zakupu — ale w raportach Acquisition (skąd przyszedł użytkownik) lookback window może być dłuższy, zależnie od ustawień raportu i typu modelu atrybucji. To są dwie różne rzeczy: okno samego zdarzenia vs okno przypisania źródła.
Konkretnie: jeśli klient klika reklamę dziś, a kupuje za 45 dni — Google Ads tej konwersji nie zobaczy (przy domyślnym 30-dniowym oknie), GA4 zarejestruje zakup, ale w raporcie Acquisition może go przypisać do innego źródła (np. „Direct"). Stąd „GA4 widzi więcej" w niektórych raportach — choć technicznie chodzi o lookback window, nie o okno konwersji.
3. Cookie consent + Consent Mode v2
Po wprowadzeniu Consent Mode v2 (wymóg UE od marca 2024) i rosnącej liczbie użytkowników odrzucających cookie, oba systemy musiały nauczyć się modelować konwersje, których nie widzą. Robią to w trochę inny sposób.
Google Ads dorzuca modelowane konwersje do raportów, oznaczając je jako część zarejestrowanych konwersji. GA4 też modeluje, ale widać to głównie w raportach Advertising lub po eksporcie do BigQuery — nie w domyślnym widoku Reports. Skala modelowania zależy od jakości implementacji Consent Mode na Twojej stronie. Konkretnie: bez prawidłowego Consent Mode różnica może być nawet 30–50%.
4. Konwersje view-through (po obejrzeniu reklamy bez kliknięcia)
Google Ads liczy konwersje, w których klient obejrzał reklamę (np. wideo na YouTube lub display banner), nawet jeśli nie kliknął, a potem wrócił na stronę i kupił. To są view-through conversions. Bywają solidnym fragmentem przychodu w PMax i Display.
GA4 nie ma konceptu view-through — patrzy tylko na faktyczne sesje na stronie. Wniosek: Google Ads pokazuje więcej konwersji niż GA4, jeśli prowadzisz kampanie wideo lub display.
5. Strefy czasowe
To brzmi jak detal, ale zaskakująco dużo kont ma tu rozbieżność. Google Ads i GA4 mogą być ustawione w innych strefach czasowych. Konwersja o 23:30 CET w Google Ads może być w GA4 23:30 UTC (czyli 1:30 następnego dnia). Sprawdź obie strefy, dostosuj GA4 do strefy Google Ads (Polska to zwykle CET / Europe/Warsaw).
Kiedy różnica jest OK, a kiedy alarm
Normalne rozbieżności (nie przejmuj się)
- 10–20% różnicy między Google Ads a GA4 dla zakupów — to baseline po wprowadzeniu Consent Mode v2
- Google Ads pokazuje więcej konwersji w PMax i Display (view-through)
- GA4 pokazuje więcej w acquisition (90 dni vs 30 dni)
- Dane się zmieniają w ciągu 24–72h od konwersji (DDA przesuwa atrybucję)
- Na kontach z YouTube i Demand Gen — różnica większa (typowo 20–40%)
Sygnały alarmowe — to do naprawy
- Różnica większa niż 50% — coś jest źle skonfigurowane (najczęściej Consent Mode lub niezgodne tagi)
- GA4 pokazuje przychód, którego Google Ads w ogóle nie widzi (mimo że masz kampanie aktywne) — sprawdź czy konwersje są zaimportowane
- Drastyczne wahania dzień do dnia (50%+) — pewnie sampling lub błąd w dataLayer
- Google Ads pokazuje konwersje, których GA4 nie ma w żadnym kanale — błędne tagowanie lub brak transaction_id (duplikaty)
- Po świętach lub weekendzie nie pojawiają się konwersje, mimo że ruch był — weekendowi użytkownicy częściej odrzucają cookie, a jeśli Consent Mode nie modeluje, te konwersje znikają z raportów
Jak zmniejszyć rozbieżność
Większość rozbieżności jest naturalna, ale część można zredukować przez prawidłową konfigurację:
- Consent Mode v2 wdrożony prawidłowo. Bez tego modelowanie nie działa, a konwersje znikają. Sprawdź w GTM, czy masz „advanced consent mode" i wszystkie 4 sygnały (ad_storage, ad_user_data, ad_personalization, analytics_storage).
- GA4 jako jedyne źródło tagowania (jeśli możesz). Konfiguruj konwersję raz w GA4 i importuj ją do Google Ads. Mniejsza szansa na duplikaty i niezgodności.
- Enhanced Conversions włączone. Po stronie Google Ads — z mojego doświadczenia w typowym e-commerce odzyskuje 5–15% konwersji, które GA4 też zwykle widzi przez engagement (skala zależy od jakości formularza i tego, ile email-i / telefonów masz w dataLayer).
- transaction_id w dataLayer dla zakupów. Bez tego oba systemy mogą liczyć duplikaty (klient odświeża stronę po zakupie).
- Strefa czasowa zsynchronizowana. Google Ads i GA4 ustawione w tej samej strefie czasowej (Europe/Warsaw dla PL).
- Atrybucja data-driven w obu. Domyślnie tak — ale sprawdź, czy ktoś wcześniej nie zmienił tego na last-click. Niespójne modele atrybucji to najczęstsza przyczyna rozjazdu.
Diagnostyka — szybka checklista
15 minut roboty, raz na kwartał:
- Otwórz Google Ads → Conversions i zanotuj liczbę konwersji za ostatnie 30 dni
- Otwórz GA4 → Reports → Acquisition → Traffic Acquisition → filtruj po „Default Channel Grouping = Paid Search" lub „Source = google / Medium = cpc" → zanotuj liczbę konwersji
- Porównaj — różnica powyżej 30%? Sprawdź Consent Mode i tagowanie
- Sprawdź strefę czasową w obu (Google Ads → Settings → Time zone, GA4 → Admin → Property → Reporting time zone)
- Sprawdź, czy konwersje w GA4 są oznaczone jako „Marked as conversion" (ikona zaznaczenia w Events)
- Jeśli importujesz konwersje z GA4 do Google Ads — sprawdź, czy import jest aktywny i ostatnia synchronizacja z 24h
Jeśli wszystko jest OK i różnica nadal duża — to prawdopodobnie naturalne (atrybucja, Consent Mode, view-through). Nie próbuj wyrównywać liczby do tej samej. Patrz na trendy.
O źródłach: Mechanizmy atrybucji, Consent Mode v2 i Conversion Modeling — dokumentacja Google Ads — Conversions i GA4 — Attribution. Praktyczne progi rozbieżności (10–30% normalne, 50%+ alarm) — z 11 lat prowadzenia kampanii Google Ads w JP Ads i analizy kont po wdrożeniu Consent Mode. Liczby z mojej praktyki oznaczam jako „z mojego doświadczenia".