Walidacja importu danych o kampaniach w GA4: koszt, który nigdy się nie połączył

15 października 2026 · 7 min czytania

Koszty z Meta, LinkedIna czy TikToka trafiają do GA4 przez import danych o kampaniach. Wgrywasz plik z kosztem, klikami i wyświetleniami, a Analytics łączy te wiersze z sesjami, które już zebrał. Gdy połączenie działa, dostajesz koszt pozyskania i zwrot z inwestycji dla kanałów spoza Google Ads.

Połączenie nie zawsze jednak działa, a do niedawna nic o tym nie informowało. Plik mógł zaimportować się bez błędu, raport przyjmował każdy wiersz, a koszt wisiał bez ani jednej konwersji.

10 sierpnia 2026 Google dodało brakujące ogniwo: raport walidacji importu danych o kampaniach, który pokazuje, czy zaimportowane wiersze faktycznie połączyły się z aktywnością użytkowników.

Gdzie jest raport i co domyślnie pomija

Raport otworzysz w sekcji raportów, w folderze importu danych. Nazwy raportu i jego dokumentacji są po angielsku, bo strona pomocy nie została przetłumaczona na polski. Jeśli raportu nie ma w lewej nawigacji, edytor lub ktoś wyżej może dodać go z powrotem.

Dwie cechy zmieniają sposób czytania. Raport liczy się po sesjach, nie po zdarzeniach. I otwiera się z filtrem, który zostawia wyłącznie płatne kampanie manualne, wykluczając źródła Google i medium wyszukiwania. Filtr izoluje ruch, którego koszt zależy od twojego importu. Można go usunąć i rozszerzyć raport na cały ruch.

Trzy statusy połączenia

Każdy wiersz ma jeden z trzech stanów. Raport grupuje je po źródle i medium, kampanii i grupie kanałów.

Trzeci stan jest najważniejszy. Raport pełen kosztu i pusty w konwersjach to nie zepsuty import, tylko udany import bez połączenia. Status opiera się na obecności dodatniej wartości w polach Ad clicks, Ad cost albo Ad impressions, z podłączonych integracji lub z twojego pliku.

Trzy liczby na trzech ekranach

Procent importu jest na stronie szczegółów importu i dzieli wiersze zaimportowane przez wiersze w pliku. Wynik poniżej 100 procent oznacza, że plik zgubił wiersze, zwykle przez błąd mapowania pola. Mierzy wysyłkę, nie połączenie.

Match rate jest na tej samej stronie. To procent zaimportowanych wierszy, które połączyły się z danymi Analytics na kluczach utm_source, utm_medium i date. Obliczenie bierze pod uwagę tylko dane z ostatnich dwóch lat, więc import z trzech lat pokaże wynik dla dwóch ostatnich.

Wskaźnik pokrycia jest w raporcie walidacji i dzieli wiersze połączone przez wiersze z zebranymi danymi Analytics. Match rate mierzy import względem samego siebie, wskaźnik pokrycia mierzy, jak duża część żywego ruchu kampanijnego niesie zaimportowane dane o wynikach. Niski wskaźnik przy wysokim match rate oznacza zwykle kampanie bez UTM-ów zgodnych z importem.

Razem lokalizują usterkę. Niski procent importu to problem pliku, niski match rate to problem klucza, niski wskaźnik pokrycia to problem nazewnictwa kampanii.

Klucz łączenia i reguła dokładnego dopasowania

O połączeniu decydują źródło, medium i data. Wartości utm_source, utm_medium, utm_campaign i date w pliku muszą dokładnie odpowiadać wartościom zapisanym przez użytkowników. Przykład Google jest dosłowny: Facebook i facebook to nie to samo.

Linki kampanii muszą nieść utm_id, utm_source, utm_medium i utm_campaign. W usłudze źródło i medium są wymagane, a identyfikator i nazwa kampanii opcjonalne.

Parametry dynamiczne nie są rozwiązywane przez interfejs importu, więc wartość w rodzaju {{campaign.name}} musi zostać podstawiona po stronie platformy przed eksportem. Zmiana nazwy kampanii, SpringSale zamiast Spring_Sale, rozbija zaś jeden wysiłek na dwa zestawy wierszy, z których tylko jeden będzie niósł sesje zapisane przez stronę.

