loading...
  • Головна
  • /
  • Блог
  • /
  • Налаштування відстеження конверсій для OpenAI Ads
bg-image
04 Червня 2026 р.

Налаштування відстеження конверсій для OpenAI Ads

  • Intermediate
  • OpenAI Ads
  • Server-Side GTM

Розміщення реклами в ChatGPT набирає популярності, а оскільки будь-яка реклама має працювати не наосліп, потрібно обов'язково налаштовувати відстеження її ефективності. Тому ми вирішили написати цю статтю і розказати про нюанси, які зустрінуть вас під час налаштування.

План сьогодні наступний:

На момент написання цієї статті (початок червня 2026) в OpenAI Ads Manager відображається позначка “Beta”, а також на цей момент не можна створювати кампанії з оптимізацією на конверсії.

12.1 OpenAI campaign objective selection

І ще з особливостей — OpenAI поки що не дозволяє змінювати вікно конверсії, і воно для всіх за замовчуванням зараз 30 днів. Тим не менш, вони вже зробили можливим налаштування відстеження конверсій та їхню атрибуцію для кампаній інших типів, як-от охоплення або кліки.

Загалом, OpenAI щодо відстеження конверсій не вигадали нічого нового, і принцип дуже схожий на те, як все працює в інших схожих системах. Рекламний кабінет видає вам шматок коду (піксель), який ініціалізує бібліотеку, яка, своєю чергою, «ловить» get-параметр із URL, який відповідає за ID кліка цієї системи, зберігає його в cookies та відправляє події для відстеження як конверсії.

Налаштування пікселя і конверсій в OpenAI Ads Manager

В Ads Manager у розділі Tools ви переходите до Conversions, далі клікаєте на Create і на Data Source.

12.2 OpenAI conversions tools menu

Даєте йому назву і вибираєте тип Web. Натискаєте Create.

12.3 Create new data source

Ви створили піксель. І для подальшого налаштування вам потрібно скопіювати його ID.

12.4 OpenAI pixel tracking script

Додатково у тому ж розділі вам потрібно створити Conversion Event для кожної події, яку ви хочете відстежувати в рекламних кампаніях.

12.5 OpenAI conversion events menu
  1. Далі вказуєте її назву.
  2. Вибираєте подію, яку будемо відстежувати, або вибираєте пункт custom, якщо ви будете передавати кастомну назву.
  3. У Data source вибираєте той самий піксель, який ви тільки-но створили.
  4. А от щодо вікна конверсії, тут у вас поки що немає інших опцій, оскільки станом на день написання статті є всього одна дефолтна опція — у 30 днів.
  5. І натискаєте кнопку Create.
12.6 Create new conversion setup

Повторюєте ці ж дії для створення інших конверсій, якщо у вас їх більше ніж одна.

Далі вони стануть доступними на рівні налаштування рекламної кампанії, де ви зможете обрати конверсії згідно з тією назвою, яку задали під час налаштування.

12.7 Select campaign conversion event

Перевірте себе:

На цьому етапі у вас мають бути створені:

  • піксель. Вам треба скопіювати його ID.
  • конверсії для всіх подій, які ви хочете відстежувати. Ці конверсії мають бути додані до рекламних кампаній.

Налаштування відстеження конверсій OpenAI через Google Tag Manager (браузер)

Тепер ми йдемо в Google Tag Manager у розділ Templates та натискаємо Search Gallery.

12.8 GTM templates search gallery

У пошуковому рядку пишемо "openai" і обираємо тег від Stape. На наступному кроці натискаємо Add to workspace і далі на кнопку Add.

12.9 Import OpenAI tag template

Тепер переходимо у розділ Tags і натискаємо кнопку New.

12.10 GTM tags workspace section

Клікаємо будь-де в полі Tag Configuration та у розділі Custom обираємо тег OpenAI.

12.11 Choose OpenAI tag type

