Фід товарів для OpenAI (реклама в ChatGPT)

8 хв

Щоб ваші товари показувалися в рекламі ChatGPT, OpenAI потрібен фід товарів — CSV-файл, у якому кожен рядок описує один товар полями за схемою OpenAI. У Elbuz для цього є готовий шаблон вивантаження «OpenAI (ChatGPT Ads)»: колонки в ньому вже названі й заповнені так, як вимагає OpenAI, а готовий файл програма сама відправляє на SFTP-сервер OpenAI.

Вікно
«Вивантаження даних»
Право доступу
вікна «Вивантаження» і «Детальне налаштування шаблону вивантаження» — без другого шаблон не налаштувати
Підготувати
рекламний акаунт OpenAI з доступом до фідів товарів і дані SFTP від OpenAI: адреса, порт, логін, пароль

Що OpenAI приймає і чого вимагає

OpenAI приймає файл товарів у форматі CSV (розділювач — кома), TSV або JSONL у кодуванні UTF-8. Шаблон Elbuz формує CSV з комою.

Доставка — тільки через SFTP: OpenAI не забирає фід за посиланням, як це робить Google Merchant Center. Адресу підключення й пароль видає OpenAI, коли для вашого рекламного акаунта ввімкнено доступ до фідів товарів. Якщо такого доступу немає, OpenAI радить звернутися до своєї команди підтримки акаунтів — у Elbuz його увімкнути не можна.

Обов'язкові поля, без яких OpenAI товар не прийме:

ПолеВимога OpenAI
item_idстабільний ідентифікатор, унікальний у файлі
titleназва, до 150 символів
descriptionопис простим текстом без HTML, до 5000 символів
urlсторінка товару на вашому сайті, публічна адреса HTTP або HTTPS (OpenAI радить HTTPS)
brandсправжня назва бренду, без заглушок
seller_nameназва продавця
image_urlпряме посилання на фото JPEG або PNG
availabilityодне зі значень in_stock, out_of_stock, pre_order, backorder, unknown
priceсума й код валюти через пробіл: 79.99 USD

Заглушки на кшталт n/a чи null OpenAI забороняє: невідоме необов'язкове поле треба лишати порожнім.

Як створити шаблон

Меню
Довідники → Операції → Вивантаження даних
Створення
кнопка «Додати» → група «Файл прайс-листу (XLSX, CSV)» → «OpenAI (ChatGPT Ads)»
Редагування
олівець у рядку шаблону
Меню «Додати» у вікні «Вивантаження»: група «Файл прайс-листу (XLSX, CSV)» з пунктом «OpenAI (ChatGPT Ads)»
1Група «Файл прайс-листу (XLSX, CSV)»
2OpenAI (ChatGPT Ads)
  1. Файл прайс-листу (XLSX, CSV) — фід OpenAI є CSV-файлом, тому він у цій групі.
  2. OpenAI (ChatGPT Ads) — клік створює шаблон з уже налаштованими колонками.

Одразу після створення відкривається вікно «Додаткове налаштування OpenAI (ChatGPT Ads) #‹номер шаблону›». У ньому вже ввімкнено формат CSV з комою, архівування вимкнено, а ім'я файлу — openai_products.csv. Над списком колонок — підказка з тим, що лишилося налаштувати вручну.

У файл потрапляє товар, який одночасно: активний; має позначку «Вивантажувати у файл (на сайт)»; лежить у категорії, позначеній до вивантаження; має опис мовою шаблону. Товар без запису опису обраною мовою випадає з файлу цілком. Звузити склад ще більше можна на вкладці «Обмеження вивантаження (фільтр)».

Які колонки вже налаштовані

На вкладці «Вибір полів» стоять 17 колонок. Назва колонки — це назва поля OpenAI, і в такому порядку вони йдуть у файл.

Вікно налаштування шаблону «OpenAI (ChatGPT Ads)» на вкладці «Вибір полів»: підказка і сітка колонок
1Підказка, що лишилось зробити вручну
2Назва поля
3Формула колонки url
4Колонка price: макро підстановки
  1. Підказка над сіткою — що залишилось зробити вручну: адреса сайту у формулах, виробник у товарах, SFTP.
  2. Назва колонки дорівнює назві поля OpenAI.
  3. У формулі колонки url https://site.com/ замінюють на адресу свого сайту.
  4. Для колонки price джерело — «Макро підстановки»: ціну з валютою рахує програма, власної формули немає.
