# Как получить статистику и расход рекламы Ozon через Performance API

> Статистику рекламы Ozon отдает отдельный Performance API (api-performance.ozon.ru) со своим ключом. Подробный отчет по товарам строится асинхронно: до 10 кампаний в одном отчете, в одном кабинете готовится один отчет за раз, ожидание от 15 секунд до 3 минут и дольше. Расход по дням быстрее брать синхронным методом /api/client/statistics/expense/json: его сумма совпадает с рекламными списаниями в начислениях Ozon до копейки.

Проверено: 11.10.2026. Источник: https://mp-index.ru/spravka/reklama-ozon-performance-api

## Доступ

Ключ Performance API (Client ID и Client Secret) создается отдельно от ключа Seller API. По нему запрашивается токен `POST /api/client/token` (OAuth2 client_credentials), токен действует около 30 минут. Остальные запросы идут с заголовком `Authorization: Bearer <токен>`.

## Какой метод что дает

| Метод | Что возвращает | Особенности |
| --- | --- | --- |
| `GET /api/client/campaign` | список кампаний | поле `PaymentType` с заглавной буквы, `placement` - массив |
| `POST /api/client/statistics` | асинхронный отчет по товарам кампаний | до 10 кампаний в запросе, в ответе UUID отчета |
| `GET /api/client/statistics/daily/json` | показы, клики, расход, заказы по кампаниям и дням | синхронно, есть кампании с оплатой за заказ |
| `GET /api/client/statistics/expense/json` | расход по кампаниям и дням | синхронно, совпадает со списаниями в начислениях |

Синхронные методы принимают `dateFrom` и `dateTo` в формате Y-m-d, период не длиннее 62 дней (иначе ответ `max statistics period: 62 days`). Числа приходят строками с запятой в дробной части, например `"463,35"`.

## Асинхронный отчет по товарам

1. Запрос `POST /api/client/statistics` с телом `{"campaigns": [...], "from": "...", "to": "...", "groupBy": "DATE"}`. Поля `from` и `to` - время в формате RFC 3339, а не дата: на `"2026-09-28"` Ozon отвечает `invalid google.protobuf.Timestamp value`.
2. Опрос статуса `GET /api/client/statistics/{UUID}` до готовности.
3. Загрузка `GET /api/client/statistics/report?UUID=...`. Для одной кампании приходит CSV, для нескольких - ZIP-архив с CSV на каждую кампанию, имя файла начинается с ID кампании.

- Сутки в отчете московские. Если передать `to` как 23:59:59 UTC, первые 3 часа следующего дня придут отдельной неполной строкой. Границы суток: `from` - предыдущий день T21:00:00Z, `to` - последний день T20:59:59Z.
- Отчеты одного рекламного кабинета Ozon готовит по одному. Пока готовится предыдущий, новый запрос получает 429. В кабинете с 60 кампаниями отчет на 10 кампаний готовился около 190 секунд.
- Не бросайте недождавшийся отчет: он продолжает занимать очередь кабинета, и следующие запросы упираются в него. Ждите готовности до 10 минут, на 429 повторяйте запрос с паузой.
- В отчете товарных кампаний строки только по товарам (sku), итоговой строки кампании за день нет: итог - сумма строк товаров.
- По кампаниям с оплатой за заказ этот отчет не строится. Их показы и расход есть в синхронных методах `daily/json` и `expense/json`.

## Как сверить расход с начислениями

Ozon списывает рекламу начислениями без привязки к товару (категория NON_ITEM в `/v1/finance/accrual/by-day`). Сумма `moneySpent` из `expense/json` за день совпала с ними до копейки (проверено 01.10.2026).

| Тип начисления (type_id) | Что это |
| --- | --- |
| 41 | Оплата за клик |
| 54 | Продвижение товара, в том числе оплата за заказ |
| 75 | Трафареты |
| 19 | Внешнее продвижение |
| 33 | Рекламные услуги |

У начислений типа 54 за кампании с оплатой за заказ в поле номера отправления стоит ID кампании, по нему расход привязывается к кампании.

> ДРР и ROAS по товару считаются по статистике кампаний, а прибыль магазина - по списаниям из начислений. Если складывать обе суммы, реклама вычтется дважды.

## Источники

- [Документация Ozon Performance API](https://docs.ozon.ru/api/performance/)

## Смотрите также

- [Как посчитать ДРР и ROAS рекламы на Ozon и какой ДРР допустим](https://mp-index.ru/spravka/drr-i-roas-ozon)
- [Ограничения Ozon Seller API, о которых не пишут в документации](https://mp-index.ru/spravka/limity-ozon-seller-api)
- [Чем заменить /v3/finance/transaction/list в Ozon Seller API](https://mp-index.ru/spravka/api-nachisleniy-ozon-2026)
- [Статья: эффективность рекламы на Ozon, ROAS и ДРР](https://mp-index.ru/blog/effektivnost-reklamy-ozon-roas-drr)
- [Калькулятор ДРР и ROAS](https://mp-index.ru/calculator/drr)

---
Справочник продавца Ozon, MP Index: https://mp-index.ru/spravka/
