Analityka marketingowa13 min czytania

Single Source of Truth: jak połączyć dane z Meta, Google Ads i CRM oraz konwersje offline

Aktualizacja: 30 września 2026 · Autor: Szymon Sanecznik, SEMownia

W każdej firmie, która reklamuje się jednocześnie w Google i Meta, prędzej czy później pada pytanie: „Dlaczego Facebook pokazuje 350 tysięcy, Google 480 tysięcy, a sprzedaż online w miesiącu wyniosła 700 tysięcy?”. Odpowiedź „bo atrybucja” nie pomaga zarządowi podjąć decyzji o budżecie. Pomaga dopiero architektura danych, w której wiadomo, która liczba jest prawdą, a która szacunkiem platformy.

Skala problemu bywa zaskakująca, bo w symulacji, którą rozpisuję niżej, oba panele raportują razem 826 774 zł przy 700 000 zł sprzedaży online w CRM (118,1%), a ranking kanałów odwraca się: w panelach wygrywa Meta, w CRM Google. Tyle o wadze tematu.

Pokażę, jak zbudować Single Source of Truth (jedno źródło prawdy) dla danych z Meta, Google Ads i CRM: skąd bierze się rozjazd między panelami, jak działa deduplikacja konwersji i dlaczego import konwersji offline jest najważniejszym elementem tej układanki. Przyczyny rozbieżności samego GA4 i CRM (zgody, bramki płatności, blokery) opisuję osobno w tekście o rozbieżnościach GA4 i CRM. Tu skupiam się na łączeniu platform reklamowych.

Czym jest Single Source of Truth w analityce marketingowej?

Single Source of Truth (SSOT) to jeden, uzgodniony z finansami rejestr sprzedaży (zwykle CRM lub hurtownia danych), do którego odnosi się każdy raport marketingowy. Panele Meta, Google Ads i GA4 pozostają narzędziami operacyjnymi, ale nie rozstrzygają, ile firma sprzedała i ile zarobiła. Rozstrzyga rejestr, w którym każde zamówienie występuje dokładnie raz.

Czy to znaczy, że wszystkie narzędzia pokażą tę samą liczbę? Nie. To niemożliwe, bo każda platforma liczy inaczej, a SSOT oznacza tylko tyle, że wiesz, która liczba jest punktem odniesienia, i umiesz wyjaśnić różnicę między nią a każdym panelem, zanim ktoś na spotkaniu zarządu zacznie je dodawać. Jest też drugi warunek. Zweryfikowane dane z rejestru wracają do platform jako konwersje offline, więc algorytmy uczą się na prawdziwej sprzedaży zamiast na kliknięciach w przycisk „Kup”. W B2B ten sam mechanizm działa na leadach, co dobrze widać w kampanii Google Ads dla producenta maszyn.

Dlaczego suma konwersji z Meta i Google przekracza sprzedaż?

Dzielę przyczyny rozjazdu na cztery rozłączne grupy: kto dostaje zasługę, co jest liczone jako konwersja, jaka wartość jest przypisana i kiedy konwersja jest zaksięgowana.

  • Zasługa (okno i model atrybucji). Każda platforma widzi tylko swoje punkty styku i przypisuje sobie zamówienie, jeśli jej reklama była w oknie atrybucji. Meta domyślnie liczy 7 dni po kliknięciu, 1 dzień po zaangażowaniu i 1 dzień po wyświetleniu. Google Ads korzysta z atrybucji opartej na danych i domyślnie 30-dniowego okna dla kliknięć. Klient, który kliknął obie reklamy, zostanie więc policzony dwa razy, raz w każdym panelu. Mechanikę modeli atrybucji opisuję w artykule DDA a last click.
  • Zakres konwersji. Platformy doliczają konwersje, których CRM nie łączy z reklamą: po samym wyświetleniu lub zaangażowaniu (bez kliknięcia w link) oraz modelowane, gdy użytkownik nie zgodził się na cookies. W marcu 2026 Meta zawęziła atrybucję po kliknięciu do kliknięć w link, a pozostałe interakcje przeniosła do atrybucji po zaangażowaniu.
  • Wartość. Tag zwykle wysyła wartość z koszyka: brutto, czasem z wysyłką, przed zwrotami i anulacjami. CRM i finanse liczą netto po zwrotach.
  • Czas. Standardowa kolumna „Konwersje” w Google Ads przypisuje sprzedaż do dnia kliknięcia, nie do dnia zakupu (osobna kolumna „według czasu konwersji” pokazuje dzień zakupu). CRM księguje sprzedaż w dniu zamówienia lub faktury. Przy długiej ścieżce zakupu miesiąc w panelu i miesiąc w CRM to różne zbiory zamówień.

