Meta mówi, że reklamy zarobiły 11 tys. Sklep pokazał 1,3 tys. Kto kłamie
Meta pokazuje inną sprzedaż niż WooCommerce? Realny przypadek: 11,8 tys. zł w panelu, 1,3 tys. zł w sklepie. Jak policzyć, czy reklamy się zwracają.

Klientka zapytała wprost: „czy ja tracę na tych reklamach?”. Menedżer Reklam Meta za sierpień pokazywał 11 841,81 zł sprzedaży przy 7 594,62 zł wydatku, czyli sukces. Konto bankowe opowiadało inną historię. Kiedy policzyliśmy to po swojemu, w sklepie było nowych zamówień z kliknięcia w reklamę za 1 318,70 zł. Prawie dziewięć razy mniej. Jeśli zastanawiasz się, dlaczego Meta pokazuje inną sprzedaż niż WooCommerce i komu wierzyć przy decyzji o budżecie, poniżej jest cała droga: od rozjazdu w liczbach, przez pięć ślepych uliczek, do raportu, który mówi, gdzie naprawdę są pieniądze.
Kontekst: platforma kursowa, raty i budżet na reklamy
Klientka prowadzi platformę kursową na WooCommerce z WooCommerce Subscriptions. Część kursów sprzedaje jednorazowo, część w ratach, a klientki często wracają po kolejne produkty. Reklamy Meta (Facebook i Instagram) kosztowały ją w sierpniu ponad 7,5 tys. zł. Stawka była prosta: zwiększyć budżet, zostawić go, czy wyłączyć kampanie.
Panel Mety podpowiadał „zwiększaj”. Intuicja podpowiadała „coś tu nie gra”. Potrzebna była liczba, której da się uczciwie bronić.
Diagnoza: gdzie rozjeżdżają się liczby Mety i sklepu
Najpierw sprawdziliśmy koszty. Wydatek pobrany przez API konta reklamowego zgadzał się z panelem co do grosza. Problem nie leżał więc po stronie tego, ile kosztowały reklamy, tylko po stronie tego, którą sprzedaż Meta uznaje za swoją.
Meta domyślnie przypisuje sobie zakup, jeśli nastąpił w ciągu 7 dni od kliknięcia w reklamę albo 1 dnia od samego jej wyświetlenia. W praktyce oznacza to, że osoba, która i tak miała kupić, przewinęła po drodze reklamę na Instagramie i nie kliknęła, trafia do raportu jako sukces kampanii. Przy klientkach, które wracają same, takich „zakupów po wyświetleniu” jest sporo.
Sprawdziliśmy też drugą typową przyczynę zawyżenia: czy piksel nie zgłasza do Mety rat subskrypcji. Nie zgłaszał. Zdarzenie zakupu było wysyłane tylko ze strony podziękowania po złożeniu zamówienia, a raty pobierane automatycznie przez nią nie przechodzą. Rozjazd brał się więc z samego modelu atrybucji, a nie z błędu w pikselu.
Skoro panel Mety nie nadaje się do odpowiedzi na pytanie klientki, trzeba było policzyć sprzedaż od strony sklepu. Po drodze trafiliśmy na pięć ślepych uliczek.
Ślepa uliczka 1: szukanie ID reklamy w ustawieniach reklamy
Chcieliśmy przypiąć każde zamówienie do konkretnej reklamy. Pierwszy pomysł: parametry URL ustawione w kreacji. Pole było puste. Okazało się, że Meta sama dokleja do linku parametry UTM z identyfikatorami, bez żadnej konfiguracji po stronie reklamodawcy:
?utm_source=fb&utm_medium=paid
&utm_campaign=ID_KAMPANII&utm_term=ID_ZESTAWU&utm_content=ID_REKLAMY
WooCommerce z włączonym śledzeniem źródła zamówień (Order Attribution) zapisuje je w metadanych zamówienia, na przykład _wc_order_attribution_utm_content. Dane były w sklepie od początku, tylko nikt ich nie czytał.
Ślepa uliczka 2: produkt, którego nie ma w linku
Część reklam prowadziła na landing zbudowany w CartFlows. Przycisk zakupu prowadzi tam na krok koszyka, a nie na produkt, więc z samego adresu nie wynikało, co było reklamowane. Raport pokazywał „nie rozpoznano produktu”. Produkt siedzi w ustawieniach kroku CartFlows i stamtąd trzeba go odczytać.
Ślepa uliczka 3: rata policzona jako nowa sprzedaż
Jedna z klientek kliknęła reklamę, a przy okazji zapłaciła kolejną ratę subskrypcji. Zamówienie miało więc i UTM z reklamy, i oznaczenie odnowienia subskrypcji. Pierwsza wersja raportu liczyła je dwa razy. Poprawka: najpierw sprawdzamy, czy zamówienie jest odnowieniem (_subscription_renewal). Rata to rata, niezależnie od tego, skąd klientka przyszła.
Ślepa uliczka 4: stara klientka oddaje reklamie wszystko
Każda klientka, która kiedykolwiek kliknęła reklamę, przypisywała reklamom wszystkie swoje późniejsze zakupy, także te sprzed kliknięcia. Wprowadziliśmy prostą zasadę: klientka jest „pozyskana z reklamy” tylko wtedy, gdy kliknięcie nastąpiło nie później niż jej pierwszy zakup w ogóle.
Ślepa uliczka 5: cache, który zjadał skrypt śledzący
Po dodaniu własnego skryptu śledzącego wejścia wtyczka cache strony podawała zapisaną wcześniej wersję HTML także dla adresów z utm_ i fbclid. Czyli wersję bez skryptu. Kliknięcia z reklam nie byłyby łapane wcale, a raport pokazywałby spokojne zero. Od tej pory wtyczka sama czyści cache stron przy aktywacji i przy każdej nowej wersji.
Jeśli nie masz czasu rozplątywać takich zależności samodzielnie, właśnie tym zajmujemy się przy automatyzacji procesów i raportów dla firm.
Moment odkrycia: reklama zarabia, ale nie na pierwszym zakupie
Panel Mety odpowiada na pytanie „przy ilu zakupach reklama była gdzieś w pobliżu”. Właścicielka sklepu potrzebuje odpowiedzi na inne pytanie: „ile pieniędzy przyniosły osoby, które przyszły z reklamy, i kiedy”.
Kiedy rozdzieliliśmy sprzedaż na trzy koszyki, obraz zmienił się całkowicie. Nowa sprzedaż z kliknięcia w reklamę nie pokrywała kosztów kampanii. Ale klientki pozyskane z reklam wcześniej płaciły kolejne raty i wracały po droższe produkty. Pieniądze przychodziły, tylko w innym miesiącu i innym kanałem niż ten, który pokazywał panel.
Rozwiązanie: raport liczony ze sklepu, nie z panelu reklam
Napisaliśmy dla klientki własną wtyczkę do WordPressa, która łączy dwa źródła danych w jednym widoku w panelu administracyjnym:
- Z konta reklamowego pobiera tylko wydatki – kampanie, zestawy, reklamy, dzień po dniu. Uprawnienie wyłącznie do odczytu, zero wysyłania jakichkolwiek danych klientek do Mety.
- Sprzedaż liczy z zamówień WooCommerce, przypinając je do konkretnej reklamy po identyfikatorze z UTM.
- Pokazuje trzy miary obok siebie: „realnie sprzedane” (zamówienia z kliknięcia w reklamę, dolna granica), „Meta twierdzi” (to, co raportuje panel) i „wszystkie źródła” reklamowanych produktów (górna granica).
- Osobno wykazuje raty i odnowienia oraz powtórne zakupy klientek, które kiedyś przyszły z reklamy.
- Daje dwa modele: ostatnie i pierwsze kliknięcie w reklamę w oknie 90 dni, podział na nowe i powracające klientki oraz koszt pozyskania jednej klientki.
Dodatkowo wtyczka ma własne, proste śledzenie wejść: zapisuje, z jakiej reklamy ktoś przyszedł, i łączy to z zamówieniem po adresie e-mail (przechowywanym w postaci skrótu, nie otwartym tekstem). Dzięki temu klientka, która kliknęła reklamę w poniedziałek, a kupiła w piątek z zakładki, nadal jest przypisana do właściwej kampanii.
Jak zweryfikować, że to działa: otwórz landing z reklamy bez parametrów i sprawdź w źródle strony, czy skrypt śledzący jest obecny. Potem złóż testowe zamówienie z linku z utm_content i sprawdź, czy w szczegółach zamówienia widać źródło. Jeśli którykolwiek krok zawodzi, raport będzie pokazywał zaniżone liczby i nikt tego nie zauważy.
Efekt: ta sama kampania, zupełnie inna decyzja
Sierpień u klientki po wszystkich poprawkach:
- nowa sprzedaż z kliknięcia w reklamę: 12 zamówień, 1 318,70 zł,
- raty od klientek pozyskanych z reklam: 4 płatności, 3 340,65 zł,
- powtórne zakupy tych klientek: 4 zamówienia, 7 208,13 zł.
Samo pozyskiwanie nowych klientek było w tym miesiącu na minusie: 6 275,92 zł pod kreską. Po doliczeniu rat i powtórnych zakupów osób, które kiedyś przyszły z reklam, wynik wyszedł na plus 4 272,86 zł. Reklamy nie zarabiały na pierwszej sprzedaży. Zarabiały na kolejnych płatnościach tej samej osoby.
To zupełnie inna decyzja niż ta, którą sugerował panel Mety. Zamiast „podnieś budżet, bo zwrot jest świetny” rozmowa dotyczy tego, jak skrócić drogę od pierwszego, taniego zakupu do drugiego, droższego, i które reklamy przyprowadzają klientki, które później zostają. Podobny problem z liczeniem rat opisaliśmy we wpisie o tym, gdy zamówienie ma status failed, a klient zapłacił.
Jak sprawdzić u siebie, czy Meta zawyża sprzedaż
- Sprawdź, czy w WooCommerce masz włączone śledzenie źródła zamówień i czy w szczegółach zamówień widać źródło oraz parametry UTM.
- Otwórz kilka zamówień z ostatniego miesiąca, które przyszły z Facebooka albo Instagrama, i porównaj ich sumę z tym, co pokazuje Menedżer Reklam za ten sam okres.
- Sprawdź okno atrybucji w ustawieniach raportu Mety. Zakupy „po wyświetleniu” to te, które najczęściej zawyżają wynik.
- Jeśli sprzedajesz w ratach albo subskrypcjach, upewnij się, że raty nie trafiają do żadnego zestawienia jako nowa sprzedaż.
- Otwórz landing z reklamy z parametrem
?utm_source=testw trybie prywatnym i sprawdź w źródle strony, czy skrypty śledzące są na miejscu, a nie wycięte przez cache. - Policz osobno: nowe klientki z reklam, ich kolejne zakupy i raty. Dopiero suma mówi, czy reklama się zwraca.
Czego nauczyła nas ta historia
Panel reklamowy liczy w interesie platformy reklamowej, a nie w interesie sklepu. To nie jest kłamstwo, tylko inna definicja sukcesu. Do decyzji o budżecie potrzebna jest liczba z kasy sklepu, rozbita na pierwszą sprzedaż i to, co ta sama klientka przyniosła później. Od tej pory przy każdym sklepie z płatnymi reklamami zaczynamy od sprawdzenia, czy zamówienia w ogóle mają zapisane źródło – bez tego żadna analiza nie ma sensu.
Jeśli sprzedajesz kursy online, więcej o tym, jak poukładać sprzedaż, raty i dostęp do treści, znajdziesz na platformykursowe.pl.
FAQ
Dlaczego Meta pokazuje więcej sprzedaży niż WooCommerce?
Bo domyślnie przypisuje sobie zakupy dokonane do 7 dni po kliknięciu i do 1 dnia po samym wyświetleniu reklamy. Osoba, która i tak by kupiła, a po drodze zobaczyła reklamę, trafia do raportu jako konwersja. WooCommerce zapisuje tylko faktyczne źródło wejścia przy zamówieniu.
Czy trzeba ustawiać parametry UTM w reklamach Meta?
W opisanym przypadku nie było to potrzebne. Meta sama dokleiła do linków parametry z identyfikatorem kampanii, zestawu i reklamy, a WooCommerce zapisał je w zamówieniu. Warto to jednak sprawdzić na własnym koncie, otwierając kilka zamówień z reklam.
Czy raty subskrypcji zawyżają wyniki w Menedżerze Reklam?
Zwykle nie, jeśli piksel wysyła zdarzenie zakupu tylko ze strony podziękowania. Raty pobierane automatycznie nie przechodzą przez tę stronę. Zawyżają za to własne zestawienia sklepu, jeśli nie oddziela się ich od nowej sprzedaży.
Czy taki raport wymaga wysyłania danych klientów do Mety?
Nie. W naszym rozwiązaniu wtyczka tylko odczytuje wydatki z konta reklamowego. Cała sprzedaż jest liczona lokalnie, w sklepie, a adresy e-mail do łączenia wizyt z zamówieniami są przechowywane jako skrót.
Które okno atrybucji jest właściwe?
Nie ma jednego właściwego. Dlatego pokazujemy kilka miar obok siebie: dolną granicę z faktycznych kliknięć, to, co twierdzi Meta, oraz górną granicę ze wszystkich źródeł. Decyzję o budżecie łatwiej podjąć, widząc cały przedział, niż jedną liczbę.
Co, jeśli używam cache na stronie?
Sprawdź, czy cache nie podaje zapisanej wersji strony dla adresów z parametrami utm_ i fbclid. Jeśli skrypt śledzący został dodany po zapisaniu strony w cache, wejścia z reklam mogą w ogóle nie być rejestrowane.
Chcesz wiedzieć, ile naprawdę zarabiają Twoje reklamy? Napisz do nas
Masz sklep albo platformę kursową na WooCommerce, płacisz za reklamy Meta i nie wiesz, czy liczby w panelu mają pokrycie w kasie? Budujemy raporty, które liczą sprzedaż ze sklepu, oddzielają raty od nowych klientek i pokazują, które kampanie przyprowadzają osoby, które zostają. Zobacz też, jak budujemy sklepy internetowe na WooCommerce.