У першому полі нам потрібно додати Pixel ID, який ми створили в рекламному кабінеті. Але ви будете його перевикористовувати. Тому best practice у таких випадках — створити змінну типу константа, щоб значення було тільки в одному місці, щоб нівелювати можливі помилки та повторні копіпасти. Тому клікаємо на іконку створення змінної поруч із полем введення.

12.12 OpenAI pixel tag setup

У вікні, що перед вами відкрилось, у правому верхньому куті клікаємо на синій плюс, потім клікаємо в полі Variable Configuration і обираємо тип Constant.

12.13 GTM variable configuration constant

У поле введення ми вставляємо Pixel ID, даємо назву змінній та зберігаємо.

12.14 Constant variable pixel ID

У розділі Event Name Setup Method вам доступні дві опції: Inherit from Data Layer та Override. Я раджу завжди обирати Override, тому що так ви маєте більше контролю над тим, яку подію ви відправляєте.

Наприклад, якщо ми наведемось на підказку і прочитаємо, то ми побачимо, що подія перегляду сторінки відправляється як стандартна подія page_viewed в OpenAI тільки якщо в dataLayer прийде подія page_view, або подія page_view_stape, або gtm.dom, що відповідає тригеру DOM Ready в GTM.

Зазвичай перегляд сторінки відбувається на події gtm.js (тригер Page View). Тому якщо ви оберете Inherit from Data Layer, а в тригері у вас буде не DOM Ready і не page_view або page_view_stape, то подія page_viewed не відправиться.

12.15 Inherit from DataLayer mappings

Я у своєму прикладі буду відправляти подію реєстрації, тому в наступному пункті обираю registration_completed.

Наступна галочка буде увімкнена за замовчуванням — це автоматичний мапінг параметрів події. Її можна залишити увімкненою. Також можна поставити галочку під цим пунктом, щоб передавати найсвіжіші дані з Data Layer.

Дуже мило, що тег від Stape посилається в підказці на статтю Simo Ahava. Тому, якщо ви дійсно хочете заглибитись у нюанси цієї галочки, теж раджу прочитати цю статтю.

12.16 Automatic parameters mapping configuration

Розкажу детальніше про автоматичний мапінг параметрів події з Data Layer.

Він стосується обробки параметрів товарів з масиву e-commerce, а також обробки цінності події і валюти. Якщо у вас налаштований e-commerce в GA4 згідно з довідкою, цей тег адаптує інформацію про товари та передасть OpenAI без додаткових маніпуляцій з вашого боку. Також, якщо у вас є передача цінності події в параметрі value та валюта в currency, тег також візьме ці значення і передасть в OpenAI.

Маленька ремарка: якщо ви дуже уважні або проходили курс PRO GTM, ви помітили тут важливу деталь: підказка посилається на масив item. Правильна реалізація згідно з довідкою: цей масив називається items. Це помилка тільки на рівні підказки. У самому коді все обробляється правильно — через ecommerce.items.

Якщо ваша подія не містить параметрів, які автоматично мапить тег, ви можете додати їх самостійно в розділі Event parameters:

  • Amount in the currency's lowest unit – цінність події в «копійках»,
  • Amount in the currency's regular unit – цінність у звичайному форматі з десятковими знаками,
  • Currency – валюта,
  • Contents – масив з товарами або іншими сутностями в чеку,
  • Plan ID – план, на який підписаний користувач SaaS.
12.17 OpenAI event parameters dropdown

Налаштування згоди – цікавий пункт. За замовчуванням задано true, тобто дані будуть відправлятись без обмежень.

Якщо у вас налаштований консент не через Consent Management Platform, сертифіковану Google, або у вас кастомна реалізація, вам потрібно буде задати в цьому полі змінну, яка повертає true, коли користувач погодив збір даних, і відповідно false, коли відхилив. Серед значень, які сприймаються тегом як відмова: false, “false” (як рядок), 0, “0” та “denied”. Будь-які інші значення будуть сприйняті як згода.

