Что именно принимает команда

DCO, или dynamic creative optimization, использует данные и правила, чтобы собирать либо выбирать варианты объявления. В товарном сценарии источником становится каталог. Фид является способом его передачи, а не самим объявлением: после загрузки остаются обработка, применение правил и рендер в конкретном формате.

Документация Criteo Product Catalog прямо связывает Dynamic Ads с регулярным импортом и обработкой продуктовых данных. Это описание собственного продукта Criteo, не рекомендация запускать зарубежный сервис в России. Для локальной DSP нужно отдельно получить её схему полей и правила обновления.

Российская фактическая опора есть в требованиях Яндекса к YML: товару нужен уникальный идентификатор, а идентификаторы одного товара в разных фидах должны быть согласованы. Эти требования полезны для проверки конкретной интеграции, но не означают, что любой рекламный каталог принимает YML без преобразования.

Сначала договоритесь, что означает SKU

В магазине товаром может считаться модель обуви, а продаваемой единицей конкретный размер и цвет. В рекламе эти уровни нельзя незаметно смешивать. Если событие передаёт ID модели, а каталог содержит варианты, интеграция должна иметь явное правило выбора и доступности.

Учебный пример: посетитель посмотрел красную куртку размера M. В событии отправился ID модели jacket-42, в фиде вариант jacket-42-red-m, а рекламный шаблон взял первую доступную картинку модели. Ошибка находится в связи идентификаторов и вариантов. Улучшение рекомендательной модели её не исправит.

Запишите словарь: ID карточки, ID варианта, group ID, валюта, цена и доступность по региону. Для каждого поля нужен владелец и источник. Не используйте название товара как устойчивый идентификатор: редакторское исправление названия не должно создавать новый товар или разрушать связь с прошлыми событиями.

Пять точек одной проверки

Для выбранного тестового товара сохраняются значения в источнике магазина, экспортированном фиде, импортированном каталоге, объявлении и посадочной странице. Снимки относятся к одному периоду. Иначе вчерашняя цена на скриншоте будет сравниваться с сегодняшней страницей, а команда не сможет отличить задержку от ошибки.

ТочкаЧто подтверждаетсяЧего она ещё не доказывает
ЭкспортФайл сформирован, поля заполненыЧто импорт принял каждое предложение
ИмпортЗапись обработана и доступна каталогуЧто выбран правильный вариант
СборкаЗначения попали в шаблонЧто текст и картинка читаемы
ПоказКонкретная версия отображаетсяЧто обещание совпадает с магазином
ПереходОткрыта нужная карточкаЧто товар доступен нужному покупателю

Статус «файл принят» не равен «все товары опубликованы». Попросите отдельно количество отправленных, принятых, отклонённых и активных записей, а также причины исключений. Если продукт не предоставляет часть этих состояний, неизвестность нужно зафиксировать в акте приёмки.

Семь товаров для приёмки

Рабочий товар, вариант, акция, отсутствие, плохая картинка, длинное название и неверный SKU образуют тестовую выборку
Рабочий товар, вариант, акция, отсутствие, плохая картинка, длинное название и неверный SKU образуют тестовую выборку. Собственная редакционная схема AdTech Russia. Числа в учебных примерах не являются рыночными данными.

Это редакционный набор сценариев, а не обязательный стандарт платформы. Используются тестовый каталог или разрешённые реальные SKU без искусственного изменения публичных цен.

СценарийПроверкаКритерий прохождения
Обычный доступный товарСобытие, фид и переходОдин и тот же SKU на всех этапах
Вариант размера или цветаСвязь модели и вариантаНет обещания недоступного варианта
Акционная ценаЦена, старая цена, срокУсловия совпадают с карточкой
Нет в наличииИсключение и запасной сценарийНе обещается немедленная покупка
Недоступная картинкаОшибка загрузкиКорректный fallback либо исключение
Длинное названиеВсе целевые размерыТекст не обрезает значимый смысл
Несуществующий ID событияРеакция подбораНет случайной подмены известным товаром

Для последнего сценария допускается безопасный переход к явно общему объявлению, если такой вариант согласован. Он не должен выглядеть как персональное предложение просмотренного товара. Нужны наблюдаемый статус и причина fallback, иначе случайная подмена останется незаметной.

Цена имеет версию и область действия

Цена может различаться по региону, магазину, варианту и условиям участия в программе. Запись «от 5 000 рублей» и цена выбранного размера 6 000 рублей являются разными обещаниями. Сначала определяется, какое предложение рекламируется, затем проверяется его отображение.