КолонкаЩо в неї потрапляє
item_idID товару в Elbuz — не змінюється між вивантаженнями
titleнайменування товару мовою шаблону
descriptionповний опис без HTML-тегів, обрізаний до 5000 символів; ", – та подібні коди перетворюються на звичайні лапки й тире
urlадреса сайту + SEO-посилання товару
brandвиробник товару
image_urlпосилання на перше фото товару
additional_image_urlsпосилання на решту фото через кому
priceціна у валюті за замовчуванням вашого акаунта: 976.00 UAH
sale_priceакційна ціна в тому ж форматі — тільки коли вона більша за нуль і менша за звичайну, інакше порожньо
availabilityin_stock, pre_order або out_of_stock — правило нижче
gtinGTIN товару, а якщо він порожній — штрихкод EAN
mpnартикул виробника
product_categoryшлях категорії, рівні через знак >
seller_nameназва магазину — текстом у формулі колонки
seller_urlадреса сайту — текстом у формулі колонки
is_eligible_searchtrue
is_ads_eligibletrue — без нього OpenAI не бере товар у рекламу

Ціну, наявність, фото, опис і штрихкод рахує сама програма: у колонці стоїть службове поле, а не формула, тож зламати його випадковим редагуванням не вийде. Валюту й список статусів наявності програма читає під час кожного вивантаження — якщо ви зміните валюту за замовчуванням, наступний файл уже буде з новою.

Як визначається наявність

  1. in_stock — кількість товару більша за нуль або у товару статус наявності з типом «Є».
  2. pre_order — інакше, якщо в статусу тип «На замовлення».
  3. out_of_stock — у всіх інших випадках.

Тип статусу задається в довіднику статусів наявності.

Що треба доправити вручну

Програма не знає двох речей про ваш бізнес, і їх треба вписати самостійно.

Адреса сайту. Її програма бере з налаштувань основного магазину. Якщо там порожньо, у колонках url і seller_url стоїть https://site.com/. Клацніть клітинку «Формула» в рядку колонки й замініть цю адресу своєю. У url після адреси має лишитися макрос SEO-посилання товару — саме він дописує до адреси шлях до конкретного товару.

Назва магазину. У колонку seller_name підставляється назва основного магазину. Якщо там стоїть назва за замовчуванням, замініть її у формулі на справжню: OpenAI вимагає реальну назву продавця.

Поле brand обов'язкове. У товарів без виробника воно буде порожнім, і OpenAI такі товари відхилить. Заповніть виробника в каталозі до першого вивантаження.

Відправка файлу на SFTP

Вкладка «Налаштування» → блок «Повʼязані налаштування» → «Налаштування FTP».

Вікно «Налаштування FTP» шаблону OpenAI з порожніми полями підключення
1SFTP
2Адреса сервера і порт
3Ім'я користувача і пароль
4Перевірити підключення
  1. Галочка SFTP — OpenAI приймає файл тільки по SFTP.
  2. Адреса FTP сервера і порт — з адреси підключення, яку видає OpenAI.
  3. Ім'я користувача і пароль — дані від OpenAI.
  4. Перевірити підключення — перевірка введених даних перед вивантаженням.
  1. Увімкніть «SFTP (SSH File Transfer Protocol)».
  2. У «Адреса FTP сервера» впишіть сервер з адреси підключення OpenAI, у «Порт» — порт з тієї ж адреси. Для SFTP програма бере порт як є і не замінює 21 на 22 сама.
  3. У «Ім'я користувача» і «Пароль» — логін і пароль від OpenAI.
  4. «Шлях куди вивантажувати» залиште порожнім: OpenAI чекає файл у корені SFTP, без вкладених папок.
  5. Натисніть «Перевірити підключення».

Після кожного вивантаження файл openai_products.csv кладеться в цю папку під тим самим іменем і замінює попередній. Відправка йде, тільки коли заповнені і сервер, і ім'я користувача: якщо одне з них порожнє, файл збирається, але нікуди не відправляється, і помилки в журналі не буде.

Перевірка й перший запуск

Кнопка з колбою в шапці вікна шаблону робить пробне вивантаження одного товару: показує кожну колонку з її значенням. Файл при цьому нікуди не відправляється. Перевірте url — посилання має відкриватися — і price з валютою.

Вікно «Перевірка шаблону вивантаження» з результатом для товару 44356
1price
2url
  1. price — сума і код валюти через пробіл.
  2. url — перевірте, що посилання веде на ваш сайт.

Повне вивантаження запускається кнопкою «Вивантажити цей шаблон» у рядку шаблону. У журналі після вдалої відправки з'явиться рядок «Вивантажено файли за FTP: 1 із 1».