Ще більш цікавим є те, що тег буде збирати події в чергу, якщо статус задано як “відмова”, і відправить їх в OpenAI, коли відвідувач сайту погодиться на збір даних. Але це актуально для подій, які сталися між завантаженням сторінки та наданням згоди. Якщо у вас не SPA-сайт, тобто кожна сторінка у вас завантажується фізично, і згода була надана не на посадковій сторінці, перегляд попередніх сторінок та Click ID не будуть передані в OpenAI. Тому дуже важливо стимулювати людей надавати згоду на першій сторінці, на яку потрапив відвідувач сайту.

12.18 GTM consent settings tooltip

Якщо же у вас налаштований консент-банер від сертифікованої платформи, вам достатньо поставити галочку Enable Google Consent Mode Support, і тег буде автоматично “слухати” статус ad_storage і точно так само регулювати роботу тега відповідно до згоди.

12.19 Enable Google consent mode

Фіналимо налаштування:

  1. додаємо тригер, у момент якого має відправлятися подія,
  2. називаємо тег зрозумілою назвою
  3. та натискаємо «Зберегти».
12.20 Saved OpenAI registration tag

Повторюємо таку ж процедуру для інших подій, які ми хочемо відстежувати.

Важливий нюанс відстеження переглядів сторінок

*Пропустіть цей пункт, якщо у вас серверний GTM.

На початку цієї статті я вже писала, що піксель зберігає click ID в cookies. Якщо конверсія відбувається не на посадковій сторінці, то є велика ймовірність, що ви втратите click ID:

  1. Відвідувач зайшов на головну сторінку, наприклад example.com/?oppref=abc123
  2. Перейшов на сторінку реєстрації та зареєструвався на example.com/sign-up — тут запустився тег конверсії, ініціалізувався піксель, але параметра oppref вже немає.

Щоб уникнути такої проблеми, раджу додати тег події перегляду сторінки (або кастомної — немає значення) на тригер All Pages.

Якщо у вас налаштований консент, оберіть той самий тригер, який відповідає за завантаження сторінки для рекламних систем.

Цей тег буде запускати піксель на всіх сторінках і не пропустить параметр click ID.

12.21 OpenAI page viewed tag

Перевірка відправки конверсій

  1. У кабінеті OpenAI у розділі Conversions переходимо на вкладку Event Stream та вмикаємо прослуховування подій.
12.22 Event stream polling activation

2. У GTM натискаємо в меню кнопку Preview. У новому вікні вводимо адресу сайту та додаємо get-параметр, який містить click ID: наприклад https://example.com/?oppref=test.

Натискаємо Connect.

12.23 GTM preview mode initialization

3. У новому вікні відкриється ваш сайт. У будь-якому місці клікніть правою кнопкою миші та оберіть пункт Inspect. Відкриється панель, вгорі якої вам потрібно перейти на вкладку Network:

12.24 Open browser network tab

4. У полі пошуку пишемо «openai», натискаємо Enter.

12.25 Filter network tracking requests

5. Виконуємо потрібну подію на сайті, у мене — це реєстрація. Після виконання потрібної дії ви повинні побачити 2 записи зі статусом, які починаються на 2XX. Перший запис — це ініціалізація пікселя, другий запис — це відправлення подій.

12.26 Check tracking requests status

6. Клікаємо на запись події, переходимо на вкладку Payload та розгортаємо стрілки навпроти записів. Ви повинні побачити відправлення двох подій з типом sdk_init — це ініціалізація пікселя, а також подію конверсії.

У моєму випадку це registration_completed зі значенням get-параметра oppref.

12.27 Inspect event payload data

Приклад, як буде виглядати подія покупки з товаром:

12.28 Ecommerce product payload preview

7. У рекламному кабінеті протягом декількох секунд також має з’явитись ваша подія.

12.29 Event stream captured details

Якщо ви успішно пройшли попередні кроки перевірки для всіх ваших подій і побачили їх на вкладці Network зі статусом 2XX та у розділі Event Stream в рекламному кабінеті, мої вітання, у вас все вийшло.

Остання дія — опублікувати GTM.

Якщо ж щось пішло не так, спробуйте переглянути цей розділ.

Налаштування подвійного відстеження конверсій: браузерний GTM та серверний GTM

