Skip to content
MJ Marketing
Tracking ChatGPT Ads z pikselem OpenAI, zdarzeniami standardowymi i Conversions API
Tracking i Analytics
9 min read
Mijo Jurisic

Tracking ChatGPT Ads: jak wdrożyć piksel i Conversions API

Bez pomiaru nie ma optymalizacji. Jak poprawnie wdrożyć piksel OpenAI, zdarzenia standardowe i Conversions API w ChatGPT Ads.

TL;DR

ChatGPT Ads potrafi optymalizować pod konwersje tylko wtedy, gdy działa piksel albo Conversions API i przychodzi przynajmniej jedno zdarzenie standardowe: celu i zdarzenia nie da się zmienić po utworzeniu kampanii, więc decyzja zapada wcześniej. Ten artykuł pokazuje wszystkie elementy, od piksela oaiq przez zdarzenia standardowe i deduplikację po event_id aż po odblokowanie robotów OpenAI, a do tego kwestię zgody i punkty, których OpenAI obecnie nie dokumentuje.

Udostępnij:

Są dwa sposoby na start z ChatGPT Ads. Pierwszy: utworzyć kampanię, ustawić budżet, puścić i po trzech tygodniach sprawdzić na wyczucie, czy coś się wydarzyło. Drugi: najpierw móc mierzyć, potem wydawać pieniądze.

Różnica jest w tym kanale większa niż zwykle, bo jednej decyzji po utworzeniu kampanii nie da się już cofnąć.

Dlaczego pomiar stoi przed pierwszą kampanią

ChatGPT Ads zna trzy cele: CPM dla zasięgu, CPC dla kliknięć i oCPC dla konwersji. Przy ostatnim nadal płacisz za ważne kliknięcie, ale emisja jest optymalizowana pod jedno wybrane zdarzenie konwersji.

Właśnie dla niego OpenAI stawia twardy warunek: piksel i/lub Conversions API oraz przynajmniej jedno zdarzenie standardowe. Do tego dochodzą dwa ograniczenia z centrum pomocy, które warto znać, zanim się kliknie: celu i zdarzenia konwersji nie da się zmienić po utworzeniu kampanii, a istniejących kampanii CPM lub CPC nie da się przestawić na oCPC. Kto startuje bez pomiaru, buduje kampanię później od nowa.

Do tego dochodzi logika stawek. W nowych grupach reklam standardem jest „maximize results", czyli stawki automatyczne. OpenAI wyraźnie nie obiecuje przy tym żadnej gwarancji CPA ani ROAS. Jak przy każdym systemie automatycznym: jest tak mądry, jak dane, które dostaje.

Elementy układanki

Piksel. SDK przeglądarkowe o nazwie oaiq, które OpenAI serwuje z bzrcdn.openai.com/sdk/oaiq.min.js. Na początek wystarczą dwie komendy: init łączy stronę z Twoim źródłem danych przez pixelId, measure zgłasza zdarzenie.

Zdarzenia standardowe. OpenAI podaje zamkniętą listę. Te istotne dla większości firm:

ZdarzenieCo oznacza
lead_createdZapytanie z formularza, prośba o kontakt, prośba o ofertę
appointment_scheduledUmówiony termin, na przykład przez link do kalendarza
order_createdZamówienie w sklepie zakończone
registration_completedRejestracja zakończona
trial_startedRozpoczęty okres testowy
checkout_startedRozpoczęty, ale niezakończony proces zakupu

Lista jest dłuższa, są na niej między innymi subscription_created i page_viewed. Dla optymalizacji liczy się jednak tylko to jedno zdarzenie, które ustawisz w kampanii jako cel, i powinno to być zdarzenie leżące najbliżej Twojego przychodu.

Conversions API. Ta sama droga zgłaszania, tylko z Twojego serwera zamiast z przeglądarki. Jest niezależna od blokerów reklam, ustawień przeglądarki i krótko żyjących ciasteczek. OpenAI opisuje piksel i API jako możliwe do połączenia.

event_id. Klucz do tego połączenia. Jeśli przeglądarka i serwer zgłoszą to samo zdarzenie z tym samym event_id, OpenAI zdeduplikuje. Bez wspólnego identyfikatora liczysz podwójnie, a optymalizacja uczy się na błędnych liczbach.

Referencja kliknięcia oppref. Przy kliknięciu OpenAI dokleja do adresu Twojej strony docelowej parametr oppref, a piksel zapisuje go jako ciasteczko first-party. Dzięki temu konwersję, która wydarzy się dopiero po kilku dniach, da się przypisać do pierwotnego kliknięcia.

Automatyczny advanced matching. Piksel rozpoznaje dane z formularza, haszuje je algorytmem SHA-256 już w przeglądarce i wysyła wyłącznie hasze. Według OpenAI dane surowe nie trafiają do OpenAI.

Przełącznik zgody. Dokumentacja dla deweloperów podaje oaiq("consent", false). Należy on przed inicjalizację, a nie po niej. Domyślną wartością jest true, przy false piksel nie wysyła żadnych zdarzeń.