Перед першим вивантаженням

Щоденне оновлення

Ціни й наявність у OpenAI оновлюються тільки новим файлом. Щоб він приходив сам, увімкніть розклад: вкладка «Налаштування» → «Повʼязані налаштування» → «Налаштування розкладу». Кожен запуск за розкладом збирає файл заново з поточних даних каталогу і відправляє його на SFTP. Як працює розклад, описано в статті про шаблони вивантаження.

Нові поля OpenAI

Шаблон — звичайний прайс-лист, тож будь-яку колонку можна додати, видалити чи змінити. Коли OpenAI почне приймати нове поле або ви захочете заповнити необов'язкове, натисніть «Додати поле до вивантаження» і назвіть колонку точно як поле в схемі OpenAI.

Приклад: поле condition (стан товару). Додайте «Своя формула», назвіть колонку condition і впишіть у формулу "new" — у кожному рядку файла буде new.

Службові поля «Ціна з валютою (79.99 USD)», «Наявність, код (in_stock / out_of_stock / pre_order)», «Посилання на головне фото товару», «Повний опис текстом (без HTML, до 5000 символів)» та інші доступні й у звичайному прайс-листі — вони стануть у пригоді для CSV-фідів інших майданчиків.

Чого шаблон не робить

  • Не оновлює ціни між вивантаженнями. Швидкі зміни ціни й наявності OpenAI приймає ще й окремим каналом (Delta API), але Elbuz його не використовує: зміни потрапляють до OpenAI з наступним повним файлом.
  • Не підключає акаунт OpenAI. Доступ до фідів і дані SFTP видає OpenAI.
  • Не групує варіанти. Кожен товар — окремий рядок; полів group_id і variant_dict у наборі немає.
  • Не скорочує назву. title іде повним найменуванням; якщо воно довше 150 символів, скоротіть його в каталозі.
  • Не вигадує бренд і адресу сайту. Порожній виробник дає порожній brand, порожня адреса магазину — https://site.com/.

Розбір проблем

Розбір частих проблем
Що ви бачитеЧому такЩо зробити
«Помилка авторизації на SFTP-сервері!» у журналі Невірні логін або пароль. Якщо після тексту йде повідомлення «Cannot connect to …» — програма не дісталася до сервера: невірні адреса або порт Звірте дані з адресою підключення OpenAI і натисніть «Перевірити підключення» (відправка на SFTP)
Файл зібрано, а рядка «Вивантажено файли за FTP» немає і помилки теж немає У «Налаштування FTP» порожні сервер або ім'я користувача Заповніть обидва поля (відправка на SFTP)
У url стоїть https://site.com/… В основному магазині не вказано адресу сайту Замініть адресу у формулах url і seller_url (що доправити)
OpenAI відхиляє товари через порожній brand У товарів не заповнено виробника Заповніть виробника в каталозі (що доправити)
Товар у наявності, а у файлі out_of_stock Кількість нуль, а в статусу наявності товару тип не «Є» Змініть тип статусу в довіднику статусів наявності (як визначається наявність)

Питання й відповіді

Чи можна дати OpenAI посилання на файл замість SFTP?

Ні. OpenAI приймає файл товарів тільки через SFTP. Посилання на файл у хмарі, яке Elbuz формує після вивантаження, OpenAI не забирає.

Чи зламає файл кома в назві товару?

Ні. Значення з комою або лапками програма бере в лапки, лапки всередині подвоює — це стандарт CSV, і OpenAI читає такі рядки правильно. Переноси рядків і табуляції в описах замінюються пробілом.

У якій валюті йде ціна?

У валюті за замовчуванням вашого акаунта, її код дописується до суми: 976.00 UAH. Програма читає валюту під час кожного вивантаження, тож після зміни валюти за замовчуванням наступний файл буде вже з новою.

Як часто оновлюються ціни в OpenAI?

Так часто, як ви вивантажуєте файл. Між вивантаженнями OpenAI бачить попередні ціни й наявність. Для щоденного оновлення увімкніть розклад шаблону.

Як вивантажити не весь каталог?

Відкрийте вкладку «Обмеження вивантаження (фільтр)» у шаблоні й задайте умови відбору. У файл потраплять тільки товари, що пройшли фільтр.

Чи можна вивантажити назви й описи англійською?

Так, якщо тексти англійською є в каталозі. Мову обирають на вкладці «Налаштування» у полі «ID мови»: title і description беруться саме цією мовою. Товар, у якого немає опису англійською, у файл не потрапить зовсім.

Суміжні теми

Чи була стаття корисною?