Управление ценами на Ozon: 4 000 SKU из Google Таблицы
Четыре тысячи товаров. Каждый день цены на часть из них нужно менять — акция, ответ конкуренту, сезонная корректировка, новая партия с другой себестоимостью. Менеджер открывает личный кабинет Ozon, находит товар, меняет цену, подтверждает. Следующий товар. И так — от ста до трёхсот позиций в день.
Этот кейс — про то, как таблица и скрипт заменили три часа ежедневной рутины и убрали ценовые ошибки, которые стоили бизнесу денег.
Про бизнес
К нам обратился продавец на Ozon с ассортиментом более 4 000 SKU. Категория товаров — бытовая химия и хозтовары. Рынок конкурентный: десятки продавцов с похожим ассортиментом, покупатель выбирает по цене. Маржинальность невысокая, поэтому каждая ошибка в ценообразовании — это либо упущенная прибыль, либо прямой убыток.
Ценовые изменения происходят часто и по разным причинам:
- Промоакции Ozon. Площадка предлагает участие в акциях, нужно выставить специальные цены на сотни позиций за ограниченное время.
- Ответ конкурентам. Конкурент снизил цену — нужно оперативно скорректировать свою.
- Сезонные корректировки. Спрос на определённые категории растёт и падает в зависимости от сезона.
- Изменение закупочной цены. Новая партия от поставщика — пересчёт розничных цен по всей линейке.
Как было раньше
Менеджер работал через личный кабинет продавца на Ozon. Процесс выглядел так: открыть раздел «Цены и остатки», найти нужный товар через поиск или скроллинг, изменить цену, сохранить. При массовых изменениях — выгрузить шаблон Excel, заполнить, загрузить обратно.
На обновление 100–300 позиций уходило от 2 до 3 часов. Каждый день. Менеджер занимался этим вместо анализа продаж и работы с ассортиментом.
Ошибки были неизбежны. За три месяца до обращения к нам произошло три инцидента:
- Неправильная цена на 40 позиций. Менеджер скопировал столбец со сдвигом — цены перепутались между товарами. Обнаружили через 6 часов. Часть товаров продали ниже себестоимости. Ущерб — порядка 35 000 рублей.
- Промоцены не выставлены вовремя. Ozon давал 48 часов на подготовку к акции. Менеджер не успел обновить все 800 позиций. Магазин участвовал в акции с неполным ассортиментом, потерял трафик и рейтинг продавца.
- Промоцены не сняты после акции. Акционные цены держались на 120 позициях три дня после окончания акции. Менеджер просто забыл вернуть их обратно. Ещё 22 000 рублей.
Суммарно — три ценовые ошибки, больше 50 000 рублей прямых потерь за квартал. Не считая упущенной прибыли от невовремя запущенных промо.
Что мы построили
Центр управления ценами — Google Таблица с подключением к Ozon Seller API через Google Apps Script. Менеджер работает в привычном интерфейсе таблицы, а скрипт берёт на себя всё общение с Ozon.
Дашборд цен
Главный лист таблицы — сводка по всем 4 000 SKU. Для каждого товара видно: текущая цена на Ozon, цена до акции, минимальная допустимая цена (рассчитывается автоматически по себестоимости и целевой марже), статус акции. Менеджер фильтрует нужные товары, проставляет новые цены в отдельный столбец, нажимает кнопку — и изменения уходят в Ozon.
Валидация перед отправкой
Скрипт не отправит цену, которая ниже минимальной маржи. Если менеджер ставит цену 320 рублей, а себестоимость с учётом комиссии Ozon и логистики — 310 рублей, система подсвечивает строку красным и блокирует отправку. Порог настраивается: для каких-то категорий минимальная маржа 5%, для каких-то — 12%.
Планировщик промоцен
Для акций менеджер указывает промоцену, дату начала и дату окончания. Скрипт выставляет промоцену в назначенное время и автоматически возвращает базовую цену после окончания акции. Больше не бывает ситуации «забыли снять промо».
Лог изменений
Каждое обновление цены записывается на отдельный лист: кто изменил, когда, какой товар, старая цена, новая цена, причина (промо, конкуренты, себестоимость). Полная история за всё время работы. Полезно не только для контроля, но и для анализа ценовой динамики.
Мониторинг и алерты
Отдельный скрипт проверяет каждый час, что все запланированные обновления прошли успешно. Если Ozon API вернул ошибку или обновление зависло — менеджер получает уведомление в Telegram. Не нужно сидеть и ждать, пока 4 000 позиций обработаются.
Как работает обновление
Обновление идёт пакетами по 100 позиций — это максимум, который принимает Ozon API за один запрос. Для 4 000 SKU это 40 запросов. С учётом пауз между запросами и записи логов — 4-5 минут на полное обновление всего ассортимента.
Результат
Система работает шесть месяцев. Вот что изменилось:
- Время обновления цен: с 3 часов до 5 минут. Менеджер тратит 20 минут на подготовку (фильтрация, простановка цен) и 5 минут на отправку. Итого — полчаса вместо трёх часов.
- Ноль ценовых ошибок за 6 месяцев. Валидация по марже и автоматический реверт промоцен полностью исключили две из трёх типов ошибок. Третий тип (сдвиг строк) невозможен, потому что привязка идёт по product_id, а не по позиции в столбце.
- На 15% быстрее запуск акций. Раньше подготовка к промоакции Ozon занимала 6-8 часов. Сейчас менеджер загружает список товаров акции, проставляет промоцены, настраивает расписание — и переключается на другие задачи.
- Экономия — более 200 000 рублей в год. Складывается из трёх компонентов: высвобожденное время менеджера (порядка 600 часов в год), отсутствие ценовых ошибок (50 000+ рублей в квартал), своевременное участие в акциях (дополнительные продажи).
Технический стек
| Компонент | Технология |
|---|---|
| Интерфейс | Google Sheets (дашборд, фильтры, условное форматирование) |
| Логика | Google Apps Script (V8 runtime) |
| API маркетплейса | Ozon Seller API v3 (/v3/product/import/prices, /v3/product/info/prices) |
| Валидация | Формулы Google Sheets + проверки в GAS |
| Планировщик | Time-based триггеры GAS |
| Лог изменений | Отдельный лист в таблице |
| Уведомления | Telegram Bot API |
| Мониторинг | Watchdog-скрипт (проверка каждые 60 минут) |
Чего не скрываем
Было бы нечестно рассказать только про успехи. Есть ограничения, о которых важно знать.
Rate limits Ozon API. Ozon ограничивает количество запросов: не более 60 в минуту для ценовых эндпоинтов. При 4 000 SKU и пакетах по 100 — это 40 запросов, укладываемся с запасом. Но если параллельно работают несколько скриптов (остатки, заказы, аналитика) — лимит делится между ними. Мы добавили межзапросные паузы и retry с exponential backoff, но при росте до 10 000+ SKU может потребоваться вынесение обновлений на отдельный API-ключ.
Ozon API версионирование. Ozon периодически обновляет API. За полгода мы дважды адаптировали скрипт: один раз изменился формат ответа, второй раз — обязательные поля запроса. Мы мониторим changelog Ozon API и обновляем скрипт проактивно, но полностью автоматизировать этот процесс невозможно. На поддержку закладывается 2-3 часа в месяц.
Производительность Google Sheets с 4 000 строками. Таблица с 4 000 строками и формулами условного форматирования работает заметно медленнее, чем с 500. Фильтрация, скроллинг, пересчёт формул — всё с задержками. Мы оптимизировали: убрали ARRAYFORMULA на весь столбец, заменили на пересчёт по триггеру, вынесли архивные данные на отдельные листы. При 4 000 строк это терпимо. При 8 000+ — таблица станет неудобной, и потребуется разбивка на несколько файлов или переход на веб-интерфейс.
Планировщик — не секундная точность. Time-based триггеры GAS работают с точностью плюс-минус 15 минут. Если промоцена должна включиться ровно в 00:00, она может включиться в 23:50 или в 00:12. Для большинства акций Ozon это несущественно — площадка сама контролирует время начала. Но для ручных промо, привязанных к конкретному часу, это стоит учитывать.
Читайте также
- Обновление цен на Ozon из Гугл таблицы
- Загрузка в Гугл таблицу и обновление остатков на Озон
- Мониторинг 700+ Google Таблиц
- Как мы строим интеграции
Если у вас магазин на Ozon с сотнями или тысячами SKU и ценообразование съедает часы каждый день — напишите нам. Разберёмся, что можно автоматизировать, а где хватит готовой таблицы.
С вами была команда GoogleSheets.ru, мы превращаем ручное управление ценами в систему.
Не хотите разбираться сами?
Если читали статью и поняли, что руками уже не справляетесь — напишите. Оценим задачу бесплатно и предложим решение.
Похожие статьи

Как мы построили систему мониторинга 700+ таблиц на Google Apps Script для компании из сферы автовыкупов и высвободили 912 часов в год.

Как мы собрали для девелопера Дирижабль систему координации юридических текстов в рекламе: генерация дисклеймеров и отслеживание изменений по десяткам ЖК.

Конвейер GAS + Claude API для классификации 200+ документов в день. Сортировка: с 3 часов до 15 минут, точность 95%.
Хотите такой же результат?
Расскажите о задаче — предложим решение и покажем релевантные кейсы.
Написать в TelegramПодписывайтесь — делимся скриптами, кейсами и лайфхаками