Wymiar Source Group scala warianty zapisu platformy w jedną wartość raportową. Połączenie działa jednak na surowych wartościach utm_source, utm_medium i date, więc konsolidację raportową traktuj jako inną warstwę.

Cztery najczęstsze przyczyny nieudanego połączenia

Rozjazd nazw. Jedna platforma wysyła fb, druga facebook, trzecia Meta-facebook, a plik dziedziczy wartość z eksportu. Nazwy popraw u źródła, bo ręczna edycja pliku to łatka, którą kolejne wgranie zdejmie.

Brak medium. Linki z samym parametrem źródła zostawiają sesję z domyślnym medium, a zaimportowany wiersz deklaruje cpc. Nic nie pasuje.

Kodowanie i spacje. Wartość ad+network albo z końcową spacją w kolumnie arkusza to inny ciąg znaków niż ad network. Eksporty z arkuszy to typowe źródło niewidocznych spacji, więc przytnij kolumny przed wgraniem.

Granice dat. Połączenie obejmuje datę, a metryki importu są agregowane dziennie. Jeśli platforma raportuje w innej granicy strefy czasowej niż usługa, dzień wydatku wyląduje na dacie bez pasujących sesji.

Do tego dochodzi czas. Dane po wgraniu mogą pojawić się w raportach, listach odbiorców i eksploracjach nawet po 24 godzinach, a użytkownicy muszą wejść w interakcję z kampanią już po wysłaniu danych, żeby metryki przypisały się do ich aktywności.

Rutyna walidacji

  1. Otwórz raport i upewnij się, że domyślny filtr jest włączony, żeby patrzeć na płatny ruch manualny.
  2. Posortuj po wskaźniku pokrycia. Kampanie na dole listy to te, których koszt wisi bez przypisanych sesji.
  3. Odczytaj status. Brak danych kampanii znaczy, że import nie niósł klucza, brak danych Analytics, że klucz jest, ale nie pasuje do niczego, co zapisała strona.
  4. Porównaj zaimportowane źródło i medium z raportami za ten sam okres i sprawdź zakres dat względem strefy czasowej platformy.
  5. Popraw u źródła, wgraj ponownie, poczekaj dobę, a potem zestaw koszt, kliki i wyświetlenia z platformą zewnętrzną.

Czego raport nie powie

Raport nie diagnozuje przyczyny. Nie powie, który ciąg znaków się nie dopasował, ani nie rozpozna wiersza połączonego z niewłaściwą kampanią. Porównanie z platformą reklamową zostaje więc jedynym sposobem, żeby to wychwycić.

Obowiązują też ograniczenia importu. Match rate liczy tylko ostatnie dwa lata danych. Usunięcie źródła importu zabiera jego dane z raportów bez ruszania zebranych zdarzeń, bo import łączy się w momencie zapytania. Wgranie nowych liczb dla tego samego zestawu kluczy zastępuje stare wartości.

Polski kontekst: zgody, PKE i rozliczalność

Zaimportowany koszt nie jest zbierany od użytkownika, więc zgoda nie bramkuje samej wysyłki pliku. Bramkuje sesje, z którymi wiersz ma się połączyć. Usługa działająca na domyślnie odmówionych zgodach zbiera węższy zbiór zidentyfikowanych sesji, a to widać we wskaźniku pokrycia.

Ramy prawne w Polsce wyznacza art. 399 Prawa komunikacji elektronicznej, który wymaga zgody na zapisywanie informacji w urządzeniu, oraz art. 400, który odsyła do standardu zgody z RODO: dobrowolnej, konkretnej, świadomej i jednoznacznej. Osobno działa art. 5 ust. 2 RODO, czyli rozliczalność. Jeśli klient zakwestionuje raportowany zwrot z inwestycji, raport walidacji jest datowanym dowodem, że połączenie zostało sprawdzone.

Import danych o kampaniach zawsze był połączeniem dwóch systemów, które opisują tę samą kampanię inaczej. Raport walidacji pierwszy raz pokazuje, która strona tego połączenia zawiodła. Uruchom go, zanim zaufasz zwrotowi z inwestycji dla kanału spoza Google.

North Digital weryfikuje importy danych o kampaniach w kontach klientów: sprawdzamy wskaźnik pokrycia i dopasowanie kluczy. Zamów audyt importu danych o kampaniach.