Якщо ви — власник серверного GTM (далі sGTM), ви можете покращити збір даних та передати події через ваш сервер. Заздалегідь скажу: я передбачаю, що у вас вже налаштована відправка потрібних подій до GA4 через sGTM.

У цьому розділі я опишу налаштування, яке радять, напевно, всі рекламні системи у своїх довідках.

Але не ми (ProAnalytics.Team).

Спосіб, який радимо ми, буде описаний в наступному розділі з поясненням причин, чому ми радимо саме так.

А поки що, якщо ви хочете налаштувати згідно з рекомендаціями з довідки, продовжуйте читати.

Налаштування у Client-side GTM

У попередньому розділі я свідомо пропустила один пункт з налаштувань — Server Side Tracking Settings, тому що його потрібно налаштовувати, тільки якщо ви передаєте дані з веб- та серверного GTM одночасно.

Якщо ж ви хочете налаштувати передачу подій з браузера та з серверного GTM, вам обов'язково потрібно додати параметр event ID для дедублікації.

Оскільки ви будете відправляти одну й ту саму подію з браузера та серверного GTM, щоб система могла визначити, що це одна й та сама подія, та дедублювати її, їй потрібен однаковий event ID у цих подіях.

Отже, для налаштування ви проходите всю послідовність з попереднього розділу налаштувань подій з браузера. Далі відкриваєте пункт Server Side Tracking Settings і натискаєте на кнопку вибору змінної.

12.30 Web GTM server settings

На наступному кроці клікаєте на синій плюс у правому верхньому куті й обираєте поле Variable Configuration.

У вікні, яке відкрилось, ви натискаєте на Community Template Gallery.

12.31 Choose variable type window

Та шукаєте шаблон Unique Event ID від Stape. Додаєте його собі.

12.32 Import unique event ID

У цієї змінної немає жодних налаштувань, тому достатньо буде надати їй ім'я та зберегти. У результаті у вас повинна підставитися ця змінна у поле Event ID в тезі.

12.33 OpenAI tag event ID

Цю ж саму змінну потрібно додати як параметр event_id до події GA4, яка має самий такий тригер.

Дуже важливий момент: тригер має бути обов’язково одним і тим самим, бо саме на момент тригера змінна генерує event_id. Якщо тригери будуть різні, event_id будуть теж різними, і події будуть вважатись різними.

12.34 GA4 event tracking configuration

Налаштування у серверному GTM

У sGTM ми так само йдемо в розділ Templates та натискаємо на Search Gallery в розділі тегів (не клієнтів). Шукаємо за запитом «openai» та додаємо тег Conversions API від Stape.

12.35 Server GTM template gallery

Логіка в розділі Event Name Setup Method тут майже така ж, як для вебверсії тега.

Доступні три опції:

  1. Standard — для того, щоб вибрати стандартну подію зі списку.
  2. Inherit from client — буде мапити події GA4 з відповідними подіями OpenAI. Як саме, можна подивитися у підказці.
  3. Custom — для відправлення кастомної назви події
12.36 Conversions API mapping details

Я могла б залишити "inherit from client" для своєї події, оскільки вона має назву sign_up, яка передбачена в списку підказки, але я все ж таки виберу «Standard», registration_completed, бо так наочніше.

  1. Далі ми точно так само, як і для вебу, створюємо змінну типу константа і додаємо до неї Pixel ID.
  2. У наступному полі нам потрібно створити ще одну змінну типу константа для API key. Де його взяти, я описую одразу під наступним скриншотом.
  3. Action Source залишайте Web, оскільки ви передаєте події із сайту.
  4. Validate only передбачає відправку події тільки для валідації, і вона не буде врахована в статистиці. Але є велика ймовірність, що якщо ви поставите тут true, то до кінця налаштувань ви забудете про це й опублікуєте налаштування, яке не буде враховуватись у статистиці. Тому раджу залишити false. Воно нічому не нашкодить.
12.37 Server OpenAI tag configuration

Як згенерувати Conversion API Key в кабінеті OpenAI Ads Manager

