Menu dokumentacji

OpenAI Ads (ChatGPT)

Sterowanie zgodą piksela OpenAI (reklamy w ChatGPT): włączenie, kolejka oaiq, ładowanie SDK dopiero po zgodzie i weryfikacja.

OpenAI Measurement Pixel (reklamy w ChatGPT)

CookieHug potrafi sterować zgodą piksela pomiarowego OpenAI (oaiq) — piksela konwersji dla reklam wyświetlanych w ChatGPT. Dwie cechy tego piksela sprawiają, że samo wklejenie oficjalnego snippetu nie jest zgodne z prawem w EOG:

  • piksel startuje ze zgodą włączoną — bez oaiq("consent", false) przed init wysyła dane od razu,
  • zdarzenia wysłane przy zgodzie wyłączonej są porzucane, nie kolejkowane — OpenAI nie odtwarza ich po późniejszej zgodzie.

Funkcja jest domyślnie wyłączona i włącza się per domena. CookieHug nie potrzebuje identyfikatora piksela — tworzy kolejkę poleceń oaiq, przejmuje polecenie zgody i decyduje, *kiedy* załaduje się SDK piksela (oaiq.min.js).

Włączenie

  • Otwórz domenę w panelu → Zaawansowane → sekcja Polityka zgody.
  • Znajdź kartę OpenAI Measurement Pixel (reklamy w ChatGPT) i włącz przełącznik — zapis następuje automatycznie.
  • Zmiana trafia do skryptu banera przy kolejnym pobraniu (cache skryptu: do 5 minut).
  • Snippet CookieHug musi być w kodzie strony przed snippetem piksela OpenAI.

Jak działa sygnał

Na starcie SDK CookieHug tworzy stub kolejki window.oaiq i wstawia na jej początek wpis zgody zgodny z decyzją odwiedzającego. Oficjalny snippet piksela zaczyna się od if (w.oaiq) return;, więc widząc naszą kolejkę tylko dokłada do niej swoje init i measure — a SDK OpenAI doładowuje CookieHug, dopiero gdy jest zgoda na kategorię Marketing:

// start bez zapisanej decyzji — nic z OpenAI się nie ładuje:
window.oaiq.q  // → [['consent', false]]

// snippet strony (po CookieHug) dokłada do kolejki:
oaiq('init', { pixelId: '…' });
oaiq('measure', 'page_viewed');

// "Zaakceptuj wszystkie" → CookieHugOnConsentReady:
window.oaiq.q  // → [['consent', true], ['init', …], ['measure', 'page_viewed']]
// i dopiero teraz na stronę wchodzi https://bzrcdn.openai.com/sdk/oaiq.min.js

Dzięki temu zdarzenia zakolejkowane przed decyzją (zwykle page_viewed) wychodzą po zgodzie, zamiast przepaść. Przy odmowie nic z OpenAI nie ładuje się wcale. Przy powrocie z zapisaną zgodą SDK ładuje się od razu na starcie strony. Gdy SDK już działa, każda kolejna decyzja trafia do niego jako oaiq('consent', true | false) — odmowa w edytorze zatrzymuje pomiar, a wycofanie zgody przeładowuje stronę. Źródłem sygnału jest kategoria Marketing, ta sama, która steruje ad_storage w Google Consent Mode.

Gdy sterujesz zgodą samodzielnie

Przy włączonym przełączniku nie wywołuj oaiq("consent", …) z kodu strony — to polecenie należy do CookieHug. Jeśli masz już własną obsługę (np. wzorzec: consent false → init → w nasłuchu CookieHugOnConsentReady consent true i ponowne wysłanie zdarzeń bieżącej strony), zostaw przełącznik wyłączony — Twój kod i tak działa poprawnie, bo CookieHugOnConsentReady odpala się po każdej decyzji i przy powrocie z zapisaną zgodą.

Jeśli snippet piksela znajdzie się przed CookieHug, SDK OpenAI ładuje snippet strony. CookieHug nadal wstawia wpis zgody na początek jeszcze nieprzetworzonej kolejki, ale nie może już opóźnić pobrania SDK. Przy odpalaniu piksela przez Google Tag Managera użyj wyzwalacza zależnego od zgody marketingowej — przełącznik pozostaje bezpieczny, ale o momencie załadowania decyduje GTM.

Weryfikacja

W DevTools na stronie z włączoną funkcją:

// zaraz po wejściu (przed decyzją):
window.oaiq.q
// → [['consent', false], ['init', {…}], ['measure', 'page_viewed']]
// w zakładce Network: brak żądań do bzrcdn.openai.com / bzr.openai.com

// po kliknięciu "Zaakceptuj wszystkie":
// → na początku kolejki ['consent', true], w DOM pojawia się <script src="…/oaiq.min.js">
window.oaiq.loaded   // → true, gdy SDK zastąpiło stub

Jeśli window.oaiq nie istnieje, przełącznik nie jest aktywny w skrypcie (poczekaj na odświeżenie cache) albo strona ładuje starszy skrypt.