Która platforma zatem „kłamie”? Żadna. Każda odpowiada na inne pytanie, a problem powstaje dopiero wtedy, gdy raport dla zarządu sumuje te odpowiedzi w jednej kolumnie tak, jakby dotyczyły tego samego zbioru zamówień, co w audytach widuję częściej, niż chciałbym przyznać.

Symulacja: rozjazd danych Meta, Google Ads i CRM

Rozpiszę to na wymyślonej firmie, więc liczby są symulacją, bez danych żadnego klienta. Firma sprzedaje online i offline (telefon, salon). W miesiącu CRM rejestruje 1 000 000 zł sprzedaży netto po zwrotach: 700 000 zł online i 300 000 zł offline. Z identyfikatorów kliknięć zapisanych w CRM wynika, że 320 000 zł sprzedaży online miało kliknięcie w reklamę Google Ads, a 150 000 zł kliknięcie w link reklamy Meta; 90 000 zł z tych kwot to te same zamówienia (klient kliknął obie). Meta dolicza 110 000 zł po wyświetleniu lub zaangażowaniu. Obie platformy raportują wartość brutto (VAT 23%) bez odjęcia zwrotów (8%). Google Ads dolicza konwersje modelowane w wysokości 12% obserwowanych. Dla czytelności pomijam modelowanie po stronie Mety.

Pozycja Meta Ads (panel) Google Ads (panel) CRM (netto)
Sprzedaż online z kliknięciem w reklamę platformy 150 000 zł 320 000 zł 380 000 zł unikalnie (w tym 90 000 zł wspólne)
+ konwersje po wyświetleniu i zaangażowaniu +110 000 zł — —
Po przeliczeniu na brutto i bez odjęcia zwrotów 347 609 zł 427 826 zł —
+ konwersje modelowane (+12%) — 479 165 zł —
Wynik w panelu 347 609 zł 479 165 zł 700 000 zł sprzedaży online łącznie
Sprzedaż offline po leadach z reklam (niewidoczna bez importu) 40 000 zł 80 000 zł 300 000 zł sprzedaży offline łącznie

Suma paneli to 826 774 zł, czyli 118,1% całej sprzedaży online w CRM i 217,6% sprzedaży online, w której był jakikolwiek płatny klik. Jednocześnie oba panele nie widzą 120 000 zł sprzedaży offline, którą reklamy zainicjowały. Rozjazd idzie w obie strony. Platformy zawyżają to, co widzą, i nie dostrzegają części tego, co same zrobiły.

A co z decyzją budżetową? Załóżmy wydatki: Meta 60 000 zł, Google Ads 90 000 zł.

Wskaźnik Meta Ads Google Ads
ROAS według panelu 5,79 5,32
ROAS według CRM (kliknięcia, netto) 2,50 3,56
ROAS według CRM z importem sprzedaży offline 3,17 4,44

Panele sugerują, że Meta jest efektywniejsza. CRM pokazuje odwrotną kolejność. Obie wersje to wciąż atrybucja (przyrostu żadna z nich nie mierzy), więc różnica w kierunku decyzji wynika tu wyłącznie z metody liczenia, a przy takim budżecie przesunięcie pieniędzy w złą stronę po prostu boli. Łączny wskaźnik efektywności marketingu (MER, czyli cała sprzedaż podzielona przez cały budżet reklamowy) wynosi 1 000 000 zł ÷ 150 000 zł = 6,67 i nie zależy od atrybucji. Dlatego traktuję go jako kotwicę dla zarządu.

Architektura SSOT: jak połączyć Meta, Google i CRM?

Cztery bloki połączone linią: znacznik, lejek, stos dokumentów z czerwonym akcentem i strzałka powrotna do dwóch platform