Щоб створити API key, ви переходите до розділу Conversions у рекламному кабінеті, клікаєте на Manage conversion keys та далі на Create a new key.

12.38 Manage conversion keys dropdown

На наступному кроці ви даєте назву ключу, натискаєте кнопку Create і копіюєте ключ. Як ви вже знаєте, додати його потрібно у змінну в sGTM.

12.39 Create new conversion key

Подальші розділи налаштувань дуже спрощують життя, тому я просто поясню, що за ними стоїть. Але по факту нам просто потрібно поставити галочки біля пунктів автоматичного мапінгу параметрів.

Server event data parameters підтягують параметри, які потрібні для серверних подій, зокрема: event ID із параметрів події GA4 та значення get-параметра oppref або cookie __oppref.

12.40 Automap server data parameters

User data parameters підтягують параметри події GA4, які передаються в об’єкті user data — email, телефон тощо. А також user ID, IP користувача та user agent.

12.41 Automap user data parameters

Event Parameters додають до події значення із GA4, як-от value, currency та список товарів у відповідній події.

12.42 Automap ecommerce event parameters

Будь-що з попередніх трьох розділів можна перевизначити самостійно.

Якщо у вас інший мапінг, не передбачений тегом, вам потрібно додати свої параметри через Add parameter.

Так само ви можете зняти галочку, щоб просто не передавати якісь параметри.

Tag Execution Consent Settings має два пункти:

  • або відправляти дані завжди,
  • або слухати статус консенту й відправляти дані, тільки якщо ad_storage має статус згоди.
12.43 Tag execution consent options12.44 Click ID cookie settings

Тому з тієї ж причини, яка описана в цьому розділі, нам потрібно додати тег, який би міг запускатися на всіх сторінках сайту, щоб не пропустити click ID.

Схоже налаштування не потрібно робити у веб-GTM, а тільки в серверному GTM. У розділі Cookie Expiration задайте кількість днів, протягом яких значення cookie має зберігатись у браузері. Тригером для такої події має бути подія page_view або ті налаштування, які ви використовуєте для завантаження пікселів рекламних систем, якщо у вас налаштований консент-банер.

12.45 Server cookie expiration setup

Перевірка подвійного відстеження

Тепер ви запускаєте послідовно прев'ю-режим sGTM та прев'ю-режим веб-GTM так само з тестовою міткою https://example.com/?oppref=test. Там же, де ви дивилися вкладку Network, поруч буде вкладка Application.

Переходьте на неї, далі у Cookies та в пошуковий рядок пишіть oppref. Ви повинні побачити куку зі значенням із get-параметра та терміном збереження, який ви задали в налаштуваннях.

12.46 Verify click ID cookie

Тепер виконуєте цільову дію, наприклад, реєстрацію на сайті. Перевірку браузерної події ви робите так само, як у попередньому розділі.

Після цього переходите у preview sGTM на вкладку Request відповідної події. У розділі Outgoing HTTP requests from server ви повинні побачити запит на домен OpenAI зі статусом 2XX.

12.47 Server outgoing request logs

У розділі Conversions > Event Stream у рекламному кабінеті ви повинні побачити цю подію, яка прийшла з двох API-каналів: Pixel SDK та Server-to-Server.

12.48 Deduplicated event stream records

ID в обох подій має бути однаковим. Щоб це перевірити:

  1. Перейдіть у Network та розгорніть параметри події.
12.49 Network tab ID matching

2. А у серверному GTM натисніть на запит до bzr.openai.com на вкладці Request. У тілі запиту знайдіть параметр “id”. Його значення має бути точно таким самим, як у події з Network.

12.50 Server request body preview

Якщо ви побачили всі свої події у відповідних місцях та з однаковим ID, мої вітання. Останній штрих — опублікувати веб-GTM та sGTM.

Налаштування відстеження конверсій OpenAI через серверний GTM без бібліотеки на сайті

Настав час пояснити, чому попередній розділ про налаштування одночасної відправки події з веб-GTM та sGTM ми не радимо.

