Przejdź do treści

Ad fraud: boty, fałszywe kliknięcia i jak wykryć je w danych kampanii

Boty, farmy kliknięć i podszywanie się pod wydawców zjadają część budżetu reklamowego, a fałszywe leady potrafią rozregulować Smart Bidding. Pokazujemy, jak rozpoznać nieprawidłowy ruch w danych i co zrobić, gdy go znajdziesz.

Redakcja Pixel Insider8 min czytaniaPoziom: średni

  • GA4
  • BigQuery
  • Google Ads
  • GTM
Spis treści
  1. Rodzaje ad fraudu i gdzie występują
  2. GIVT i SIVT: jak platformy filtrują nieprawidłowy ruch
  3. Jak wykryć ad fraud w danych kampanii
  4. Fałszywe leady: jak nie uczyć algorytmów na botach
  5. Co zrobić, gdy wykryjesz ad fraud
  6. Najczęściej zadawane pytania

Ad fraud to celowe generowanie nieprawdziwych wyświetleń, kliknięć, instalacji lub konwersji po to, żeby przejąć część budżetu reklamowego. Stoją za nim boty, farmy kliknięć, manipulacje w łańcuchu programmatic i nieuczciwi partnerzy afiliacyjni. W danych kampanii objawia się rozjazdem między kliknięciami a sesjami, sesjami bez zaangażowania, nietypową geografią, godzinami i urządzeniami oraz konwersjami, za którymi nie stoi realny klient. Najwięcej szkody wyrządza nie sam stracony budżet, ale fałszywe sygnały, na których uczą się algorytmy stawek.

Najważniejsze w skrócie

  • Standardy branżowe dzielą nieprawidłowy ruch na ogólny (GIVT), który da się odfiltrować listami, i wyrafinowany (SIVT), wymagający zaawansowanej analizy.
  • Google Ads automatycznie filtruje nieprawidłowe kliknięcia i nie pobiera za nie opłat, a kolumny „Nieprawidłowe kliknięcia” i „Współczynnik nieprawidłowych kliknięć” pokazują skalę zjawiska.
  • Najprostszy test to porównanie kliknięć z platformy z sesjami w GA4 i z czasem zaangażowania według źródła, kampanii i kraju.
  • Fałszywe leady są groźniejsze niż fałszywe kliknięcia, bo uczą Smart Bidding szukać kolejnych botów.
  • Do Google Ads i Meta przekazuj tylko zweryfikowane konwersje, najlepiej leady zakwalifikowane w CRM.

Rodzaje ad fraudu i gdzie występują

Ad fraud nie jest jednym zjawiskiem, tylko zbiorem technik dopasowanych do sposobu rozliczania kampanii. Tam, gdzie płacisz za wyświetlenia, oszuści generują wyświetlenia; tam, gdzie za kliknięcia lub instalacje – kliknięcia i instalacje.

Rodzaj Jak działa Gdzie Objaw w danych
Ruch botów skrypty i przeglądarki sterowane automatycznie, często z serwerowni lub przez sieci proxy sieć reklamowa, wyszukiwarka, strony docelowe sesje bez zaangażowania, nietypowe przeglądarki, skoki ruchu o stałych porach
Farmy kliknięć ludzie klikający reklamy za opłatą wyszukiwarka, social media krótkie sesje z jednego regionu, brak konwersji
Ad stacking i pixel stuffing reklamy nałożone na siebie lub wyświetlane w niewidocznym boksie 1×1 px display, aplikacje wyświetlenia bez kliknięć, zerowa widoczność
Domain spoofing podszywanie się pod znaną domenę w licytacji programmatic domena z raportu nie zgadza się z ads.txt wydawcy
Click injection i click spamming fałszywe kliknięcia przypisywane do instalacji aplikacje mobilne instalacje sekundy po kliknięciu albo masowe kliknięcia bez instalacji
Cookie stuffing podrzucanie plików cookie partnera bez kliknięcia programy afiliacyjne prowizje za sprzedaż, która wydarzyłaby się i tak
Fałszywe leady boty lub ludzie wypełniający formularze kampanie leadowe niepoprawne e-maile, powtarzające się dane, brak kontaktu
Podszywanie się pod urządzenia CTV fałszywe wyświetlenia udające Smart TV CTV nierealne wolumeny, nietypowe identyfikatory urządzeń

