Poradnik
OpenAI Conversions API (API konwersji) w WooCommerce
OpenAI Conversions API pozwala sklepowi WooCommerce wysyłać konwersje ChatGPT Ads z własnego serwera zamiast z przeglądarki klienta. W sklepie najważniejszą konwersją jest zakup: gdy WooCommerce oznaczy zamówienie jako opłacone, zamówienie istnieje niezależnie od tego, czy zgłosił je skrypt w przeglądarce. Ten poradnik wyjaśnia, jak działa pomiar zakupu po stronie serwera, z czym musi sobie radzić poprawne wdrożenie i czego nie da się nim naprawić.
Aktualizacja
Na tej stronie
W jednym akapicie: wysyłaj order_created z WooCommerce, gdy zamówienie osiągnie status opłaconego – z tym samym event ID, którego piksel w przeglądarce użył dla tego zamówienia, z pierwotnym czasem zakupu i z kluczem API trzymanym na serwerze. Chwilowe błędy ponawiaj z tym samym ID i zapisuj, co stało się z każdym zamówieniem.
Architektura
Pomiar zakupu po stronie serwera w skrócie
Ze sklepu wychodzą dwie ścieżki. Ścieżka przeglądarki obejmuje całą drogę klienta do zakupu, a ścieżka serwera – opłacone zamówienie.
W przeglądarce Measurement Pixel wysyła wyświetlenia produktów, dodania do koszyka, rozpoczęcia zamówienia i zakup. Gdy WooCommerce potwierdzi opłacenie zamówienia, zakup jest dodatkowo wysyłany z Twojego serwera przez OpenAI Conversions API (API konwersji) z tym samym event ID, dzięki czemu OpenAI może policzyć go raz.
Przeglądarka klienta
Ogląda produkty, dodaje do koszyka, składa zamówienie
Sklep WooCommerce
Produkty, koszyk, strona zamówienia i zamówienia
W przeglądarce
Measurement Pixel
contents_viewed, items_added, checkout_started, order_created
OpenAI
Odbiera zdarzenia z przeglądarki
Na Twoim serwerze
Zamówienie opłacone
Zmiana statusu w WooCommerce
Wtyczka wysyła order_created
Ten sam event ID · ponowienia · diagnostyka
Conversions API
Uwierzytelnienie Twoim kluczem API
Jeden zakup policzony
OpenAI dopasowuje Pixel ID, nazwę zdarzenia i event ID, a późniejszy duplikat pomija.
Czego nie widzi pomiar w przeglądarce
Measurement Pixel działa w przeglądarce klienta. Tylko tam widać wyświetlenia produktów i aktywność w koszyku, ale to oznacza też, że zdarzenie przepada za każdym razem, gdy strona się nie załaduje albo skrypt nie wykona się do końca:
- Blokery treści lub narzędzia prywatności nie pozwalają załadować skryptu piksela.
- Klient zamyka kartę po zapłacie, zanim załaduje się strona „Zamówienie otrzymane”.
- Płatność zostaje potwierdzona później – przelew tradycyjny, niektóre bramki z przekierowaniem – gdy klienta nie ma już w sklepie.
- Przy wolnym lub nieudanym ładowaniu strony żądanie się gubi.
W każdym z tych przypadków WooCommerce i tak zapisuje zamówienie. Zdarzenie zakupu po stronie serwera wychodzi od tego zamówienia, więc żadna z tych sytuacji nie blokuje jego wysłania.
Jak działa Conversions API
Twój serwer wysyła do OpenAI uwierzytelnione żądanie HTTPS z jednym lub kilkoma zdarzeniami. Żądanie jest adresowane Twoim Pixel ID i autoryzowane kluczem Conversions API – oba generujesz w zakładce konwersji w Ads Manager (dokumentacja OpenAI Conversions API; dokumentacja OpenAI jest dostępna po angielsku).
| Pole | Co zawiera dla zakupu w WooCommerce |
|---|---|
event_name | order_created – dokonany zakup |
id | Event ID. Musi być zgodny ze zdarzeniem z przeglądarki dla tego samego zamówienia. |
timestamp_ms | Moment zakupu w milisekundach. |
action_source | web dla sklepu internetowego |
Tylko z serwera
OpenAI zaleca wysyłanie zdarzeń do Conversions API wyłącznie z serwera, a dokumentacja piksela dodaje, że serwerowego API nie należy wywoływać bezpośrednio z kodu strony. Klucz API nigdy nie może trafić do przeglądarki.
Kiedy wysyłać zakup
Wysyłaj go, gdy WooCommerce zmieni status zamówienia na opłacone – a nie wtedy, gdy wyświetli się strona „Zamówienie otrzymane”. Powiązanie zdarzenia ze statusem zamówienia, a nie z odsłoną strony, oznacza, że:
- Zdarzenie wysyła się raz na zamówienie, niezależnie od tego, ile razy ktoś odświeży stronę podziękowania.
- Metody płatności z opóźnionym potwierdzeniem wysyłają zakup dopiero wtedy, gdy płatność zostanie faktycznie potwierdzona.
- Zamówienia nieopłacone, nieudane lub porzucone nie są raportowane jako zakupy.
Zamówienie złożone
WooCommerce tworzy zamówienie
Płatność potwierdzona
Zamówienie osiąga status opłaconego
Zakup wysłany
order_created z Twojego serwera
Wynik zapisany
Przyjęty, ponawiany lub nieudany
Event ID i deduplikacja
Jeśli zakup jest wysyłany z przeglądarki i z serwera, OpenAI musi wiedzieć, że to jeden zakup. Według dokumentacji OpenAI do deduplikacji służą Pixel ID, nazwa zdarzenia (event_name) i identyfikator (id): liczy się pierwsze zdarzenie otrzymane dla pasującego klucza, a późniejsze duplikaty są pomijane.
Dlatego event ID musi być identyczny na obu ścieżkach. W WooCommerce najpewniej jest wyliczyć go z zamówienia, które znają zarówno strona „Zamówienie otrzymane”, jak i serwer, zamiast generować w przeglądarce losowy identyfikator, którego serwer nigdy nie zobaczy. Poradnik „Piksel czy Conversions API” pokazuje, jak obie ścieżki się uzupełniają.
Przeglądarka · piksel
Zakup
Wspólny event ID wyliczony z zamówienia WooCommerce
Serwer · Conversions API
Zakup
Wspólny event ID wyliczony z zamówienia WooCommerce
Jedna konwersja
Ten sam Pixel ID, nazwa zdarzenia i ID: OpenAI zachowuje pierwsze zdarzenie, a duplikat pomija.
Zasada 7 dni
OpenAI odrzuca zdarzenia spoza okna czasowego: znacznik czasu musi mieścić się w ostatnich 7 dniach i nie może wybiegać więcej niż 10 minut w przyszłość. Dla sklepu wynikają z tego dwie rzeczy:
7 dni
najstarszy akceptowany czas zakupu
10 minut
maksymalnie w przyszłość
- Wysyłaj pierwotny czas zakupu, a nie czas próby wysyłki – inaczej ponowione zdarzenie wskaże późniejszy czas zakupu niż rzeczywisty.
- Szybko naprawiaj nieudane wysyłki. Zamówienia, którego czas zakupu jest starszy niż 7 dni, nie da się już wysłać.
API przyjmuje też paczki do 1000 zdarzeń, a według dokumentacji błąd jednego zdarzenia w paczce powoduje odrzucenie całej paczki – jedno wadliwe zamówienie może więc zablokować inne, jeśli wdrożenie grupuje zdarzenia nieostrożnie.
Ponowienia i błędy
Dokumentacja OpenAI zaleca używanie tego samego ID przy ponawianiu wysyłki lub przy wysyłaniu tej samej konwersji przez inną integrację. Nie publikuje harmonogramu ponowień, więc zasady zależą od wdrożenia. Rozsądne podejście rozróżnia:
| Błąd | Przykład | Obsługa |
|---|---|---|
| Chwilowy | Przekroczony limit czasu, limit zapytań (429), błąd serwera (5xx) | Automatyczne ponowienie z tym samym ID |
| Konfiguracja | Odrzucony klucz API (401) | Popraw ustawienie, potem wyślij ponownie |
| Sieć | Serwer nie może połączyć się z API | Popraw reguły wychodzących połączeń HTTPS lub firewalla |
Niezależnie od przyjętych zasad błąd musi być gdzieś widoczny. Bez zapisu dla każdego zamówienia zepsuta integracja wygląda dokładnie jak spokojny tydzień sprzedaży.
Zgody
Wysyłka z serwera nie jest sposobem na obejście zgód. Sam piksel nie wysyła pingów pomiarowych, gdy zgoda ma wartość false (dokumentacja Measurement Pixel), a zakup wysyłany z serwera powinien respektować stan zgody zapisany dla danego zamówienia. W WordPressie baner zgód najczęściej przekazuje ten stan innym wtyczkom przez WordPress Consent API.
Jak robi to Pixel for ChatGPT Ads
Pixel for ChatGPT Ads to wtyczka WooCommerce, która z serwera wysyła wyłącznie zakup. Oto, jak obsługuje każdy z powyższych punktów:
| Kwestia | Działanie |
|---|---|
| Zdarzenie wysyłane z serwera | order_created – i tylko ono |
| Wyzwalacz | Zamówienie osiąga w WooCommerce status opłaconego |
| Event ID | Wyliczany z zamówienia; ten sam co przy zakupie z przeglądarki |
| Czas zakupu | Wysyłany jest pierwotny czas zakupu |
| Chwilowe błędy | Ponawiane automatycznie |
| Widoczność | Stan wysyłki, liczba prób i status HTTP dla każdego zamówienia |
| Ręczna ponowna wysyłka | Dostępna dla kwalifikujących się zamówień po usunięciu przyczyny |
| Klucz API | Zapisany do użytku po stronie serwera; nigdy nie trafia do kodu strony |
| Zgody | Używa stanu zgody zapisanego dla zamówienia (WordPress Consent API) |
| Zapis zamówień | Obsługiwane zarówno HPOS, jak i starszy zapis zamówień |
Ścieżka zakupu po stronie serwera w wykonaniu wtyczki.
- 1Punktem wyjścia jest opłacone zamówienie w WooCommerce – nie przeglądarka klienta.
- 2Zakup trafia z Twojego sklepu do OpenAI Conversions API.
- 3Zablokowane skrypty, zamknięte karty i blokery treści nie zatrzymują tej ścieżki.
Wyświetlenia produktów, dodania do koszyka i rozpoczęcia zamówienia pozostają zdarzeniami z przeglądarki. Strona Piksel ChatGPT Ads dla WooCommerce wymienia każde zdarzenie i miejsce, z którego jest wysyłane.
Oczekiwania
W czym pomaga pomiar po stronie serwera, a czego nie rozwiązuje
Wysyłka z serwera sprawia, że zakup dociera pewniej. Nie jest jednak lekarstwem na wszystko.
W czym pomaga pomiar po stronie serwera
- Zakupy, których zdarzenie w przeglądarce zablokował bloker treści.
- Klienci, którzy zamykają kartę po zapłacie.
- Płatności potwierdzane później, gdy klient opuścił już sklep.
- Podgląd, ponawianie i ponowna wysyłka nieudanych zdarzeń dla każdego zamówienia.
Czego nie rozwiązuje
- Nie decyduje o atrybucji. To, czy zakup zostanie przypisany do reklamy w ChatGPT, rozstrzyga OpenAI, a nie sposób dostarczenia zdarzenia.
- Nie odzyskuje zdarzeń dostępnych tylko w przeglądarce. Wyświetlenia produktów i aktywność w koszyku nadal wymagają przeglądarki.
- Nie omija zgód. Zamówienia bez zgody marketingowej nie są wysyłane.
- Nie naprawia drugiego, niezarządzanego piksela. Duplikaty bez wspólnych ID nadal liczą konwersje podwójnie.
- Nie gwarantuje każdej konwersji. Usuwa przeglądarkę jako jedyny punkt awarii dla zakupu.
Pytania
Czy Conversions API jest wymagane w ChatGPT Ads?
OpenAI obsługuje pomiar konwersji pikselem, przez Conversions API lub obiema metodami naraz (przegląd pomiaru konwersji). W sklepie wysyłanie zakupu obiema drogami ze wspólnym ID daje mu ścieżkę niezależną od przeglądarki.
Czy mogę wywołać Conversions API z JavaScriptu na stronie podziękowania?
Nie. W ten sposób klucz API trafiłby do przeglądarki, a pomiar i tak zależałby od przeglądarki. OpenAI zaleca piksel w przeglądarce i Conversions API z serwera.
Czy pomiar po stronie serwera wymaga kontenerów serwerowych Google Tag Managera?
Nie. WooCommerce i tak działa na serwerze; wtyczka może wysłać zakup bezpośrednio z WordPressa.
Czy ta wtyczka wysyła dodanie do koszyka z serwera?
Nie. Z serwera wysyłany jest tylko zakup. Pozostałe trzy zdarzenia pochodzą z przeglądarki.
Zakupy z serwera bez budowania integracji
Pixel for ChatGPT Ads obsługuje w WooCommerce wyzwalacz, event ID, ponowienia i diagnostykę każdego zamówienia. Te same funkcje w każdym planie.
Powiązane poradniki
- Piksel ChatGPT Ads dla WooCommerceCo wtyczka wysyła do ChatGPT Ads ze sklepu WooCommerce, jak ją skonfigurować i czego nie robi.
- Piksel ChatGPT Ads czy Conversions API – czym się różnią?Porównanie pomiaru ChatGPT Ads w przeglądarce i na serwerze oraz powód, dla którego sklep używa obu.
- Jak zainstalować piksel ChatGPT Ads w sklepie WooCommerceWymagania, skąd wziąć Pixel ID i klucz API, konfiguracja oraz sprawdzenie pierwszego zamówienia.