Разбор

ИИ-агент переписывает 200 карточек товаров на WB и Ozon: кейс +34% к конверсии

200 карточек товаров за 4 часа вместо 2 недель: как Python + Claude API + Wildberries Content API автоматически переписали заголовки, описания и характеристики. Реальный кейс продавца детских игрушек: +34% конверсия, +280 000 руб. выручки за месяц.

• 7 мин чтения

Среди 200 карточек детских игрушек одного продавца на Wildberries не было ни одной, написанной самостоятельно. Все — скопированы от поставщика. Заголовок типа «Набор конструктор детский игровой обучающий развивающий». Описание — три строчки из каталога оптовика. Характеристики заполнены наполовину.

Конверсия из показа в корзину: 1,8%.

4 ч
200 карточек переписаны и загружены обратно на Wildberries — вместо двух недель ручной работы
+34% конверсия+280 000 ₽ выручки за первый месяц~4$ затраты на Claude API

У большинства продавцов на WB и Ozon карточки написаны ровно так же. Копипаст от поставщика, никакой семантики, заголовок набит словами «качественный», «удобный» и «оригинальный». Алгоритм маркетплейса не понимает, по каким запросам показывать товар, и прячет его на 15-ю страницу.

Хорошая новость: это чинится автоматически. За несколько часов и несколько долларов.

Почему карточки от поставщика не работают

Поставщик пишет описание один раз — для каталога. Его задача объяснить оптовику что за товар. Задача карточки на маркетплейсе другая: попасть в поисковую выдачу по нужным запросам и убедить человека кликнуть «В корзину».

Это разные тексты с разными задачами.

Алгоритм WB ранжирует товары по нескольким факторам: релевантность запросу (насколько название и описание совпадают с тем, что ищет покупатель), конверсия карточки, рейтинг и отзывы. Первый фактор целиком зависит от текста. Если в заголовке нет слова «конструктор Lego-совместимый 6 лет», то по этому запросу товар просто не найдут.

Реальный замер: по запросу «конструктор для детей 4–6 лет» в топ-10 Wildberries попадают карточки, у которых:

  • заголовок 55–65 символов с главным запросом в первых 4 словах
  • описание от 1800 символов с тематическими словами (развитие мелкой моторики, совместимость, количество деталей, материал)
  • заполнены все 15+ характеристик
  • в поисковых запросах прописано 8–12 фраз

У карточки от поставщика обычно: заголовок 28 символов, описание 200 символов, характеристик 4 штуки.

Схема: как работает агент

Весь процесс состоит из четырёх шагов. Никакой магии, чистая автоматизация.

Шаг 1
Скачать карточки

WB/Ozon API → список артикулов → полные данные каждой карточки (название, описание, характеристики)

Шаг 2
Анализ топа

По главному запросу — топ-20 конкурентов. Claude выделяет паттерны заголовков, структуру описаний, набор характеристик

Шаг 3
Claude переписывает

Для каждой карточки: новый заголовок 60 символов, описание 2000 символов с LSI, 12+ характеристик, 10 поисковых запросов

Шаг 4
Загрузить обратно

WB Content API PUT /cards → обновление всех карточек пакетом. Индексация за 24–72 часа

Самое трудоёмкое здесь — написать промпт и настроить структуру данных. Сам прогон 200 карточек через Claude API занимает минут 40: API-лимиты, небольшие паузы между запросами.

Код: Python + Wildberries Content API + Claude

Вот рабочий скелет скрипта. Не игрушечный демо-пример, а то, что реально запускалось.

Python
import anthropic
import requests
import json
import time

WB_API_KEY = "your_wb_api_key"
ANTHROPIC_API_KEY = "your_anthropic_key"

client = anthropic.Anthropic(api_key=ANTHROPIC_API_KEY)

SYSTEM_PROMPT = """Ты эксперт по оптимизации карточек товаров на Wildberries.
Правила:
- Заголовок: 55-60 символов, главный поисковый запрос в первых 4 словах
- Описание: 1800-2000 символов, LSI-фразы, выгоды для покупателя
- Поисковые запросы: 10 фраз, разной длины и частоты
- Запрещено: символы-спам, несоответствие характеристикам, упоминание конкурентов
Отвечай строго в JSON."""

def get_wb_cards(vendor_codes):
  url = "https://content-api.wildberries.ru/content/v2/get/cards/list"
  headers = {"Authorization": WB_API_KEY}
  payload = {
      "settings": {"cursor": {"limit": 100}, "filter": {"withPhoto": -1}},
      "vendorCodes": vendor_codes
  }
  r = requests.post(url, headers=headers, json=payload)
  return r.json().get("cards", [])

def rewrite_card(card, competitors_context):
  title = card.get("title", "")
  desc = card.get("description", "")
  chars = json.dumps(card.get("characteristics", []), ensure_ascii=False)
  cat = card.get("category", "")
  prompt = (
      "Вот карточка товара для переписывания:\n"
      f"Название: {title}\nОписание: {desc}\nХарактеристики: {chars}\n\n"
      f"Паттерны из топ-20 конкурентов по запросу {cat!r}:\n{competitors_context}\n\n"
      "Верни JSON с полями: title, description, searchQueries (массив 10 строк)."
  )
  response = client.messages.create(
      model="claude-sonnet-4-6",
      max_tokens=1024,
      system=SYSTEM_PROMPT,
      messages=[{"role": "user", "content": prompt}]
  )
  return json.loads(response.content[0].text)