Мені цілком зрозуміло, чому довідки радять такий спосіб. Вони орієнтовані на широке коло користувачів і не мають на меті ускладнити ваше життя поясненням того, як працює бібліотека рекламної системи, як працюють cookies і як їх самостійно встановлювати. Тому задля того, щоб отримувати всі переваги серверного GTM, але при цьому не втрачати click ID й зробити цей процес трошки простішим, довідка вас просить робити подвійне налаштування, але при цьому додавати event ID для дедублікації подій.

Server-side GTM дозволяє вам уникнути встановлення додаткових бібліотек сторонніх систем і тим самим пришвидшити завантаження сторінки сайту в браузері користувача, що, своєю чергою, не просто опція, а одна з переваг sGTM.

Тому наша логіка проста: для чого додавати зайву бібліотеку на сайт, якщо її можна не додавати? І нічого не втратити, а тільки виграти від цього.

Для цього етапу вам взагалі не потрібен веб-GTM. Серйозно. Можна його навіть не відкривати.

Виконуєте всю послідовність дій, описаних у розділі з налаштування подій для серверного, ОКРІМ налаштування тега, який запускається на всіх сторінках — його не робите.

Тепер ми зробимо налаштування, яке дозволить зберігати click ID у cookie під час завантаження сторінки, оскільки це потрібно робити на всіх сторінках, а не тільки там, де відбувається конверсія.

Переходьте у розділ Variables та додайте змінну типу Event data з ключем page_location.

12.51 Create event data variable

Тепер додайте ще одну змінну типу Regex Table з налаштуваннями, як у мене на скриншоті нижче:

  • Input variable — попередня змінна, яку ви щойно створили.
  • Pattern.*[?&]oppref=([^&]+).*
  • Output$1
  • У розділі Advanced Settings мають бути увімкнені всі три галочки.
12.52 RegEx table variable configuration

Тепер переходимо у розділ тегів. Натискаємо New. Далі клікаєте будь-де у площині Tag Configuration та на блакитну плашку вгорі — Community Template Gallery.

Після цього у пошуку шукаєте темплейт від Simo Ahava, який називається Cookie Monster.

12.53 Import cookie monster template

Клікаєте на кнопку Add Cookie.

12.54 Cookie monster tag configuration

На панелі, яка відкриється праворуч, робите точно такі самі налаштування, як на скриншоті:

  • Назва куки__oppref
  • Значення — ваша змінна RegEx Table
  • Час життя в секундах у мене на скриншоті — два роки.
  • Решта налаштувань аналогічна.
12.55 Edit cookie parameters modal

Залишилося дати назву цьому тегу та додати тригер перегляду сторінки.

12.56 Saved cookie monster tag

Логіка перевірки відповідає тій самій послідовності, що й у попередньому розділі.

Відмінність полягає в тому, що ви запускаєте прев'ю тільки серверного GTM і відкриваєте сайт із рекламною міткою.

Під час завантаження сторінки ви повинні побачити, що ваша мітка збережена в cookies.

12.57 Cookie parameters browser verification

Друга відмінність від попереднього розділу ще й у тому, що в Event Stream вам прийде тільки одна подія з API-каналу server-to-server. І це якраз той випадок, коли краще менше.

12.58 Server to server stream

Особливості відправки конверсій OpenAI Ads напряму з коду сайту

Якщо ви вирішили налаштовувати відправлення напряму з коду сайту, а не через GTM, у цьому розділі я поясню декілька важливих нюансів, які має врахувати розробник.

Про те, як перевірити його роботу, я розповіла тут.

Загалом, мені немає сенсу переписувати документацію, оскільки вона дуже чітка і неускладнена. Тому залишу посилання на JavaScript Pixel для браузерного трекінгу та на Conversion API — для серверного.

Розробнику при цьому важливо звернути увагу на такі речі:

  1. Рекламний кабінет одразу видає піксель із рядком debug: true, який дозволяє виводити події у консоль. Якщо ви не хочете засмічувати свою консоль, цей рядок треба видалити.
12.59 JavaScript pixel setup code