Architekturę dzielę na cztery warstwy, przez które przechodzi każde zamówienie: identyfikacja, zbieranie, rejestr i zwrot do platform. Wystarczy brak jednej. Łańcuch się urywa.

  1. Identyfikacja. W chwili wejścia na stronę zapisujesz identyfikatory kliknięć (gclid, gbraid, wbraid z Google, fbclid i plik cookie _fbc z Meta) oraz parametry UTM. Przy formularzu lub zamówieniu przekazujesz je do CRM razem z danymi klienta.
  2. Zbieranie. Zdarzenia z przeglądarki (tag Google, piksel Meta) uzupełniasz zdarzeniami z serwera (Conversions API, rozszerzone konwersje). Każde zdarzenie ma identyfikator zamówienia lub zdarzenia potrzebny do deduplikacji.
  3. Rejestr. CRM lub hurtownia (np. BigQuery) przechowuje zamówienia netto po zwrotach, z identyfikatorami kliknięć, źródłem i, jeśli to możliwe, marżą. To jest Twoje źródło prawdy.
  4. Zwrot do platform. Zweryfikowana sprzedaż (także offline) wraca do Google Ads i Meta jako konwersje offline z właściwą wartością. Algorytmy stawek zaczynają optymalizować pod realną sprzedaż.
System Klucz dopasowania Klucz deduplikacji Limit czasu
Google Ads — import konwersji offline gclid i/lub zahaszowany e-mail lub telefon identyfikator + nazwa konwersji + data i czas 90 dni od ostatniego kliknięcia (63 dni dla rozszerzonych konwersji dla leadów)
Meta — Conversions API (web) dane klienta, _fbc, _fbp event_id + event_name z pikselem, okno 48 godzin event_time do 7 dni wstecz
Meta — zdarzenia offline (physical_store) zahaszowane dane klienta order_id (domyślnie), okno do 7 dni transakcje przesłane w ciągu 62 dni
Meta — Conversions API dla CRM (leady) identyfikator leada Meta (15–17 cyfr) lub e-mail, telefon etap leada w CRM etap optymalizacji osiągany w ciągu 28 dni od leada
GA4 — Measurement Protocol client_id z tagu na stronie transaction_id zdarzenia do 72 godzin wstecz

Z tej tabeli wynika jedna rzecz, którą powtarzam przy każdym wdrożeniu: zapis identyfikatorów w CRM jest warunkiem koniecznym, bo bez gclid lub danych klienta przy zamówieniu nie ma czego dopasować, a po upływie limitu czasu sprzedaży nie da się już przypisać do kliknięcia, choćbyś bardzo chciał.

Deduplikacja konwersji: co robią platformy, a co musisz zrobić Ty?

Deduplikacja (czyli usuwanie zdublowanych zdarzeń tej samej konwersji) działa na trzech poziomach. Zautomatyzowane są dwa.

Wewnątrz platformy, między źródłami danych. Meta łączy zdarzenie z piksela i z Conversions API, jeśli mają ten sam event_id i event_name i dotrą w ciągu 48 godzin; bez wspólnego event_id każdy zakup liczony jest dwa razy, a raportowany ROAS w Meta się podwaja, co na pierwszy rzut oka wygląda jak świetny miesiąc i dlatego rzadko ktoś to od razu kwestionuje. W Google Ads od kwietnia 2026 konto przyjmuje jednocześnie dane z tagu na stronie, z Data Manager i z API, a od 15 czerwca 2026 rozszerzone konwersje dla witryny i dla leadów to jedno ustawienie. Tym bardziej trzeba pilnować, żeby to samo zamówienie nie było mierzone dwiema konwersjami głównymi.

Wewnątrz platformy, między powtórzeniami. GA4 odrzuca zakupy z tym samym transaction_id (w strumieniach internetowych), a Google Ads nie importuje ponownie konwersji offline z tym samym identyfikatorem, nazwą i czasem. Warunek: identyfikator zamówienia musi być zawsze wypełniony i unikalny.

Między platformami. Tu automatu nie ma. Meta nie wie o kliknięciach w Google, Google nie wie o reklamach w Meta, więc jedynym miejscem, w którym zamówienie występuje raz, jest Twój rejestr. Dlatego w raporcie zarządczym nigdy nie sumuję konwersji z paneli. Pokazuję sprzedaż z CRM, MER i osobno udział każdego kanału według jednej, spójnej reguły liczonej w CRM (np. ostatnie płatne kliknięcie zapisane przy zamówieniu).