Parametry UTM. Według OpenAI zachowują się przy kliknięciach. Dzięki temu kampanie trafiają czysto również do Twojej własnej analityki.

Krok po kroku

Krok 1: załóż źródło danych w Ads Managerze

W Ads Managerze najpierw zakładasz źródło danych, do którego będą należeć wszystkie zdarzenia. Daje ono identyfikator, którego używasz w pikselu jako pixelId oraz w wywołaniach serwerowych. Bez niego żadne zdarzenie nie ma celu.

Krok 2: osadź piksel

SDK ładujesz na wszystkich stronach, nie tylko na stronie z podziękowaniem. Powodem jest referencja kliknięcia: piksel musi odczytać oppref z adresu przy wejściu i zapisać jako ciasteczko first-party, a dzieje się to na stronie docelowej, a nie na końcu lejka.

Sama inicjalizacja to jedna linia:

// Połączenie ze źródłem danych, gdy jest zgoda
oaiq("init", { pixelId: "TWOJE_ID_PIKSELA" });

Krok 3: wywołaj zdarzenie

Zdarzenie odpalasz tam, gdzie konwersja faktycznie powstaje: po udanym wysłaniu formularza, a nie przy kliknięciu przycisku wysyłki. Wywołanie measure przyjmuje trzy rzeczy: nazwę zdarzenia, dane zdarzenia i opcje. W danych zdarzenia jest pole type, według dokumentacji customer_action przy zapytaniu, terminie i rejestracji, contents przy zamówieniu, starcie checkoutu i odsłonie strony. amount jest opcjonalne, a gdy je ustawisz, currency staje się obowiązkowe. event_id należy do opcji, nadajesz je samodzielnie i zapamiętujesz, bo serwer będzie potrzebował później tego samego.

// Zdarzenie standardowe z typem i własnym ID do późniejszej deduplikacji
oaiq("measure", "lead_created", { type: "customer_action" }, {
  event_id: "lead-2026-09-02-4711"
});

Krok 4: przetestuj, zanim popłynie budżet

Przed startem sprawdzasz trzy rzeczy: czy zdarzenie dociera do Ads Managera, czy ustawia się ciasteczko z referencją kliknięcia i czy parametr przeżywa Twoje przekierowania. Trzeci punkt jest z doświadczenia najczęstszym błędem w całych wdrożeniach: przekierowanie ze strony docelowej obcina parametry z adresu i po tym żadne przypisanie nie jest już możliwe.

Krok 5: dołóż Conversions API

Droga serwerowa zgłasza te same zdarzenia jeszcze raz, niezależnie od przeglądarki. Kluczowe jest wyłącznie to, żeby obie strony używały tego samego identyfikatora:

// Jedno ID, dwie drogi: przeglądarka i serwer zgłaszają to samo zdarzenie
const eventId = "lead-" + submissionId;

Nieprzyjemną częścią pomiaru po stronie serwera jest z doświadczenia nie samo wywołanie, tylko referencja kliknięcia: leży jako ciasteczko first-party w przeglądarce i musi stamtąd dowędrować do Twojej logiki serwerowej. Kto prowadzi już server-side tagging, zwykle ma tę drogę zbudowaną.

Krok 6: odblokuj roboty OpenAI

OpenAI wprost wymaga od reklamodawców, żeby strona docelowa nie blokowała jego własnych robotów. Chodzi o OAI-AdsBot i OAI-SearchBot, i to w dwóch miejscach: w robots.txt oraz w firewallu lub WAF.

User-agent: OAI-AdsBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

Zwłaszcza przy ochronie przed botami na poziomie CDN sam robots.txt nie wystarczy. Jeśli reklama bez wyraźnego powodu nie jest emitowana, to pierwsze miejsce do sprawdzenia.

Zgoda: co możesz zrobić technicznie

O ocenie prawnej świadomie tu nie piszę, to należy do Twojego doradcy do spraw ochrony danych. Technicznie sprawa jest jednak jasno ułożona, a wzorzec znasz z Google Ads.

Zasada: piksel inicjalizujesz dopiero wtedy, gdy jest zgoda na ciasteczka marketingowe. Dopóki jej nie ma, albo w ogóle nie ładujesz SDK, albo wcześniej ustawiasz udokumentowany przełącznik:

// Bez zgody: przełącznik przed inicjalizacją
oaiq("consent", false);

Kto ma już porządnie podłączony Consent Mode v2, zna tę logikę: stanem domyślnym jest odmowa, a dopiero kliknięcie w banerze uwalnia tagi mierzące. Kategoria w banerze zgody jest ta sama co przy tagu Google Ads, a Twoja polityka prywatności potrzebuje wpisu o OpenAI jako odbiorcy. Jedno i drugie należy załatwić przed startem kampanii, a nie po nim.

Co zobaczysz potem w raportach