Формат числа и валюта согласуются с документацией получателя. Локальное представление с пробелом или запятой может отличаться от машинного формата. Текстовую цену нельзя без проверки превращать в число обрезанием символов: потеря разделителя меняет сумму.

В приёмке полезен учебный сценарий обновления акции. Каталог получает новую версию с изменённой ценой и датой окончания. Команда измеряет, когда новая версия стала активной в объявлениях. Если поставщик продолжает использовать предыдущую корректную версию после ошибки импорта, для акционных данных это может быть хуже временного исключения.

Картинка проверяется в готовом объявлении

Рабочий URL ещё не подтверждает правильный объект на изображении. У варианта товара может остаться фотография другого цвета. Возможны водяной знак, пустые поля, неподходящий фон и встроенный текст, который исчезает при кадрировании.

Проверка включает содержимое и геометрию: соотношение сторон, допустимое масштабирование, ключевую область товара и поведение на минимальном размере. Картинку с текстом нельзя бездумно обрезать режимом cover. Если формат требует отдельный ресайз, он готовится до запуска, а не компенсируется уменьшением шрифта всего объявления.

QA проходит по реальному рендеру каждого целевого формата. Для длинного названия заранее определяются перенос и предел длины. Существенные условия цены не прячутся в недоступную подсказку. Кнопка и маркировка не перекрывают товар или цену при изменении размера.

Свежесть файла и свежесть товара различаются

Новый timestamp выгрузки может сопровождать старую запись об остатках. Поэтому журнал хранит время события в товарной системе, формирования файла, успешного импорта и активации версии. Это позволяет разделить задержку магазина и задержку рекламного контура.

Период обновления определяется скоростью изменения ассортимента и возможностями системы. Универсального безопасного интервала для всех товаров нет. Для быстро заканчивающейся акции важнее ограничить время устаревшего обещания, чем поддерживать высокий процент активных записей любой ценой.

Отдельно проверяется поведение при полном отказе обновления. Кто получает уведомление, какая версия остаётся активной, когда отключается набор товаров и кто разрешает восстановление? Ответ «перезагрузим файл вручную» нуждается в ответственном и наблюдаемом результате после загрузки.

Запасной сценарий должен сохранять смысл

Если конкретный товар недоступен, возможны исключение показа, предложение доступного варианта или общий креатив категории. Правильный выбор зависит от брифа. Подстановка другого товара без изменения обещания создаёт смысловую ошибку даже при технически успешной загрузке.

В сценарии выбора альтернативы сравниваются категория, основные свойства и применимые условия. Если согласованной логики нет, лучше не выдавать её за персонализацию. Сначала команда утверждает fallback, затем проверяет его на тестовой выборке и в отчёте.

Для больших каталогов полезен отчёт по причинам выпадения и fallback, с разбивкой по категориям и версиям импорта. Общая доля валидных записей может скрывать исчезновение всей приоритетной товарной группы. Успех измеряется покрытием нужного ассортимента и корректностью обещаний, а не одним числом строк XML.

Российская приёмка с владельцами ошибок

Товарная команда отвечает за цену, наличие и варианты. Разработчик интеграции за соответствие полей и доставку. AdOps за импорт, шаблоны и статусы показа. Маркетолог согласует обещание и запасной сценарий. У каждого дефекта есть владелец, срок повторной проверки и версия исправленного файла.

Начальный пилот можно ограничить одной категорией и семью описанными товарами. После ручной приёмки технические проверки распространяются на весь каталог: уникальность ID, ссылки, обязательные поля и согласованность числовых значений. Ручной осмотр остаётся для содержания изображений и итоговой читаемости.

На выходе нужна таблица «сценарий, ожидаемый результат, фактический рендер, версия, решение». Только затем каталог допускается к более широкому расходу. Если ошибка затрагивает цену или доступность, её нельзя закрыть общим письмом поставщика без нового показа исправленного объявления.

После приёмки начинается другой эксперимент

Исправный фид подтверждает, что команда доставляет корректное предложение. Он ещё не доказывает, что динамический креатив эффективнее статического. Это проверяется отдельным сравнением при сопоставимой аудитории и закупке. Нельзя приписывать персонализации рост, который появился после исправления цен или изменения таргетинга.

Порядок сравнения описан в разборе теста креативов, временная сторона данных в материале о свежести сегмента. Для продолжения есть хаб creative automation, определения first-party data и delivery. Следующее действие команды вполне конкретно: собрать тестовый каталог и пройти все семь сценариев на реальных размерах объявлений.