Przejdź do treści

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.

Klient robi zakupy w sklepie WooCommerce w swojej przeglądarce. Tam Measurement Pixel wysyła do OpenAI wyświetlenia produktów, dodania do koszyka, rozpoczęcia zamówienia i zakup. Gdy WooCommerce oznaczy zamówienie jako opłacone, wtyczka wysyła zakup z serwera do OpenAI Conversions API. OpenAI deduplikuje oba zakupy po event ID.

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).

Najważniejsze pola zdarzenia zakupu w Conversions API
PoleCo zawiera dla zakupu w WooCommerce
event_nameorder_created – dokonany zakup
idEvent ID. Musi być zgodny ze zdarzeniem z przeglądarki dla tego samego zamówienia.
timestamp_msMoment zakupu w milisekundach.
action_sourceweb 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.
  1. Zamówienie złożone

    WooCommerce tworzy zamówienie

  2. Płatność potwierdzona

    Zamówienie osiąga status opłaconego

  3. Zakup wysłany

    order_created z Twojego serwera

  4. 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ą.

Zakup z przeglądarki i zakup z serwera dla tego samego zamówienia mają ten sam event ID. OpenAI zachowuje pierwszy, który otrzyma, a duplikat pomija, więc zamówienie liczy się jako jedna konwersja.

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:

Rodzaje błędów wysyłki i sposób ich obsługi
BłądPrzykładObsługa
ChwilowyPrzekroczony limit czasu, limit zapytań (429), błąd serwera (5xx)Automatyczne ponowienie z tym samym ID
KonfiguracjaOdrzucony klucz API (401)Popraw ustawienie, potem wyślij ponownie
SiećSerwer nie może połączyć się z APIPopraw 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.

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:

Obsługa zakupu po stronie serwera w Pixel for ChatGPT Ads
KwestiaDziałanie
Zdarzenie wysyłane z serweraorder_created – i tylko ono
WyzwalaczZamówienie osiąga w WooCommerce status opłaconego
Event IDWyliczany z zamówienia; ten sam co przy zakupie z przeglądarki
Czas zakupuWysyłany jest pierwotny czas zakupu
Chwilowe błędyPonawiane automatycznie
WidocznośćStan wysyłki, liczba prób i status HTTP dla każdego zamówienia
Ręczna ponowna wysyłkaDostępna dla kwalifikujących się zamówień po usunięciu przyczyny
Klucz APIZapisany do użytku po stronie serwera; nigdy nie trafia do kodu strony
ZgodyUż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.

  1. 1Punktem wyjścia jest opłacone zamówienie w WooCommerce – nie przeglądarka klienta.
  2. 2Zakup trafia z Twojego sklepu do OpenAI Conversions API.
  3. 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.