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:
| Zdarzenie | Co oznacza |
|---|---|
lead_created | Zapytanie z formularza, prośba o kontakt, prośba o ofertę |
appointment_scheduled | Umówiony termin, na przykład przez link do kalendarza |
order_created | Zamówienie w sklepie zakończone |
registration_completed | Rejestracja zakończona |
trial_started | Rozpoczęty okres testowy |
checkout_started | Rozpoczę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. Do którego kanału GA4 przypisywane są kliknięcia z ChatGPT i jak spójnie nazywać wartości, pokazuje moja konwencja nazewnictwa UTM.
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. Od jakiego celu kampanii zacząłbym w poszczególnych branżach, opisuję w przeglądzie według branż. A jeśli konfiguracja i prowadzenie mają trafić w inne ręce: warunki znajdziesz na stronie ChatGPT Ads.
Źródła
- OpenAI Help Center, Conversion Measurement: help.openai.com/en/articles/20001409-conversion-measurement
- OpenAI Help Center, Conversion-optimized Campaigns: help.openai.com/en/articles/20001412-conversion-optimized-campaigns
- OpenAI Help Center, Maximize Results Bid Strategy: help.openai.com/en/articles/20001425-maximize-results-bid-strategy
- OpenAI Help Center, Ads in ChatGPT, The Basics: help.openai.com/en/articles/20001207-ads-in-chatgpt-the-basics
- OpenAI Help Center, Billing and Payment: help.openai.com/en/articles/20001216-billing-payment
- OpenAI Help Center, Frequently asked questions: help.openai.com/en/articles/20001220-frequently-asked-questions
- OpenAI Help Center, Advertiser Guidance for Allowing OpenAI Web Crawlers: help.openai.com/en/articles/20001243-advertiser-guidance-for-allowing-openai-web-crawlers
- OpenAI Developers, dokumentacja Ads: developers.openai.com/ads
- OpenAI Developers, Measurement Pixel: developers.openai.com/ads/measurement-pixel
- OpenAI Developers, Supported Events: developers.openai.com/ads/supported-events