Konwersje offline: dlaczego to najważniejszy element SSOT?

Gdzie kończy się Twoja sprzedaż? Jeśli część zamyka się poza stroną (w call center, salonie, po ofercie handlowca), import konwersji offline decyduje o tym, pod co optymalizują algorytmy. Bez niego Google Ads i Meta uczą się na formularzach i zapytaniach. Także na tych, które nigdy nie zamienią się w sprzedaż.

Google Ads: Data Manager i rozszerzone konwersje dla leadów

Google rekomenduje rozszerzone konwersje dla leadów, które łączą gclid z zahaszowanymi danymi klienta. Według Google reklamodawcy łączący dane własne z identyfikatorem kliknięcia uzyskali medianę o 10% więcej konwersji niż przy standardowym imporcie. Najprostsza droga to Data Manager (narzędzie Google do przesyłania danych własnych), który ma gotowe połączenia m.in. z HubSpot i Salesforce (starsza integracja z Salesforce straciła wsparcie 31 maja 2025).

Dla firm z własną integracją przez API ważna jest data 15 czerwca 2026: od tego dnia API Google Ads nie przyjmuje nowych użytkowników importu konwersji offline, a dotychczasowi muszą zintegrować się z Data Manager API. Jeśli Twój dostawca CRM lub agencja budowała integrację wcześniej, sprawdź, czy została przeniesiona.

Meta: Conversions API dla CRM i zdarzeń offline

Meta wycofała osobne Offline Conversions API w maju 2025. Sprzedaż offline przesyłasz teraz przez główne Conversions API z action_source ustawionym na physical_store. Dla leadów Meta oferuje Conversions API dla CRM, które pozwala optymalizować kampanie pod etap lejka w CRM, np. „spotkanie umówione” zamiast „formularz wysłany”. Wymagania z dokumentacji Meta: co najmniej 200 leadów miesięcznie, przesyłanie danych co najmniej raz dziennie, etap optymalizacji osiągany w ciągu 28 dni od leada i z konwersją między 1% a 40%. Faza nauki trwa według Meta 2–4 tygodnie.

Wartość konwersji offline

Import samej liczby sprzedaży to połowa pracy. Przesyłaj wartość netto po zwrotach, a jeśli możesz, także marżę, bo wtedy algorytmy optymalizują pod zysk zamiast pod przychód, co opisuję w artykule ROAS a POAS.

Jak raportować zarządowi, gdy każde narzędzie pokazuje co innego?

Stosuję trzy poziomy prawdy, każdy do innej decyzji:

  • Poziom finansowy: CRM i MER. Sprzedaż netto, marża, łączny budżet, MER, koszt pozyskania klienta. To liczby do decyzji o całkowitym budżecie marketingu.
  • Poziom kanałów: atrybucja w CRM. Udział kanałów według jednej reguły liczonej na zamówieniach z rejestru. To liczby do podziału budżetu między Meta i Google.
  • Poziom operacyjny: panele platform. Kampanie, grupy reklam, kreacje. To liczby do codziennej optymalizacji wewnątrz platformy, nigdy do porównywania platform między sobą.

Haczyk? Żaden z tych poziomów nie mierzy przyrostu, czyli sprzedaży, której nie byłoby bez reklamy. Gordon, Moakler i Zettelmeyer (Marketing Science, 2023) na 663 eksperymentach pokazali, że metody obserwacyjne potrafią zawyżyć efekt około trzykrotnie, więc do dużych decyzji budżetowych dokładam testy przyrostowe: Google oferuje bayesowskie badania Conversion Lift od około 5 tys. USD budżetu, Meta ma atrybucję przyrostową. Jak przełożyć to na dashboard, pokazuję w tekście o dashboardzie dla zarządu.