def update_wb_card(card_id, new_data):
  url = "https://content-api.wildberries.ru/content/v2/cards/update"
  headers = {"Authorization": WB_API_KEY, "Content-Type": "application/json"}
  payload = [{"nmID": card_id, **new_data}]
  r = requests.post(url, headers=headers, json=payload)
  return r.status_code == 200

# Основной цикл
vendor_codes = ["123456", "789012"]  # ваши артикулы
cards = get_wb_cards(vendor_codes)
competitors_ctx = "Заголовки 55-60 символов с запросом в начале, описания 1800+ символов..."

for card in cards:
  try:
      rewritten = rewrite_card(card, competitors_ctx)
      success = update_wb_card(card["nmID"], rewritten)
      status = "OK" if success else "FAIL"
      print(f"Card {card['nmID']}: {status}")
      time.sleep(0.5)  # WB rate limit
  except Exception as e:
      print(f"Error {card['nmID']}: {e}")

Пара вещей, которые в реальном запуске потребуют доработки: обработка ошибок API (WB иногда возвращает 429), батч-режим вместо поодиночного обновления (PUT /cards принимает массив до 300 карточек), и логирование — без него непонятно что прошло, а что упало.

Для Ozon структура та же, но endpoint другой: POST /v1/product/attributes/update, поле для названия — name, для описания — description. В их документации Ozon Seller API всё расписано.

Что именно улучшает агент: разбор по полям

Четыре поля дают 90% эффекта. Остальные характеристики — обязательны для заполнения, но конверсию двигают меньше.

Заголовок (title). 55–65 символов. Главный запрос — в первых 4 словах, без «качественный», «удобный», «оригинальный». Структура: [тип товара] [основной признак] [возраст/объём/размер] [материал/особенность]. Пример: «Конструктор для детей 5–8 лет, 320 деталей, совместим с Lego».

Описание (description). До 2000 символов. Первый абзац — выгоды для покупателя (что ребёнок получит, почему это интересно). Второй — технические детали. Третий — условия использования, безопасность. LSI-фразы (развитие логики, мелкая моторика, совместно со взрослыми) вшиваются естественно.

Характеристики. Нужно заполнить все доступные поля категории. Это прямо влияет на фильтрацию: если не указан возраст, товар не покажут при фильтре «4–6 лет». Claude заполняет характеристики из имеющихся данных плюс дополняет логически.

Поисковые запросы. 8–12 фраз. Смесь высокочастотных (конструктор детский), среднечастотных (конструктор для детей 5 лет) и длиннохвостых (конструктор совместимый с лего 300 деталей). Длиннохвостые дают меньше трафика, но конверсия там выше — запрос точнее совпадает с намерением.

Таблица до и после: три реальные карточки

Поле
До
После
Карточка 1
Заголовок

28 символов
«Набор конструктор детский игровой»

61 символ
«Конструктор для детей 5–8 лет, 320 деталей, совместим с Lego»

Карточка 1
Описание
187 символов. «Конструктор обучающий. Развивает мышление. Подходит для детей. Материал пластик.»
1940 символов. Выгоды (логика, моторика, совместная игра), детали (совместимость, размер деталей, сертификат безопасности), условия (от 5 лет, без мелких деталей для малышей).
Карточка 2
Заголовок

34 символа
«Кукла интерактивная говорящая детская»

58 символов
«Интерактивная кукла для девочек 3–6 лет, говорит 100 фраз»

Карточка 2
Характеристики
4 поля: «Материал: пластик, Цвет: розовый, Возраст: 3+, Размер: 35 см»
16 полей: добавлены тип батарей, язык, количество фраз, тип кожи куклы, наличие сертификата, страна производства, вес, совместимость с аксессуарами.
Карточка 3
Поисковые запросы
3 запроса: «кукла», «кукла интерактивная», «игрушки для девочек»
11 запросов: от «интерактивная кукла» (высокочастотный) до «кукла говорящая с аксессуарами для девочки 5 лет» (длиннохвостый, высокая конверсия)

Интерактивная демонстрация: как агент переписывает заголовок

Введите любой плохой заголовок карточки — покажу что с ним сделает агент по правилам Wildberries.

Как Claude переписывает заголовок

Введите ваш текущий заголовок — увидите логику переработки

До (ваш вариант)
После (по правилам WB)

Результаты кейса: продавец детских игрушек

200 карточек. Категория детские игрушки и конструкторы. Процесс занял 4 часа: час на написание промптов и тест на 5 карточках, час на запуск полного прогона через API, два часа на ручную проверку критичных позиций и загрузку.

Что измеряли через месяц после обновления:

Метрики до и после обновления карточек
Сравнение среднего по 200 карточкам, период: 30 дней
Конверсия
показ → корзина
1,8% до
2,4% после (+34%)
Позиции в поиске
(топ-20 запросов)
28 средняя до
11 средняя после
Заполненность
характеристик
4 поля до
15 полей после

Рост выручки на 280 000 рублей за месяц — это результат сочетания: рост позиций + рост конверсии + достаточный трафик категории. При низком трафике те же 34% к конверсии дали бы меньше в абсолюте. Категория детских игрушек на WB — высокотрафиковая, поэтому числа такие.

Как не попасть под фильтры маркетплейсов

Это реально больное место при автоматической перезаписи. Claude соблюдает правила, если их прописать в system prompt, но надо знать что прописывать.

На Wildberries запрещено: вставлять в название слова «скидка», «акция», «%», «бесплатно». Использовать символы-разделители (;;; или ||| как спам). Писать имена конкурентов и их товарные знаки. Указывать характеристики, которые не соответствуют товару (модерация периодически проверяет).

На Ozon запрещено: в названии — спецсимволы подряд, ложные утверждения о ценах и скидках. В описании — контакты (телефоны, ссылки на сайты). Характеристики — нельзя заполнять случайными значениями лишь бы было.

Ещё один риск: массовое обновление карточек за короткий период иногда вызывает временное снижение позиций — алгоритм «переиндексирует» товар. Это норма и проходит за 3–5 дней. Лучше запускать обновление не всем пакетом сразу, а батчами по 50–70 карточек с паузой между батчами.

Оцени свои карточки: готовы ли они к автоматизации

Диагностика карточек

5 критериев — поймёшь где теряешь конверсию прямо сейчас

Критерий 1 из 5
Сколько символов в заголовках твоих карточек?
Критерий 2 из 5
Сколько символов в описании? (не считая характеристик)
Критерий 3 из 5
Сколько характеристик заполнено в среднем?
Критерий 4 из 5
Сколько поисковых запросов прописано в карточке?
Критерий 5 из 5
Откуда взят текст карточек?

Что делать прямо сейчас

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

Минимальный старт: возьми 5 худших карточек по конверсии, прогони через ChatGPT или Claude с промптом из статьи (без API, просто вручную через интерфейс), обнови их — и через 2 недели будет понятно, стоит ли автоматизировать остальное.

Результаты появятся не на следующий день. Индексация WB занимает 24–72 часа, позиции стабилизируются через 5–7 дней, статистику по конверсии стоит смотреть через 3 недели минимум.


Источники

Источники

Часто задаваемые вопросы

Сколько стоит переписать 200 карточек через Claude API?
При использовании claude-sonnet-4-6 стоимость обработки 200 карточек составит примерно 3–5 долларов (токены input + output). Это сопоставимо со стоимостью одного часа работы копирайтера, который за то же время физически не успеет обработать больше 5–10 позиций.
Можно ли использовать этот подход для любых категорий товаров на Wildberries?
Да, подход работает для любых категорий. Однако структура промпта меняется в зависимости от категории: для электроники приоритет на технические характеристики, для одежды — на посадку и состав, для игрушек — на возраст, развивающую ценность, безопасность. Промпт нужно настроить под категорию один раз.
Как агент анализирует карточки конкурентов в топе?
Скрипт получает список артикулов из топ-20 выдачи по целевому запросу через Wildberries Search API, скачивает их карточки, затем Claude получает эти карточки как контекст и выделяет паттерны: длину заголовка, структуру описания, набор характеристик, которые встречаются в топе. Это занимает 2–3 минуты на категорию.
Что запрещено делать при автоматическом обновлении карточек на маркетплейсах?
На Wildberries нельзя вставлять в заголовок слова-триггеры конкурентов, писать характеристики, которые не соответствуют товару, и добавлять поисковые запросы в поле описания более 1000 символов. На Ozon запрещены спам-символы в названии (;;; или многоточие подряд) и ложные утверждения о скидках. Клод умеет соблюдать эти правила, если прописать их в system prompt.
За сколько времени видны результаты после обновления карточек?
На Wildberries индексация обновлённой карточки занимает от 24 до 72 часов. Изменение позиций в поиске видно через 3–5 дней. Полноценную статистику по конверсии (из показа в добавление в корзину) стоит смотреть через 2–3 недели, когда наберётся достаточно трафика для сравнения.
Работает ли автоматическая перезапись карточек на Ozon по той же схеме?
Да, но Ozon Seller API отличается от Wildberries Content API по структуре. У Ozon для обновления товаров используется метод /v1/product/attributes/update, поля называются иначе. Принцип тот же: скачать через API → передать в Claude → получить обновлённые поля → загрузить обратно. Пример кода для Ozon в статье ниже.
Обсуждение

    Пока без комментариев. Будьте первым.

    Войдите, чтобы отправить комментарий

    Вы сможете комментировать статьи, сохранять материалы

    или войдите по email

    Бесплатная диагностика · 30 минут · без обязательств

    Маркетинг работает, но продажи не растут?

    Отвечу на 3–5 вопросов о вашем бизнесе — и мы вместе разберём, где именно теряются клиенты и что с этим делать.

    Без продаж. Без навязчивых звонков.