2. Під пікселем у вас буде приклад коду для події з параметрами. Він прив’язаний до коду пікселя, бо відправляє подію у функцію oaiq, яку створює якраз піксель. Як результат, обов’язково додавайте код пікселя над кодом події.

3. Функція, яка відправляє подію, складається з трьох частин — назви події, її параметрів та додаткових опцій. І у довідці дуже легко прогледіти момент, що параметри наче як необов'язкові, але поруч є пояснення, що насправді треба відправляти параметр type із кожним івентом. Який тип для якої події передати, описано тут.

12.60 OpenAI pixel function arguments

4. Значення цінності в параметрі amount має бути в центах, копійках і т.п., тобто в форматі цілого числа. Таким чином $99.00 має передатись як amount: 9900.

5. Важливим параметром для відправки конверсій по Conversion API є наявність параметра oppref. В довідці вказано, що цей параметр не обов'язковий.

Тим не менш, без нього система не зможе зв’язати конверсію з рекламним кліком, тому не забувайте додавати цей параметр в об’єкт data. Він з’являється в cookies з назвою __oppref за умови наявності get-параметра oppref та встановленого пікселя.

12.61 OpenAI Conversion API parameters

6. І останнє нагадування, яке також теоретично можна легко пропустити. Це те, що event_id та назва кастомної події custom_event_name передаються не як параметри події, а як додаткові опції eventOptions. При цьому event_id обов'язково передавати, якщо ви відправляєте ті самі події із браузера і через Conversion API. Про це детальніше тут.

Типові проблеми та їх вирішення

Піксель OpenAI блокується через Content Security Policy

Як я згадувала на початку цієї статті, ця рекламна система досить молода.

Якщо у вас Content Security Policy не дозволяє все на світі, скоріш за все, ви стикнетеся з тим, що запити з браузера будуть обмежені.

У Network ви побачите, що вони заблоковані.

12.62 OpenAI pixel CSP error

Рішення: Внесіть самостійно або попросіть розробників внести ці два записи до CSP:

Запис 1 — для завантаження скрипта SDK:

  • Type → Script Source
  • Data type → Default (або Host, якщо є такий варіант)
  • Значення → [https://bzrcdn.openai.com](https://bzrcdn.openai.com)

Запис 2 — для відправлення подій:

  • Type → Connect Source
  • Data type → Default
  • Значення → [https://bzr.openai.com](https://bzr.openai.com)

Подія спрацьовує, але я не бачу її у вкладці Network

Переконайтеся, що всі обов'язкові параметри приходять разом із подією, та особливо параметр type наявний та відповідає події, якщо ви використовуєте стандартну назву. Детальніше — за цим посиланням.

Події надходять, але не атрибутуються рекламним кампаніям

Переконайтеся, що ваш сайт не затирає GET-параметр oppref — якщо ви заходите на сайт із цією міткою, вона має залишитися в адресному рядку. Якщо у вас відбувається редирект під час входу на сайт, цей параметр також повинен бути збережений після редиректу. Якщо параметр зник, то це технічна історія, і її треба виправити — попросіть розробника не видаляти цей GET-параметр з URL.

На другому кроці переконайтеся, що у вас у браузері в розділі Cookies зберігається значення параметра в ключі __oppref. Якщо ж cookie відсутня і у вас налаштований Advanced Consent Mode, переконайтеся, що ви робите повторну спробу записати cookie, коли людина надає згоду.

Третій крок: перейдіть до GA4 та подивіться, чи були за період після налаштувань any конверсії з рекламних кампаній OpenAI. Для цього ваші рекламні кампанії повинні бути розмічені UTM-мітками. Якщо за цей період не було жодної конверсії з цього майданчика, це пояснює відсутність конверсій.

Замість висновку

Стаття вийшла доволі об'ємною, особливо на скриншоти, але це тільки тому, що мне хотілося пояснити всі нюанси.

Сподіваюся, у вас вийшло налаштувати відстеження конверсій, тому бажаю вам успішних рекламних кампаній.

А якщо щось пішло не так, звертайтеся.