API konwersji: co daje i czego nie zastępuje
API konwersji przenosi zdarzenia z serwera do platformy reklamowej. Wyjaśniam, co zmienia, jak działa deduplikacja i czego nie naprawi.
Redakcja ADS BeastOpublikowano 8 min czytania
API konwersji to sposób przekazywania zdarzeń z serwera lub systemu CRM bezpośrednio do platformy reklamowej, z pominięciem przeglądarki. Daje kontrolę nad tym, które zdarzenia trafiają do systemu i jak są opisane. Nie zastępuje pomiaru po stronie przeglądarki ani konfiguracji konwersji w panelu reklamowym.
W skrócie
- API konwersji zmienia kanał wysyłki zdarzeń, nie liczbę konwersji.
- Serwerowe zdarzenia obejmują dane, których skrypt w przeglądarce nie widzi.
- Deduplikacja z pikselem działa po nazwie zdarzenia i zgodnym identyfikatorze.
- Konfiguracja konwersji w panelu (np. primary i secondary w Google Ads) to osobna sprawa.
- Błędnego modelu atrybucji ani nieaktualnych identyfikatorów API nie naprawi.
Co daje API konwersji reklamodawcy
API konwersji daje większą kontrolę nad tym, które zdarzenia trafiają do platformy i jak są opisane. Zdarzenie wysyła serwer, więc nie zależy ono od tego, czy przeglądarka wykonała skrypt, czy użytkownik zablokował go dodatkiem. To zmiana kanału, nie źródło dodatkowych konwersji.
Praktyczna różnica polega na tym, co można do zdarzenia dołączyć. Serwer widzi dane, do których skrypt w przeglądarce nie ma dostępu: status zamówienia w systemie, etap w CRM, wartość po korekcie, informację o zwrocie. Zdarzenie można wysłać w momencie, gdy transakcja faktycznie się wydarzyła, a nie w chwili kliknięcia przycisku.
Drugi efekt to odporność na przerwy w ścieżce po stronie przeglądarki. Jeśli użytkownik zamknie kartę przed wysłaniem zdarzenia, przeglądarka go nie wyśle. Serwer wyśle je niezależnie od tego, co dzieje się na urządzeniu. To nie znaczy, że zdarzeń będzie więcej niż transakcji, bo nadal obowiązuje zasada jedno zdarzenie na jedno zdarzenie w źródle.
Trzeci efekt to porządek w definicjach. Skoro zdarzenie opisujesz po stronie serwera, musisz ustalić, co dokładnie jest konwersją, jaką ma nazwę i jaki identyfikator. Ta praca często odsłania błędy, które wcześniej były niewidoczne: zdarzenia wysyłane dwa razy, zdarzenia bez wartości, zdarzenia przypisane do złej akcji.
Jak działa deduplikacja między pikselem a API
Deduplikacja to scalenie dwóch zgłoszeń tego samego zdarzenia w jedno. Platforma nie robi tego po treści zdarzenia, tylko po zgodnych identyfikatorach, które nadać musi strona wysyłająca. Bez nich widzi dwa osobne zdarzenia i nie ma podstaw, by je połączyć.
W Meta zdarzenie z przeglądarki i zdarzenie serwerowe łączą się w jedno po zgodności nazwy zdarzenia oraz identyfikatora event_id. Ten identyfikator trzeba nadać po obu stronach, przy tym samym zdarzeniu. Osobnego przełącznika do deduplikacji nie ma, działa ona na zasadzie dopasowania.
W Google Ads powtórzona konwersja z tym samym identyfikatorem transakcji lub zamówienia jest deduplikowana. Identyfikator musi być spójny dla wersji przeglądarkowej i serwerowej. Ta sama zasada dotyczy zgodnych źródeł: Google obsługuje jednoczesne przesyłanie z przeglądarki i z serwera, o ile identyfikatory się zgadzają.
Praktyczna kolejność wygląda tak:
- Ustal listę zdarzeń, które w ogóle chcesz mierzyć, i nadaj im jednoznaczne nazwy.
- Zdecyduj, które zdarzenie powstaje w przeglądarce, a które na serwerze.
- Wygeneruj identyfikator zdarzenia w miejscu, gdzie powstaje transakcja, i przekaż go obu stronom.
- Wyślij zdarzenie z przeglądarki i z serwera z tym samym identyfikatorem.
- Sprawdź w panelu, czy platforma widzi jedno zdarzenie, a nie dwa.
Krok trzeci jest tym, który najczęściej się rozjeżdża. Identyfikator wygenerowany osobno po każdej stronie to dwa różne identyfikatory, nawet jeśli zdarzenie opisuje ten sam zakup.
Czego API konwersji nie zastępuje
API konwersji nie zastępuje pomiaru po stronie przeglądarki. Część zdarzeń nadal powstaje w interakcji użytkownika ze stroną: dodanie do koszyka, rozpoczęcie formularza, kliknięcie w element, który nie jest transakcją. Te zdarzenia mają sens tam, gdzie się dzieją.
Nie zastępuje też konfiguracji konwersji w samym panelu reklamowym. W Google Ads o tym, czy akcja liczy się do kolumny Konwersje i wpływa na stawki, decyduje ustawienie primary lub secondary. Akcje secondary są widoczne w kolumnie All conversions. Sposób przesłania danych nie zmienia tego ustawienia. Dodatkowo rozdzielenie jednego zakupu na kilka akcji konwersji może zniekształcić podsumowanie, choć dwa źródła danych same w sobie nie dowodzą podwójnego liczenia.
Nie naprawia błędnego modelu atrybucji. Okno konwersji po kliknięciu w Google Ads wynosi domyślnie 30 dni i można je ustawić w zakresie od 1 do 90 dni. Ten sam okres może dawać różne liczby w zależności od tego, jak platforma przypisuje wynik do kampanii. Zmiana kanału wysyłki zdarzeń tego nie zmienia.
Nie naprawia również zdarzeń wysyłanych z nieaktualnymi identyfikatorami. Jeśli do zdarzenia trafia identyfikator, który po stronie CRM już nie istnieje albo został nadpisany, platforma dostanie opis, którego nie da się zweryfikować. To problem danych, nie transportu.
API konwersji a Measurement Protocol i inne ścieżki
Measurement Protocol to narzędzie do wysyłania zdarzeń serwerowych do GA4, a nie bezpośrednio do Google Ads. Import z GA4 i przekazywanie przez Google Ads API lub Data Manager to osobne drogi. Nie należy nazywać Measurement Protocol konfiguracją konwersyjnego działania Google Ads, bo nim nie jest.
Warto rozróżnić trzy warstwy, które łatwo pomieszać:
| Warstwa | Co robi | Czym nie jest |
|---|---|---|
| Piksel lub tag w przeglądarce | Wysyła zdarzenia z interakcji użytkownika ze stroną | Nie widzi danych z CRM ani statusu po zakupie |
| API konwersji | Przenosi zdarzenia z serwera lub CRM do platformy reklamowej | Nie zastępuje ustawień konwersji w panelu |
| Measurement Protocol | Wysyła zdarzenia serwerowe do GA4 | Nie jest bezpośrednim kanałem do Google Ads |
Zamówienie w sklepie może przejść przez wszystkie trzy warstwy jednocześnie i to jest w porządku, o ile identyfikatory są spójne. Problem zaczyna się wtedy, gdy każda warstwa opisuje to samo zdarzenie inaczej i platforma nie ma jak ich scalić.
Jak sprawdzić, czy API konwersji działa poprawnie
Zacznij od porównania liczby zdarzeń po stronie źródła z liczbą zdarzeń widocznych w panelu platformy. Sprawdź, czy identyfikatory zdarzeń oraz transakcji są kompletne i czy nie ma zdarzeń bez identyfikatora. Zmiana liczby konwersji to jeszcze nie dowód, że deduplikacja działa.
Testuj osobno trzy rzeczy, bo każda psuje wynik inaczej:
- Wysyłkę zdarzeń: czy zdarzenie w ogóle opuszcza serwer i dociera do platformy.
- Dopasowanie: czy platforma łączy zdarzenie z przeglądarkowym odpowiednikiem na podstawie identyfikatora.
- Przypisanie: czy zdarzenie trafia do właściwej akcji konwersji i właściwej kampanii.
Dopiero gdy wszystkie trzy elementy się zgadzają, można mówić o poprawnym pomiarze. Wcześniej każda zmiana liczby konwersji jest hipotezą, nie wynikiem.
Warto też ustalić, kto odpowiada za identyfikatory po stronie systemu źródłowego. Najczęstsza przyczyna problemów to nie błąd w API, tylko zmiana w sklepie lub CRM, która przestawiła sposób generowania identyfikatora. Nikt tego nie zauważył, bo zdarzenia nadal wychodziły.
Dlaczego samo wdrożenie API nie wystarcza
Samo wdrożenie API nie wystarcza, bo platformy rozliczają i raportują konwersje według własnych reguł. Google Ads domyślnie liczy konwersje w oknie 30 dni od kliknięcia, a akcje primary i secondary trafiają do innych kolumn. Te reguły działają niezależnie od tego, jak dane dotarły do systemu.
Do tego dochodzi definicja konwersji. Jeśli w panelu masz kilka akcji opisujących ten sam zakup, podsumowanie może być zniekształcone, nawet gdy każda z nich pojedynczo działa poprawnie. Sensowny pomiar wymaga uporządkowanych zdarzeń, spójnych identyfikatorów i jednej definicji konwersji, która obowiązuje po obu stronach.
Ostatni element to atrybucja. To, jak platforma przypisze wynik do kampanii, zależy od jej modelu i okna, nie od kanału wysyłki zdarzeń. Zdarzenie może dotrzeć bez zarzutu i nadal zostać przypisane inaczej, niż się spodziewasz. Więcej o tym, dlaczego ten sam okres daje różne liczby, opisaliśmy w artykule o oknie atrybucji i rozbieżnych wynikach.
Od czego zależy efekt wdrożenia
Efekt zależy przede wszystkim od jakości danych po stronie źródłowej, nie od samego API. Jeśli system CRM nie ma spójnego identyfikatora zamówienia albo nadpisuje go przy edycji, żadna warstwa transportowa tego nie poprawi.
Drugi czynnik to zakres zdarzeń. Im więcej zdarzeń opisujesz po stronie serwera, tym więcej musisz utrzymywać. Każde nowe zdarzenie to nowa nazwa, nowy identyfikator i nowe miejsce w definicji konwersji. Rozsądny zakres zwykle obejmuje transakcje i etapy, których przeglądarka nie widzi, a nie wszystko, co da się zmierzyć.
Trzeci czynnik to spójność między zespołami. Osoba wdrażająca API, osoba konfigurująca akcje konwersji w panelu i osoba pracująca na co dzień z kampaniami muszą mieć tę samą listę zdarzeń. Bez tego każda z nich patrzy na inne liczby i wyciąga inne wnioski.
Czwarty czynnik to czas. Dane serwerowe wymagają przetworzenia po stronie platformy, więc świeżość raportu bywa inna niż przy zdarzeniach z przeglądarki. To normalne i nie oznacza błędu.
Jak uporządkować zdarzenia i identyfikatory
Uporządkowanie zacznij od jednej tabeli, w której opiszesz każde zdarzenie: nazwę, miejsce powstania, identyfikator, wartość i akcję konwersji, do której ma trafiać. Ta tabela jest ważniejsza niż wybór narzędzia, bo bez niej nie ma czego wdrażać.
Przy okazji warto sprawdzić, czy parametry kampanii są przenoszone do systemu źródłowego w sposób, który pozwala je później odczytać. Jeśli do CRM trafia tylko ogólna informacja o źródle, żadne API tego nie odtworzy. Sposób tagowania, który faktycznie dociera do karty w CRM, opisaliśmy w artykule o UTM tagowaniu z zachowaniem danych w CRM.
Osobno przejrzyj zdarzenia telefoniczne. Połączenie nie powstaje w przeglądarce i wymaga własnego sposobu powiązania z kampanią. To temat, który często wypada z listy, a potem okazuje się, że brakuje całej kategorii konwersji. Zobacz, jak powiązać telefon z kampanią.
Na koniec ustal zasadę, która obowiązuje wszystkich: każde zdarzenie ma jeden identyfikator, wygenerowany w jednym miejscu, używany przez wszystkie kanały wysyłki. To najprostszy sposób, żeby uniknąć podwójnego rozliczenia. Szerzej opisaliśmy to w artykule o serwerowym przekazywaniu konwersji bez podwójnego rozliczenia.
Jeśli chcesz zobaczyć, jak wygląda kontrola nad zdarzeniami i budżetem w jednym miejscu, sprawdź moduł śledzenia i serwerowych konwersji. Znajdziesz tam opis kontroli budżetu, raportów z CPA, CTR, CPC i CPM oraz przekazywania konwersji z etapów CRM.