Dlaczego Meta pokazuje mniej zakupów niż mój sklep? Sześć przyczyn i sprawdzenie w 10 minut
Meta pokazuje mniej zakupów, niż masz zamówień w sklepie? Sześć przyczyn: okna atrybucji, zgody, blokery, BLIK i Przelewy24, dubel, czas. Sprawdzenie w 10 minut.

Spis treści
Fakty w skrócie (stan na 2026-10-29)
- Menedżer reklam pokazuje zakupy przypisane reklamom w wybranym oknie atrybucji; sklep liczy wszystkie opłacone zamówienia.
- W dokumentacji API Mety domyślne okno to 7 dni od kliknięcia i 1 dzień od wyświetlenia.
- Zdarzenie wysłane z serwera może mieć czas starszy najwyżej o 7 dni od wysyłki.
- Basketly czyta zakup z zamówienia w sklepie i wysyła go z serwera, ale nie wyrównuje liczb z Mety i ze sklepu.
- Przyjęcie zdarzenia przez Metę nie dowodzi optymalizacji ani przypisania zakupu reklamie.
Sklep pokazuje 22 zamówienia, Meta 17. Albo odwrotnie: Meta 40, sklep 22. Pierwsza reakcja to „coś się zepsuło”. Czasem tak, czasem nie. Ten tekst pomaga rozróżnić te dwa przypadki bez żadnego narzędzia poza Menedżerem zdarzeń i Menedżerem reklam, a w drugiej połowie pokazuje, co w tym robi Basketly.
Takie rozjazdy opisują właściciele sklepów na całym świecie. Na r/FacebookAds pada na przykład: „Meta detected 4 orders but it is closer to 7-8.” (tłum.: Meta wykryła 4 zamówienia, a jest raczej 7-8; wątek) oraz „meta shows that in the past 30 days i've had 278 orders when ive actually had 346” (wątek). Polska agencja Verilo, w FAQ o Shoperze, odpowiada krótko: „Niewielka różnica jest normalna, duża zwykle oznacza błąd we wdrożeniu” (Verilo).
Czy różnica jest normalna?
Częściowo tak. Dwie liczby, które porównujesz, nie liczą tego samego.
- Sklep liczy każde opłacone zamówienie, niezależnie od tego, skąd przyszedł klient.
- Menedżer reklam pokazuje zakupy, które Meta przypisała reklamom w wybranym oknie atrybucji. Zgodnie z dokumentacją API Mety domyślne okno to 7 dni od kliknięcia i 1 dzień od wyświetlenia. Zamówienie klienta, który wszedł z newslettera, z wyszukiwarki albo wpisał adres sam, nie musi się tu pojawić.
Dlatego „Meta pokazuje mniej niż sklep” jest w wielu sklepach stanem naturalnym. Nienaturalne jest co innego: gdy stosunek tych liczb nagle się zmienia, gdy Meta pokazuje więcej niż sklep, albo gdy w Menedżerze zdarzeń widzisz mniej zdarzeń Purchase niż zamówień. To są już objawy błędu.
Uwaga do dokumentacji: ta sama strona Mety w innym miejscu opisuje domyślne okno przy tworzeniu raportów inaczej (zamienia kliknięcie i wyświetlenie), więc zawsze sprawdź w swoim Menedżerze reklam, jakie okno jest wybrane, zamiast zakładać liczbę z poradnika.
Sześć przyczyn, dla których zakupy giną albo się mnożą
1. Różne okna atrybucji
To przyczyna najczęstsza i jedyna, której żadne narzędzie nie usunie. Meta przypisuje zakup reklamie według własnych reguł, a sklep nie przypisuje nic. Zmiana okna w Menedżerze reklam zmieni liczbę, choć sprzedaż się nie zmieniła.
2. Brak zgody na cookies
Pixel w przeglądarce odpala się dopiero po zgodzie. Właściciele sklepów opisują to wprost: „A decent chunk of visitors refuse cookies, which means the pixel never fires for them.” (tłum.: spora część odwiedzających odmawia cookies, więc Pixel w ogóle się u nich nie odpala; wątek). Zakup tych klientów jest w sklepie, ale nie w Pixelu.
3. Blokery reklam i przeglądarki z ochroną śledzenia
Zakup wysyłany tylko z przeglądarki znika, gdy przeglądarka blokuje skrypt. Zakup wysyłany z serwera tego problemu nie ma, bo nie przechodzi przez przeglądarkę klienta.
4. Płatności z przekierowaniem do banku
BLIK, Przelewy24 i PayU wysyłają klienta na stronę płatności, a dopiero potem (czasem wcale) z powrotem do sklepu. Jeśli Pixel odpala się na stronie podziękowania, a klient jej nie zobaczy, zakupu w Pixelu nie ma. Dokumentacja Przelewy24 mówi wprost, że powiadomienie o statusie jest wysyłane niezależnie od tego, czy klient wrócił pod adres powrotu. Mechanizm opisujemy dokładnie w osobnym tekście o płatnościach z przekierowaniem.
5. Dubel: ten sam zakup policzony dwa razy
Tu Meta pokazuje więcej niż sklep. Pixel i Conversions API wysyłają ten sam zakup bez wspólnego identyfikatora (event_id), albo strona podziękowania odpala zdarzenie przy każdym odświeżeniu. Meta deduplikuje tylko zdarzenia z tą samą nazwą i tym samym identyfikatorem, które dotrą w ciągu 48 godzin. Jak go znaleźć i naprawić, opisujemy w tekście Meta liczy zakupy podwójnie, a mechanizm identyfikatorów w deduplikacji zdarzeń.
6. Czas, waluta i wersja zdarzenia
Zamówienie złożone o 23:50 i opłacone o 00:10 trafia do dwóch różnych dni w zależności od tego, którą datę bierze raport. Strefa czasowa konta reklamowego i sklepu też bywa inna. Do tego dochodzą zdarzenia testowe zostawione w trybie testowym: nie liczą się jako prawdziwe zakupy. Przed porównaniem ustaw ten sam dzień, tę samą strefę i odrzuć zamówienia anulowane.
Jak to sprawdzić w 10 minut
- Wybierz jeden pełny dzień sprzed co najmniej dwóch dni i policz w sklepie opłacone zamówienia (bez anulowanych). Zapisz liczbę.
- Otwórz Menedżer zdarzeń, swój zbiór danych, i zobacz, ile zdarzeń Purchase odebrano tego dnia oraz skąd (przeglądarka, serwer). To jest liczba wszystkich odebranych zakupów, bez filtra atrybucji.
- Otwórz Menedżer reklam i zestaw zakupy z tym samym dniem. Sprawdź, jakie okno atrybucji ma raport.
- Rozpoznaj przypadek:
- zdarzeń Purchase mniej niż zamówień: coś gubi zakupy po drodze (przyczyny 2, 3, 4),
- zdarzeń Purchase więcej niż zamówień: dubel (przyczyna 5),
- zdarzeń Purchase tyle co zamówień, a wyników w Menedżerze reklam mniej: to różnica atrybucji (przyczyna 1). Wszystko działa, tylko liczy się inaczej.
- Zajrzyj do zakładki deduplikacji przy zdarzeniu Purchase. Meta pisze, że wyższy odsetek jest lepszy, a przy zbyt niskim pojawia się ostrzeżenie.
Co w tym robi Basketly
Basketly nie naprawia Pixela. Daje drugą, niezależną drogę dla zakupów i pokazuje, gdzie zakupy giną. Konkretnie:
- Zakup z zamówienia, nie z przeglądarki. Połączony sklep (Shoper, IdoSell, BaseLinker, WooCommerce, Shopify) jest odczytywany z serwera. Opłacone zamówienie staje się zakupem wysyłanym do Mety z serwera, więc nie zależy od zgody, blokera ani od tego, czy klient wrócił z banku. Zakup dostaje stały identyfikator zamówienia i kolejkę z ponawianiem.
- Konwersje → Bilans zakupów. Zamówienia sklepu, zakupy przyjęte przez Basketly i to, co przyjęła każda platforma, dzień po dniu, dla 7, 14 albo 30 dni. Widzisz, w którym dniu i na którym etapie jest luka. Opisaliśmy to w tekście o bilansie zakupów.
- Autodiagnostyka → Wysyłka do Meta. Po kliknięciu „Sprawdź teraz” Basketly porównuje statystyki Twojego zbioru danych, które podaje sama Meta, z tym, co rzeczywiście wysłał (ostatnie 24 godziny i 7 dni). Wyłączona wysyłka, tryb testowy, odrzucony token albo zaległe wysyłki pojawiają się tam jako konkretne pozycje z linkiem do naprawy.
- Zamówienia → kolumna Źródło. Obok każdego zamówienia widać kanał ostatniego kliknięcia według odczytu Basketly (Meta, Google Ads, poczta i inne). To własny odczyt wizyty klienta, a nie atrybucja Mety, więc nie musi się zgadzać z Menedżerem reklam. Szczegóły w tekście skąd jest zamówienie i która reklama sprzedała.
Efekt, który zobaczysz po podłączeniu: w Bilansie zakupów liczba zamówień sklepu stoi obok liczby zakupów przyjętych przez Metę, a ewentualna luka ma datę i powód.
Czego Basketly nie rozwiąże
- Okien atrybucji. Meta nadal przypisze zakup reklamie według własnych reguł. Basketly pokazuje obie liczby obok siebie, nie wyrównuje ich.
- Przypisania do reklamy. Przyjęcie zdarzenia przez Metę jest potwierdzeniem odbioru. Nie dowodzi, że kampania optymalizuje pod ten zakup ani że zakup przypisano konkretnej reklamie.
- Słabszych danych w zakupie z zamówienia. Zakup czytany z API sklepu nie niesie danych z przeglądarki (np. kliknięcia
fbc) i trafia do Mety jako zdarzenie generowane przez system. Skrypt Basketly w sklepie, uruchamiany po zgodzie klienta, może te dane dodać, ale bez zgody ich nie będzie. - Starych zakupów. Meta przyjmuje zdarzenia do 7 dni wstecz.
- Pixela w przeglądarce i wtyczki sklepu. Ich błędów nie poprawimy. Jeśli używasz obu kanałów, wspólny identyfikator zdarzenia musi być po obu stronach.
Następny krok
Zrób punkty 1 i 2 z listy powyżej dla wczorajszego dnia: to dwie liczby i trzy minuty. Jeśli chcesz zobaczyć, jak wygląda Bilans zakupów i Autodiagnostyka, otwórz demo. Gdy jesteś gotowy podłączyć własny sklep, załóż konto; plan Darmowy ma limit zamówień opisany w cenniku. Całość mechaniki wysyłki opisuje strona Meta Conversions API, a diagnozę strona Autodiagnostyka.
Źródła
- Meta for Developers: Ad Campaign Group Insights (parametr
action_attribution_windows, domyślne okno) - Meta for Developers: Deduplicate Pixel and Server Events (
event_idievent_name, okno 48 godzin) - Meta for Developers: Server Event Parameters (czas zdarzenia do 7 dni wstecz,
action_source) - Meta for Developers: Verifying Your Setup (zakładka deduplikacji w Menedżerze zdarzeń)
- Przelewy24: dokumentacja REST, opis
urlReturniurlStatus - Verilo: Pixel Facebooka w Shoperze (cytat z FAQ)
- r/FacebookAds: wątek o 4 i 7-8 zamówieniach, wątek o 278 i 346 zamówieniach, wątek o odmowie cookies
O autorze
Aleksander
Założyciel Basketly.io, BooksyAudit.pl i SMSPortal.app
Założył Basketly.io, BooksyAudit.pl i SMSPortal.app. W bazie wiedzy opisuje, jak przekazywać do Meta zakupy ze sklepu, jak dbać o katalog produktów i jak liczyć koszt zakupu z reklam.
Wszystkie artykuły autoraNajczęściej zadawane pytania
Jaka różnica między Meta a sklepem jest normalna?
Meta nie podaje progu, więc żadna liczba nie jest oficjalna. Jedna z agencji piszących o Shoperze ujmuje to tak: niewielka różnica jest normalna, duża zwykle oznacza błąd we wdrożeniu. Praktyczny test to stabilność: jeśli stosunek zakupów z Mety do zamówień jest podobny z tygodnia na tydzień, to najpewniej różnica atrybucji. Jeśli nagle spada albo skacze, szukaj awarii.
Czy Meta liczy wszystkie zakupy z mojego sklepu?
Nie. Menedżer reklam pokazuje zakupy przypisane reklamom w wybranym oknie atrybucji. Zamówienie od klienta, który przyszedł z newslettera, wyszukiwarki albo wpisał adres sam, nie musi się w nim pojawić. W Menedżerze zdarzeń widać natomiast wszystkie zdarzenia Purchase, które Meta odebrała, niezależnie od przypisania.
Jak sprawdzić, czy mam zdublowane zakupy?
W Menedżerze zdarzeń otwórz szczegóły zdarzenia Purchase i zakładkę deduplikacji. Meta pokazuje tam odsetek zdeduplikowanych zdarzeń i ostrzega, gdy jest za niski. Drugi test: porównaj liczbę zdarzeń Purchase z liczbą zamówień z tego samego dnia. Wyraźnie więcej zdarzeń niż zamówień to prawie na pewno dubel.
Czy Conversions API naprawi brakujące zakupy?
Naprawi te, które ginęły w przeglądarce, bo zakup wysłany z serwera nie zależy od blokera ani od powrotu klienta na stronę podziękowania. Nie naprawi różnicy okien atrybucji i nie zmusi Mety do przypisania zakupu reklamie. Przyjęcie zdarzenia przez Metę nie jest dowodem przypisania.
Czy Basketly sprawi, że liczby w Meta i w sklepie będą równe?
Nie. Basketly pokazuje obie liczby obok siebie i wskazuje, gdzie zakupy giną po drodze, ale nie wyrównuje ich. Różnica wynikająca z okien atrybucji Mety zostaje.
Do ilu dni wstecz mogę dosłać zgubione zakupy?
Według dokumentacji Meta czas zdarzenia może być starszy najwyżej o 7 dni od wysyłki. Starszych zakupów nie da się już dosłać, dlatego lukę warto sprawdzać co kilka dni.
