Перенос товарного каталога с Wildberries на Ozon — задача, с которой сталкивается каждый второй продавец, расширяющий присутствие на маркетплейсах. На первый взгляд процесс кажется простым: скачал данные из одного личного кабинета, загрузил в другой. Но на практике продавцы теряют дни на исправление ошибок формата, адаптацию описаний под требования Ozon и борьбу с дублями в каталоге. Эта статья поможет избежать типичных ошибок и автоматизировать процесс на 80%.
Главная проблема — разные структуры данных у маркетплейсов. То, что идеально работает на Wildberries (например, краткие характеристики или упор на визуал), на Ozon может стать причиной отклонения карточки. Мы разберём три основных способа переноса: ручной экспорт/импорт, полуавтоматический через Excel/Google Sheets и полную автоматизацию с помощью API и сервисов-интеграторов. Особое внимание уделим скрытым требованиям Ozon к атрибутам товаров, которые не прописаны в официальной документации, но влияют на видимость в поиске.
Почему нельзя просто скопировать товары с WB на Ozon
Начинающие продавцы часто пытаются перенести товары "как есть", просто заменив логотип маркетплейса в описании. Это приводит к двум ключевым проблемам:
- 🔍 Разные требования к атрибутам. Например, Ozon обязательно требует указать
страну производства,гарантиюивес с упаковкой, тогда как на Wildberries эти поля могут быть пустыми. - 📏 Ограничения по контенту. На Ozon запрещены водяные знаки на фото, а описание должно содержать не менее 50 символов (на WB хватает и 20).
- 🛒 Категорийные различия. Одна и та же позиция может относиться к разным категориям: например, чехол для телефона на WB — это "Аксессуары", а на Ozon — "Защитные чехлы" с подкатегорией по бренду смартфона.
Ещё один подводный камень — алгоритмы ранжирования. То, что хорошо работает на Wildberries (например, ключевые слова в начале названия), на Ozon может привести к понижению в выдаче. Например, Ozon строго следит за тошнотой ключевых слов и штрафует карточки, где одно и то же слово повторяется более 3 раз в первых 100 символах названия.
Способ 1: Ручной экспорт и импорт через Excel
Это самый доступный метод для продавцов с каталогом до 500 позиций. Он не требует технических навыков, но занимает много времени. Алгоритм действий:
- Экспортируйте данные из Wildberries:
- 📄 Перейдите в
Личный кабинет → Товары → Экспорт. - 📌 Выберите формат
XLSX(не CSV! — в нём теряются русские символы). - ⚙️ Отметьте галочки: "Название", "Артикул", "Цена", "Остатки", "Описание", "Характеристики", "Фото" (ссылки).
- 📄 Перейдите в
- 🔄 Переименуйте колонки согласно шаблону Ozon (например,
vendorCodeвместо "Артикул"). - ✂️ Удалите лишние символы: на Ozon запрещены "!", "?", знаки копирайта (©) в названиях.
- 📏 Проверьте длину полей: название товара — до 150 символов, описание — от 50 до 4000.
Самая частая ошибка на этом этапе — несоответствие категорий. Например, если на WB ваш товар в категории "Одежда → Футболки", то на Ozon нужно указать точный category_id (например, 17035633 для мужских футболок). Найдите актуальные ID в справочнике категорий Ozon.
Удалить из названия бренд, если он не официальный дистрибьютор
Проверить уникальность артикулов (дубликаты не пройдут валидацию)
Заменить ссылки на фото с WB на прямые URL (без редиректов)
Добавить обязательные атрибуты: страна, вес, гарантия
-->
Способ 2: Полуавтоматическая обработка через Google Sheets
Если у вас 500–5000 товаров, ручная правка станет кошмаром. В этом случае поможет Google Sheets с формулами и скриптами. Вот пошаговая инструкция:
- Загрузите экспортированный файл из WB в Google Sheets.
- Создайте отдельный лист с шаблоном для Ozon (скачайте официальный шаблон).
- Используйте формулы для автоматической обработки:
=REGEXREPLACE(A2; "[!?©]"; "") // Удаляет запрещённые символы=IF(LEN(B2)>150; LEFT(B2;147)&"..."; B2) // Обрезает длинные названия
=ARRAYFORMULA(IFERROR(VLOOKUP(D2:D; 'WB Data'!A:B; 2; FALSE); "")) // Подтягивает цены по артикулу
- Для массовой замены категорий используйте скрипт:
function replaceCategories() {const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Ozon");
const data = sheet.getDataRange().getValues();
const categoryMap = {
"Одежда → Футболки": 17035633,
"Обувь → Кроссовки": 17035899
// Добавьте свои соответствия
};
data.forEach((row, i) => {
if (categoryMap[row[3]]) { // Предполагаем, что категория в 4-й колонке
sheet.getRange(i+1, 4).setValue(categoryMap[row[3]]);
}
});
}
- 🚫 Запрещены слова "хит", "супер", "акция" в названии (если это не официальная акция Ozon).
- 📦 Для товаров весом >5 кг обязательно указать габариты упаковки.
- 🔗 Ссылки на фото должны быть прямыми (без редиректов) и доступными без авторизации.
- 🔄 Синхронизировать остатки и цены в реальном времени.
- 📦 Автоматически подставлять вес и габариты из карточки WB.
- 🛡️ Проверять товары на соответствие требованиям Ozon перед загрузкой.
Важно: перед загрузкой проверьте файл на ошибки через Инструменты → Валидатор данных в личном кабинете Ozon. Обратите внимание на скрытые ограничения:
Способ 3: Автоматизация через API и сервисы-интеграторы
Для крупных каталогов (5000+ товаров) или регулярных обновлений единственное разумное решение — автоматизация. Рассмотрим три варианта:
| Способ | Стоимость | Скорость | Технические навыки | Подходит для |
|---|---|---|---|---|
| Ozon API + самописный скрипт | Бесплатно (лимит 1000 запросов/день) | ⚡ Мгновенно | ⭐⭐⭐⭐ (Python, JS) | Разработчиков, крупных продавцов |
| МойСклад + Ozon | От 1500 ₽/мес | 🐢 1–2 часа на синхронизацию | ⭐ (настройка через интерфейс) | Малого и среднего бизнеса |
| Peak или Sellerboard | От 3000 ₽/мес | ⚡ 10–30 минут | ⭐⭐ (базовая настройка) | Мультимаркетплейсовых продавцов |
| 1C + модуль интеграции | От 10 000 ₽ (разово) | 🐢 2–4 часа (первый запуск) | ⭐⭐⭐ (настройка 1C) | Крупных компаний с собственным складом |
Для большинства продавцов оптимальным решением станет МойСклад или Peak. Эти сервисы позволяют:
Пример кода для выгрузки через Ozon API (Python):
import requests
import json
Получаем токен в личном кабинете Ozon: Профиль → Настройки → API-ключи
API_KEY = "ваш_api_ключ"
CLIENT_ID = "ваш_client_id"
url = "https://api-seller.ozon.ru/v2/product/import"
headers = {
"Client-Id": CLIENT_ID,
"Api-Key": API_KEY,
"Content-Type": "application/json"
}
Чтение данных из файла (предварительно обработанного)
with open("ozon_products.json", "r", encoding="utf-8") as f:
data = json.load(f)
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
Как получить API-ключ для Ozon?
1. Зайдите в личный кабинет Ozon → Профиль → Настройки.
2. Перейдите на вкладку "API-ключи".
3. Нажмите "Создать ключ", укажите название (например, "Выгрузка товаров").
4. Скопируйте Client-ID и Api-Key — они понадобятся для запросов.
⚠️ Ключи действуют 1 год, затем их нужно обновлять.
Типичные ошибки и как их избежать
Даже при автоматической выгрузке продавцы сталкиваются с ошибками валидации. Вот топ-5 проблем и их решения:
- Ошибка: "Недопустимый формат артикула"
🔹 Причина: Артикул содержит пробелы, спецсимволы или начинается с цифры (на Ozon артикул должен быть уникальным алфавитно-цифровым кодом длиной до 40 символов).
🔧 Решение: Используйте формулу в Excel:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;" ";"_");".";"_")) - Ошибка: "Отсутствует обязательное поле 'country'"
🔹 Причина: На WB страна производства не всегда указана, а на Ozon это обязательный атрибут.
🔧 Решение: Заполните поле вручную или используйте правило: если страна не указана, ставьте "Китай" (самый универсальный вариант для большинства товаров).
- Ошибка: "Фото не соответствует требованиям"
🔹 Причина: На фото есть водяные знаки, логотип WB или фон не белый.
🔧 Решение: Используйте сервисы вроде Remove.bg для удаления фона или Canva для массовой обработки.
⚠️ Внимание: Если вы переносите товары с отзывами с Wildberries, не копируйте их в описание на Ozon. Это нарушает правила маркетплейса и может привести к блокировке карточки. Вместо этого используйте реальные отзывы покупателей с Ozon или создайте их заново через сервис Ozon Отзывы.
Оптимизация карточек под алгоритмы Ozon
Простого переноса данных недостаточно — нужно адаптировать карточки под поисковый алгоритм Ozon. Вот ключевые отличия от Wildberries:
- 🔍 Название товара:
На Ozon работает формула:
[Бренд] [Тип товара] [Ключевое отличие] [Модель/артикул].Пример для WB: "Чехол силиконовый для iPhone 13, прозрачный".
Пример для Ozon: "Чехол Baseus Crystal Clear для Apple iPhone 13 (2021) — ударопрочный, прозрачный, с защитой камеры".
- 📝 Описание:
На Ozon описание должно быть структурированным: сначала ключевые характеристики (маркированный список), затем подробное описание с абзацами.
Используйте теги
<b>для выделения важных фраз (например, "Гарантия 12 месяцев"). - 🏷️ Характеристики:
Заполняйте все доступные атрибуты — даже optional. Чем больше данных, тем выше шанс попасть в фильтры и подборки.
Для одежды обязательно укажите: состав ткани, размерную сетку (в см!), рекомендации по уходу.
Лайфхак: Используйте Ozon Insights (в личном кабинете) для анализа конкурентов. Этот инструмент показывает:
- 📊 Топ-10 ключевых слов в названиях конкурентов.
- 💰 Среднюю цену в категории.
- ⭐ Рейтинговые характеристики (что влияет на позицию в поиске).
Синхронизация остатков и цен между WB и Ozon
Если вы продаёте одни и те же товары на обоих маркетплейсах, важно синхронизировать остатки, чтобы избежать оверселинга (продажи товара, которого уже нет на складе). Вот три способа синхронизации:
| Способ | Плюсы | Минусы | Стоимость |
|---|---|---|---|
| Ручной ввод | Без ошибок, полный контроль | Занимает много времени | Бесплатно |
| Google Sheets + формулы | Автоматизирует расчёты | Нужно обновлять вручную | Бесплатно |
| МойСклад/1C | Реальное время, минимум ошибок | Сложная настройка | От 1500 ₽/мес |
| Скрипт на Python + API | Гибкость, скорость | Требует навыков программирования | Бесплатно (лимит запросов) |
Пример скрипта для синхронизации остатков (упрощённая версия):
import requests
Получаем остатки с WB
wb_url = "https://suppliers-api.wildberries.ru/api/v3/stocks"
wb_headers = {"Authorization": "ваш_wb_token"}
wb_response = requests.get(wb_url, headers=wb_headers)
wb_stocks = wb_response.json()
Обновляем остатки на Ozon
ozon_url = "https://api-seller.ozon.ru/v1/product/stocks"
ozon_headers = {
"Client-Id": "ваш_client_id",
"Api-Key": "ваш_api_key",
"Content-Type": "application/json"
}
data = [{
"offer_id": item["supplierArticle"],
"stock": item["quantity"]
for item in wb_stocks
}]
ozon_response = requests.post(ozon_url, headers=ozon_headers, json=data)
print(ozon_response.json())
⚠️ Внимание: При синхронизации цен учитывайте комиссии маркетплейсов. На Ozon комиссия может быть выше на 2–5% в зависимости от категории. Используйте формулу:
Цена на Ozon = Цена на WB × (1 + (Комиссия Ozon - Комиссия WB)/100)
FAQ: Ответы на частые вопросы
Можно ли перенести отзывы с Wildberries на Ozon?
Нет, это нарушает правила Ozon. Отзывы привязаны к конкретной площадке и покупателю. Однако вы можете:
- 📸 Добавить в галерею карточки скриншоты отзывов с WB (без упоминания маркетплейса).
- 💬 Использовать цитаты из отзывов в описании (например: "Как отмечают покупатели: 'Чехол идеально сидит, не желтеет со временем'").
Что делать, если товар на Ozon не проходит модерацию?
Сначала проверьте письмо с причиной отклонения (приходит на email, привязанный к аккаунту). Частые причины:
- 📄 Незаполненные обязательные поля (страна, вес, габариты).
- 🖼️ Фото низкого качества (разрешение меньше 800×800 px).
- 🏷️ Несоответствие категории (например, детская одежда без сертификата).
Если причина неясна, напишите в поддержку Ozon через форму в личном кабинете (раздел "Помощь") с просьбой уточнить детали.
Как перенести варианты товара (цвета, размеры)?
На Ozon варианты оформляются иначе, чем на WB. Вам нужно:
- Создать родительский товар (общая карточка).
- Добавить дочерние товары (варианты) с уникальными артикулами.
- Указать связь через поле
parentOfferId(для вариантов).
Пример структуры для футболки:
{
"offerId": "tshirt_black_m", // Артикул варианта
"parentOfferId": "tshirt_base", // Артикул родителя
"name": "Футболка мужская, чёрный, M",
"attributes": [
{"key": "Цвет", "value": "Чёрный"},
{"key": "Размер", "value": "M"}
]
}
Сколько времени занимает перенос 1000 товаров?
Зависит от способа:
- 🐢 Ручной перенос: 2–3 дня (по 8 часов в день).
- ⚡ Через Google Sheets: 4–6 часов (включая настройку формул).
- 🤖 Через API/интеграторы: 1–2 часа (плюс время на настройку).
Совет: разбейте процесс на этапы. Например, сначала перенесите 100 топовых товаров, проверьте их работоспособность, затем остальные.
Можно ли перенести товары с WB на Ozon бесплатно?
Да, если использовать:
- 📑 Ручной экспорт/импорт через Excel.
- 🔗 Ozon API (бесплатно до 1000 запросов/день).
- 📊 Google Sheets с формулами (бесплатно).
Платные сервисы (например, Peak или МойСклад) оправданы, если у вас более 5000 товаров или нужна синхронизация остатков в реальном времени.