API Яндекс Метрики: Посчитать конверсию по целям

Сценарий из mcp-everything. Актуально на 2026-10-24.

Сколько визитов закончилось заявкой или покупкой — по источникам и кампаниям.

  1. Получи цели счётчика: GET /management/v1/counter/{counterId}/goals — id, name и type каждой цели.
  2. Запроси отчёт: GET /stat/v1/data с metrics вида ym:s:goal<ID цели>reaches и ym:s:goal<ID цели>conversionRate и нужными dimensions, например ym:s:lastTrafficSource.
  3. Новый счётчик для сайта создаётся через POST /management/v1/counters с counter.name и counter.site2.site.
curl -G https://api-metrika.yandex.net/stat/v1/data \
  -H "Authorization: OAuth $METRIKA_TOKEN" \
  -d ids=44147844 \
  -d 'metrics=ym:s:visits,ym:s:goal123456reaches,ym:s:goal123456conversionRate' \
  -d dimensions=ym:s:lastTrafficSource -d date1=2026-10-01 -d date2=2026-10-23

Базовые URL

Авторизация

Тип: OAuth 2.0

OAuth-токен Яндекса передаётся в заголовке Authorization в каждом запросе. Без токена или с недействительным токеном сервер отвечает 401.

Authorization: OAuth <токен>

Методы сценария

POST /management/v1/counters — Создание счётчика

Параметр Где Тип Обяз. Описание
field query string нет Доп. поля ответа
ytm query boolean нет Использовать систему управления тегами, по умолчанию false
counter.name body string нет Название счётчика, до 255 символов
counter.site2.site body string нет Полный домен сайта, до 255 символов

GET /management/v1/counter/{counterId}/goals — Список целей

В ответе — goals[]: id, name, type, default_price, goal_source, is_favorite, status и поля, зависящие от типа цели.

Параметр Где Тип Обяз. Описание
counterId path integer да ID счётчика
useDeleted query boolean нет Включать удалённые цели, по умолчанию false

GET /stat/v1/data — Отчёт «Таблица»

В ответе: data[] (dimensions[] и metrics[]), totals, total_rows, sampled, sample_share, query, contains_sensitive_data и др.

Параметр Где Тип Обяз. Описание
ids query array нет ID счётчиков через запятую
metrics query string нет Метрики через запятую, до 20
dimensions query string нет Группировки через запятую, до 10
date1 query string нет Начало периода: YYYY-MM-DD, today, yesterday, ndaysAgo; по умолчанию 6daysAgo
date2 query string нет Конец периода, по умолчанию today
filters query string нет Фильтр сегментации
sort query string нет Поля сортировки; - — по убыванию
limit query string нет Строк на странице, по умолчанию 100, максимум 100 000
offset query string нет Первая строка (с 1)
accuracy query string нет Размер выборки (семплирование)
preset query string нет Шаблон отчёта, например sources_summary
lang query string нет Язык ответа
timezone query string нет Часовой пояс ±hh:mm, + передаётся как %2B
direct_client_logins query array нет Логины клиентов Яндекс Директа
include_undefined query boolean нет Строки с неопределёнными значениями
proposed_accuracy query boolean нет Разрешить API повышать accuracy

Пример запроса:

https://api-metrika.yandex.net/stat/v1/data.csv?id=44147844&metrics=ym:s:avgPageViews&dimensions=ym:s:operatingSystem&limit=5

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://yandex.ru/dev/metrika/ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-metrika.md