СтатьяРеклама

Как проверить, какие товары фида отбирает фильтр Директа

Проверяем рекламный ассортимент по сохранённому правилу: категория, наличие, ценовые границы и точный список ID. Учебный пример и локальный расчёт.

Бумажные карточки товаров проходят через три рамки с символами категории, наличия и цены; концептуальная иллюстрация отбора ассортимента.

Зафиксируйте условия отбора в Директе и примените их к сохранённой версии фида по каждому offer id. Получится ожидаемый список товаров: его можно сравнить с составом в кабинете после обработки. Так вы найдёте ошибку фильтра, даже если сам YML проходит проверку.

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

Сохраните файл и условия как одну проверяемую версию

Запишите URL источника, время получения и контрольную сумму YML. Рядом сохраните снимок настроек кампании: источник товаров, категорию, условие наличия, ценовые операторы и валюту. Укажите кампанию и время проверки. Если настройки изменились, старый список ожидаемых ID уже нельзя использовать для приёмки.

Начните с анализатора товарных фидов WiseLab: проверьте файл целиком в пределах его лимитов, разберите дубли и обязательные поля. Для общего счётчика есть отдельная инструкция о количестве товаров в YML. Здесь к исправным данным добавляется правило выбора рекламного ассортимента.

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

Переведите намерение в точное правило

Фраза «кресла средней цены, которые можно купить» допускает разные трактовки. Для учебной проверки запишем её так:

categoryId = 10
И available = true
И price >= 500
И price <= 1000

Все цены примера — BYN, обе границы включены. Код BYN указан в поддерживаемых валютах YML. В кабинете проверьте эквивалентность операторов: больше 500 и не меньше 500 дадут разный результат для товара ровно за 500. Для смешанных валют сначала согласуйте единую базу сравнения; складывать или сравнивать исходные числа разных валют нельзя.

Категория тоже должна быть определена точно. В диагностике товарных объявлений Яндекс отдельно предупреждает о фильтре по пустой родительской категории: наличие товаров только в её подкатегориях само по себе не обеспечивает отбор. Сверяйте фактические categoryId офферов и выбранные в интерфейсе значения.

Для фильтра «Только в наличии» та же справка требует товары с available="true", соответствующие остальным условиям. В контрольном наборе используйте явные true и false. Отсутствующий атрибут или неизвестное наличие вынесите на разбор: приведённый ниже код намеренно останавливается на таких данных и не моделирует все значения по умолчанию Директа.

Учебный пример: восемь товаров, три подходят

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

IDКатегорияЦена, BYNВ наличииРезультат по правилу
A10499trueНиже нижней границы
B10500trueПодходит
C10750trueПодходит
D101000trueПодходит
E101001trueВыше верхней границы
F10750falseНет в наличии
G20750trueДругая категория
H201200falseНе выполнены три условия

При последовательной проверке категории остаются шесть товаров, наличия — пять, цены — три: B, C и D. Это ожидаемый состав по нашему правилу, ещё до решения рекламной системы о создании и показе объявлений.

Учебный отбор восьми товаров: категорию 10 проходят шесть, условие наличия — пять, диапазон 500–1000 BYN — три: B, C и D.

Порядок ступеней выбран для объяснения; при одновременном выполнении всех условий итоговый набор тот же. У исключений могут пересекаться причины: цену не проходят A, E и H, наличие — F и H, категорию — G и H. Получилось семь отметок нарушения у пяти разных товаров. Для отчёта об исключённом ассортименте считайте уникальные ID.

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

Повторите отбор локально

Сохраните таблицу как products.csv с полями offer_id,category_id,price,currency,available. Значения наличия — true или false, ID — текст. Для учебного набора достаточно Python 3:

import csv
from decimal import Decimal as D

with open("products.csv", encoding="utf-8-sig", newline="") as src:
    rows = list(csv.DictReader(src))
ids = [r["offer_id"] for r in rows]
assert rows and all(ids) and len(ids) == len(set(ids))
selected = []
for r in rows:
    assert r["currency"] == "BYN"
    assert r["available"] in {"true", "false"}
    price = D(r["price"])
    assert price.is_finite() and price > 0
    if (r["category_id"] == "10"
            and r["available"] == "true"
            and D("500") <= price <= D("1000")):
        selected.append(r["offer_id"])
print(sorted(selected))

Результат — ['B', 'C', 'D']. Запускайте пример без отключения проверок assert. Код воспроизводит конкретное правило на подготовленной таблице; он не читает настройки аккаунта, не проверяет весь YML и не предсказывает модерацию. Для рабочего отчёта сохраняйте также причины исключения каждого ID.

Сверьте состав после обработки в Директе

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

Затем сопоставьте ожидаемые ID с фактическим составом, доступным в вашем интерфейсе. Если полной выгрузки нет, честно укажите, что проверена выборка: превью нескольких объявлений не подтверждает весь ассортимент. В примере отдельно проверьте B и D на ценовых границах, A и E рядом с ними, а также F и G как отрицательные контроли.

Разность «ожидались, но не обнаружены» направляет проверку к версии фида, настройке или диагностике товара. Обратная разность «обнаружены, но не ожидались» — к другому источнику, изменившемуся правилу или исходным значениям. Это направления расследования; по одной разности нельзя установить причину и оценить потерянные продажи.

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

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

Источники

Материал подготовлен редакцией WiseLab с помощью AI. Источники и фактические утверждения проверены при подготовке.

Загружаем рейтинг…

Насколько полезен материал?

Выберите оценкуСлева — меньше пользы, справа — больше

Загружаем вашу оценку…

Что думаете?

Загружаем комментарии…

СЛЕДУЮЩИЙ ШАГ

Что ещё поможет в этой задаче