6 kroków w kolejności, w jakiej je wdrażam

  1. Ustal rejestr i definicje. Który system jest źródłem prawdy (CRM, system sklepu, hurtownia), co jest przychodem (netto po zwrotach), jak liczysz MER i koszt pozyskania.
  2. Zapisuj identyfikatory. gclid, gbraid, wbraid, fbclid, _fbc i UTM w ukrytych polach formularzy i przy zamówieniu, przekazywane do CRM.
  3. Uszczelnij deduplikację w platformach. Wspólny event_id dla piksela i Conversions API, niepusty transaction_id, jedna konwersja główna na zakup w Google Ads.
  4. Uruchom import offline. Google Ads przez Data Manager (rozszerzone konwersje dla leadów), Meta przez Conversions API. Codzienny przesył, wartość netto, kontrola limitów czasu.
  5. Zbuduj raport trzech poziomów. Finansowy, kanałów i operacyjny, z jawną informacją, skąd pochodzi każda liczba. Bez sumowania paneli.
  6. Zaplanuj test przyrostowy. Jeden na kwartał dla kanału z największym budżetem lub największą niepewnością.

Zostają zgody. Przesyłanie zahaszowanych danych klientów do Google i Meta wymaga podstawy prawnej i informacji w polityce prywatności, a wpływ braku zgód na raporty opisuję w tekście o Consent Mode v2. To nie jest porada prawna. Zakres zgód warto uzgodnić z prawnikiem lub inspektorem ochrony danych.

FAQ

Dlaczego Facebook pokazuje więcej konwersji niż Google Analytics?

Meta liczy konwersje w oknie 7 dni po kliknięciu oraz 1 dnia po zaangażowaniu i wyświetleniu, także bez wejścia na stronę z reklamy. GA4 przypisuje sprzedaż według własnego modelu i widzi tylko sesje ze zgodą na pomiar. Obie liczby odpowiadają na inne pytania.

Czy można zsumować konwersje z Meta i Google Ads?

Nie. Obie platformy przypisują sobie te same zamówienia, jeśli klient miał kontakt z reklamami w obu, a Meta dolicza też konwersje po wyświetleniu. Suma zwykle przekracza realną sprzedaż. Do raportu zarządczego używaj sprzedaży z CRM.

Co to jest import konwersji offline w Google Ads?

To przesyłanie do Google Ads sprzedaży lub etapów lejka zarejestrowanych poza stroną, np. w CRM, dopasowanych do kliknięcia przez gclid lub zahaszowane dane klienta. Od 15 czerwca 2026 nowe integracje działają przez Data Manager. Konwersję trzeba przesłać w ciągu 90 dni od kliknięcia.

Jak działa deduplikacja Pixel i Conversions API?

Meta traktuje zdarzenia z piksela i z Conversions API jako jedno, jeśli mają ten sam event_id i event_name i dotrą w ciągu 48 godzin. Bez wspólnego identyfikatora każdy zakup jest liczony podwójnie.

Czym zastąpiono Meta Offline Conversions API?

Główne Conversions API przyjmuje zdarzenia offline z action_source ustawionym na physical_store. Transakcje należy przesłać w ciągu 62 dni. Dla leadów Meta oferuje Conversions API dla CRM z optymalizacją pod etapy lejka.

Czy do Single Source of Truth potrzebna jest hurtownia danych?

Nie zawsze. Przy jednym systemie sprzedaży źródłem prawdy może być CRM lub system sklepu, o ile przechowuje identyfikatory kliknięć i sprzedaż netto po zwrotach. Hurtownia, np. BigQuery, przydaje się, gdy łączysz kilka systemów sprzedaży lub koszty z wielu platform.

Źródła

Co zrobić dalej

Połączmy Dane Z Meta, Google I Twojego CRM

Jeśli panele reklamowe pokazują więcej sprzedaży niż Twój CRM, zacznijmy od rozmowy. W 30 minut przejdziemy przez Twoje identyfikatory, deduplikację i import konwersji offline, a ja wskażę, od którego elementu zacząć budowę jednego źródła prawdy. Bez zobowiązań.

Umów bezpłatną konsultację

O autorze

Szymon Sanecznik — założyciel SEMowni. Od 2011 roku pracuję w performance marketingu, fach szlifowałem w najlepszych polskich agencjach SEO/SEM. Prowadziłem kampanie Google Ads o łącznym budżecie ponad 80 mln zł. Pomagam firmom uporządkować marketing tak, żeby decyzje budżetowe wynikały z danych, a nie z raportu jednej platformy.