Ostatni wiersz jest szczególnie istotny przy wysokich stawkach w telewizji internetowej – metody kontroli opisujemy w tekście o pomiarze kampanii CTV. Pokrewnym, ale odrębnym problemem są strony MFA, które generują ludzkie, lecz bezwartościowe odsłony; omawiamy je w artykule o stronach made for advertising.

GIVT i SIVT: jak platformy filtrują nieprawidłowy ruch

Nieprawidłowy ruch (IVT) dzieli się na dwie kategorie. GIVT to ruch ogólny – znane roboty, crawlery wyszukiwarek, adresy serwerowni – który odfiltrowuje się na podstawie list i prostych reguł. SIVT to ruch wyrafinowany: boty naśladujące ludzi, przejęte urządzenia, złośliwe oprogramowanie, manipulacje w aplikacjach. Wykrycie go wymaga analizy wielu sygnałów.

Duże platformy filtrują GIVT i część SIVT automatycznie. W Google Ads kliknięcia uznane za nieprawidłowe nie są wliczane do kosztów, a jeśli system wykryje nieprawidłową aktywność już po rozliczeniu, w płatnościach pojawia się korekta na korzyść reklamodawcy. Kolumny „Nieprawidłowe kliknięcia” i „Współczynnik nieprawidłowych kliknięć” możesz dodać do tabeli kampanii, żeby zobaczyć, gdzie problem jest największy. Jeśli podejrzewasz nadużycie, którego filtry nie wychwyciły, możesz zgłosić je do Google z danymi z Twojej analizy.

Meta również filtruje nieprawidłową aktywność. Prostym testem po Twojej stronie jest porównanie kolumn „Kliknięcia w link” i „Wyświetlenia strony docelowej” – duża i rosnąca różnica w jednym miejscu docelowym lub zestawie reklam wymaga sprawdzenia. W programmatic filtrowanie przed licytacją zapewniają segmenty firm weryfikacyjnych, a pomiar po emisji pozwala domagać się od dostawców zwrotu za ruch nieprawidłowy.

Jak wykryć ad fraud w danych kampanii

Filtry platform nie zastąpią Twojej analizy, bo tylko Ty widzisz, co użytkownik zrobił po kliknięciu. Przejdź po kolei przez poniższe kontrole:

  1. Porównaj kliknięcia z sesjami. Pewna różnica jest normalna (brak zgody na cookies, zamknięcie strony przed załadowaniem tagu), ale nagły wzrost luki w jednej kampanii lub miejscu to sygnał ostrzegawczy. Typowe przyczyny rozbieżności opisujemy w tekście o różnicach w liczbie konwersji między GA4, Google Ads i Meta.
  2. Sprawdź zaangażowanie według źródła, kampanii i kraju. Wysoki udział sesji krótszych niż sekunda to typowy ślad automatów.
  3. Przejrzyj geografię. Ruch z krajów spoza kierowania albo duży udział lokalizacji „(not set)” wymaga wyjaśnienia.
  4. Przeanalizuj rozkład godzinowy. Równomierny ruch przez całą dobę lub skoki o stałych porach w nocy rzadko są ludzkie.
  5. Sprawdź urządzenia i przeglądarki. Bardzo stare wersje przeglądarek, nietypowe rozdzielczości i dominacja jednego modelu urządzenia to częste ślady botów.
  6. Zweryfikuj konwersje. Formularze wysłane kilka sekund po wejściu, powtarzające się dane, adresy z domen tymczasowych i numery telefonów bez sensu.
  7. Szukaj anomalii CTR. Bardzo wysoki współczynnik kliknięć w sieci reklamowej lub w aplikacjach przy zerowych konwersjach sugeruje przypadkowe lub sztuczne kliknięcia.

Do kroków 2 i 3 przyda się zapytanie do eksportu GA4 w BigQuery, które pokazuje udział sesji bez zaangażowania w podziale na źródło, medium i kraj:

-- Sesje o cechach ruchu automatycznego według źródła i kraju (eksport GA4)
WITH zdarzenia AS (
  SELECT
    user_pseudo_id,
    (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS session_id,
    (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'engagement_time_msec') AS czas_ms,
    collected_traffic_source.manual_source AS zrodlo,
    collected_traffic_source.manual_medium AS medium,
    collected_traffic_source.gclid AS gclid,
    geo.country AS kraj,
    event_name
  FROM `projekt.analytics_123456789.events_*`
  WHERE _TABLE_SUFFIX BETWEEN '20261001' AND '20261026'
),
sesje AS (
  SELECT
    user_pseudo_id,
    session_id,
    IF(MAX(gclid) IS NOT NULL, 'google / cpc',
       CONCAT(IFNULL(MAX(zrodlo), '(brak)'), ' / ', IFNULL(MAX(medium), '(brak)'))) AS zrodlo_medium,
    MAX(kraj) AS kraj,
    SUM(IFNULL(czas_ms, 0)) AS czas_ms,
    COUNT(*) AS zdarzenia,
    COUNTIF(event_name = 'generate_lead') AS leady
  FROM zdarzenia
  GROUP BY user_pseudo_id, session_id
)
SELECT
  zrodlo_medium,
  kraj,
  COUNT(*) AS sesje,
  ROUND(COUNTIF(czas_ms < 1000) / COUNT(*), 3) AS udzial_ponizej_1s,
  ROUND(COUNTIF(zdarzenia <= 2) / COUNT(*), 3) AS udzial_max_2_zdarzenia,
  SUM(leady) AS leady
FROM sesje
GROUP BY zrodlo_medium, kraj
HAVING COUNT(*) >= 50
ORDER BY udzial_ponizej_1s DESC;

Wynik porównuj między źródłami, a nie z jednym progiem – udział krótkich sesji zależy od typu strony i urządzeń. Jeśli chcesz odtworzyć pełną logikę źródeł ruchu z raportów GA4, przeczytaj tekst o sesjach i źródłach ruchu w BigQuery.

Fałszywe leady: jak nie uczyć algorytmów na botach

Bot, który wypełnia formularz, tworzy konwersję. Smart Bidding traktuje ją jak sukces i zaczyna szukać podobnych użytkowników, więc problem narasta z każdym tygodniem. Ochrona formularzy jest więc elementem optymalizacji kampanii, a nie tylko bezpieczeństwa strony.

Podstawowe zabezpieczenia to pole-pułapka (honeypot) niewidoczne dla ludzi, walidacja po stronie serwera, niewidoczna weryfikacja typu reCAPTCHA lub Cloudflare Turnstile i potwierdzanie adresu e-mail lub numeru telefonu. Najważniejsze jest jednak to, by zdarzenie konwersji wysyłać dopiero wtedy, gdy serwer przyjmie zgłoszenie jako poprawne:

<!-- Pole-pułapka: niewidoczne dla ludzi, wypełniane przez proste boty -->
<input type="text" name="strona_www" id="strona_www" tabindex="-1" autocomplete="off"
       aria-hidden="true" style="position:absolute;left:-9999px">
// Zdarzenie generate_lead dopiero po pozytywnej odpowiedzi serwera
var form = document.querySelector('#formularz-kontakt');
form.addEventListener('submit', async function (e) {
  e.preventDefault();
  if (document.getElementById('strona_www').value !== '') return; // wypełnione przez bota
  var odpowiedz = await fetch('/api/lead', { method: 'POST', body: new FormData(form) });
  var wynik = await odpowiedz.json();
  if (wynik.status === 'ok') {
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({ event: 'generate_lead', form_id: 'kontakt', lead_id: wynik.lead_id });
  }
});

Kolejny poziom to przekazywanie do platform tylko leadów zakwalifikowanych przez handlowców. W Google Ads służy do tego import konwersji offline i rozszerzone konwersje dla potencjalnych klientów – konfigurację opisujemy w tekście o Enhanced Conversions przez GTM. W Meta podobną rolę pełni Conversions API zasilane danymi z CRM, które omawiamy w poradniku o kampaniach leadowych w Meta Ads.

Co zrobić, gdy wykryjesz ad fraud

Reakcja zależy od tego, gdzie leży źródło problemu, ale zawsze zaczyna się od odcięcia złego ruchu i zabezpieczenia dowodów.

  • Wyklucz miejsca i aplikacje. Dodaj podejrzane domeny i aplikacje do listy wykluczeń na poziomie konta.
  • Wyklucz adresy IP. Gdy kliknięcia powtarzają się z tych samych adresów, np. konkurencji, Google Ads pozwala wykluczyć do 500 adresów IP w kampanii, w typach kampanii, które to obsługują.
  • Zawęź kierowanie geograficzne. Wybierz opcję docierania do osób obecnych w lokalizacji docelowej zamiast osób nią zainteresowanych.
  • Sprawdź sieci partnerskie. W kampaniach w sieci wyszukiwania oceń osobno ruch z partnerów wyszukiwania i w razie problemów wyłącz tę opcję.
  • Zgłoś problem platformie. Przygotuj dane: zakres dat, kampanie, miejsca, wyniki analizy z GA4. Ułatwia to ewentualne korekty.
  • Egzekwuj umowy w programmatic. Wpisz do umów z dostawcami limity ruchu nieprawidłowego mierzone przez niezależną firmę i zasadę rekompensaty za jego przekroczenie.
  • Ustaw alerty. Nagły wzrost kliknięć lub kosztu bez wzrostu sesji wyłapią skrypty do wykrywania anomalii budżetu, a spadki lub skoki zdarzeń w GA4 – monitoring tagów z alertami.

W kampaniach aplikacji mobilnych korzystaj z modułów ochrony przed fraudem w narzędziach do pomiaru instalacji, a w programach afiliacyjnych regularnie audytuj partnerów i zasady przypisywania prowizji. Ograniczenie liczby pośredników w łańcuchu programmatic, opisane w tekście o Supply Path Optimization, zmniejsza też ryzyko domain spoofingu. Ruch niskiej jakości często idzie w parze z ryzykiem dla wizerunku marki, dlatego łącz te działania z polityką brand safety i oceną widoczności oraz uwagi odbiorców. Wszystkie teksty o jakości mediów znajdziesz w podtemacie Jakość mediów i native.

Najczęściej zadawane pytania

Czy Google Ads zwraca pieniądze za fałszywe kliknięcia?

Kliknięcia uznane przez Google za nieprawidłowe są filtrowane automatycznie i nie są wliczane do kosztów. Jeśli nieprawidłowa aktywność zostanie wykryta po rozliczeniu, w płatnościach pojawia się korekta na korzyść reklamodawcy. Skalę zjawiska pokazują kolumny „Nieprawidłowe kliknięcia” i „Współczynnik nieprawidłowych kliknięć”, a podejrzenia można zgłosić do Google.

Jak rozpoznać ruch botów w GA4?

Szukaj sesji bez zaangażowania lub krótszych niż sekunda, ruchu z krajów spoza kierowania, nietypowych przeglądarek i rozdzielczości oraz równomiernego rozkładu wizyt przez całą dobę. Najlepiej analizować te sygnały w podziale na źródło, kampanię i miejsce docelowe, np. w eksporcie do BigQuery, i porównywać źródła między sobą.

Czy konkurencja może klikać w moje reklamy?

Może, ale systemy Google wychwytują wiele powtarzających się kliknięć z tych samych urządzeń i adresów. Jeśli widzisz kliknięcia z konkretnych adresów IP, możesz je wykluczyć w ustawieniach kampanii. Zachowaj też dane z analizy, bo przydadzą się przy zgłoszeniu nieprawidłowej aktywności do Google.

Dlaczego fałszywe leady szkodzą bardziej niż fałszywe kliknięcia?

Fałszywe kliknięcie to jednorazowy koszt, a fałszywy lead to konwersja, na której uczy się Smart Bidding. Algorytm zaczyna szukać użytkowników podobnych do botów, więc problem narasta. Dlatego wysyłaj zdarzenie konwersji dopiero po walidacji formularza i przekazuj do platform leady zakwalifikowane w CRM.

Czym różni się GIVT od SIVT?

GIVT to ogólny nieprawidłowy ruch, np. znane roboty i adresy serwerowni, który filtruje się listami i prostymi regułami. SIVT to ruch wyrafinowany, np. boty naśladujące zachowanie ludzi, przejęte urządzenia czy manipulacje w aplikacjach. Jego wykrycie wymaga analizy wielu sygnałów i zwykle narzędzi wyspecjalizowanych firm weryfikacyjnych.