OpenAI raportuje wyświetlenia, kliknięcia, wydatki, CTR, średni CPC, średni CPM i konwersje. To mniej niż w Google Ads, ale wystarcza na pytania, które liczą się w pierwszych tygodniach: czy powstaje zasięg, czy ludzie klikają i czy coś z tego wychodzi.

Czego nie przyłożysz do swoich liczb, to rynek: OpenAI samo mówi, że nie ma jeszcze benchmarków skuteczności w przekroju reklamodawców, branż i typów kampanii. Każda branżowa liczba, którą właśnie teraz spotkasz przy ChatGPT Ads, jest więc w najlepszym razie pojedynczą obserwacją. Twoją miarą jest własny conversion tracking i rachunek, ile warte jest dla Ciebie jedno zapytanie.

Czego OpenAI obecnie nie dokumentuje

Dwa punkty, które w praktyce rzucają się w oczy od razu i po prostu nie mają odpowiedzi w dokumentacji:

Długość okna atrybucji. Referencja kliknięcia, ciasteczko i pomiar konwersji są opisane, ale to, jak długo kliknięcie jest przypisywane do konwersji, nie jest obecnie opisane w dokumentacji dla deweloperów. Przy porównaniach z Google Ads albo GA4 warto o tym pamiętać.

Integracja z tag managerem. Oficjalny szablon dla Google Tag Managera nie jest obecnie opisany w dokumentacji dla deweloperów. Piksel i tak da się osadzić jako własny tag HTML, ale wtedy z Twoimi własnymi warunkami zgody na tagu.

Jedno i drugie może się zmienić, platforma jest oficjalnie w wersji beta. Kto startuje dzisiaj, powinien mieć dokumentację na oku.

W skrócie

Najpierw źródło danych, potem piksel, potem to jedno zdarzenie, które się liczy. Conversions API dochodzi jako druga linia, spięta wspólnym event_id, a roboty OpenAI potrzebują wolnego dostępu do strony docelowej. Wszystko to da się zrobić w jeden poranek i wszystko to kosztuje więcej, gdy nadrabia się później.

Jak zbudować stojące za tym grupy reklam, opisuję w tekście Context Hints w ChatGPT Ads, a całość obrazu w artykule o ChatGPT Ads w Niemczech. Czy kanał opłaca się przy Twojej ofercie, w kilka minut wyjaśni ChatGPT Ads Check. A jeśli konfiguracja i prowadzenie mają trafić w inne ręce: warunki znajdziesz na stronie ChatGPT Ads.

Najczęstsze pytania

Czy do ChatGPT Ads potrzebuję piksela?

Do kampanii zasięgowych i klikowych niekoniecznie, do kampanii konwersyjnych tak. Dla celu oCPC OpenAI wskazuje jako warunek piksel i/lub Conversions API oraz przynajmniej jedno zdarzenie standardowe. Bez tej podstawy danych logika stawek widzi wyłącznie kliknięcia, a Ty płacisz za ruch zamiast za zapytania.

Czym różni się piksel OpenAI od Conversions API?

Piksel działa w przeglądarce odwiedzających i zgłasza zdarzenia prosto ze strony. Conversions API zgłasza te same zdarzenia z Twojego serwera, czyli niezależnie od przeglądarki, blokerów reklam i krótko żyjących ciasteczek. OpenAI opisuje obie drogi jako możliwe do połączenia, o ile obie strony wysyłają to samo event_id, dzięki czemu zdarzenia są deduplikowane.

Jak zapobiec podwójnemu liczeniu konwersji?

Przez event_id. Jeśli przeglądarka i serwer zgłaszają to samo zdarzenie, obie strony muszą wysłać ten sam identyfikator, wtedy OpenAI rozpozna duplikat i policzy raz. W praktyce generujesz identyfikator w miejscu, w którym powstaje konwersja, na przykład z numeru zamówienia lub zapytania, i przekazujesz go do obu dróg.

Czym jest parametr oppref w ChatGPT Ads?

oppref to referencja kliknięcia od OpenAI. Przy kliknięciu dokleja się do adresu Twojej strony docelowej, a piksel zapisuje ją jako ciasteczko first-party. Dzięki temu późniejszą konwersję da się przypisać do pierwotnego kliknięcia. Dlatego przekierowania na Twojej stronie nie mogą obcinać parametrów, bo wtedy przypisanie przepada.

Jak długie jest okno atrybucji w ChatGPT Ads?

W dokumentacji dla deweloperów nie ma obecnie takiej informacji. OpenAI opisuje referencję kliknięcia, piksel, Conversions API i wskaźniki w raportach, ale nie podaje długości okna. Kto porównuje liczby z ChatGPT Ads z Google Ads albo z analityką, powinien znać tę lukę i nie tłumaczyć każdej różnicy błędem trackingu.

Źródła

Mijo Jurisic

Konsultant Google Ads i założyciel MJ Marketing. Ponad pięć lat praktyki: od samouczenia po Google Premier Partner Programme z 500+ klientami Google Ads i €20M+ zarządzanego budżetu mediowego.

Udostępnij artykuł:

Udostępnij: