Перейти к содержанию

API Аналитики

Общие сведения

Аналитическое API позволяет получить отчеты любой сложности. Вы можете выбирать произвольный набор столбцов и фильтровать/сегментировать выборку. Данные можно получать в форматах JSON, XML и Excel.

Получить данные Аналитики

POST https://cloud.roistat.com/api/v1/project/analytics/data

Общая информация

Данный метод является основным для получения аналитических отчетов.

В запросе необходимо указать, какие столбцы в отчете вам нужны, за какой период и с какими фильтрами. Столбцы делятся на 2 типа: метрики и измерения (metrics and dimensions). Они задаются в отдельных полях запроса и отдаются так же в отдельных полях в ответе. Подробнее о метриках и измерениях написано ниже. Фильтры используются по аналогии с остальными методами. Подробнее о фильтрах можно будет посмотреть в примерах.

Метрики и измерения

Метрика — это количественный показатель отчета: например, количество визитов и заказов, выручка и так далее. Это те показатели, которые можно суммировать и по которым можно вычислять среднее или максимум/минимум. То есть это всегда числа.

Измерение — это качественный показатель: например, рекламный источник, браузер, пол, возраст, способ заказа и т.п. То есть это любой показатель, который обычно показывается в левой части отчета. По этому показателю идет группировка и вычисление метрик. То есть, если мы хотим увидеть в отчете количество визитов по каждому рекламному каналу, то в нашем отчете будет одно измерение рекламный канал и одна метрика количество визитов.

Чтобы сделать запрос, вам нужно знать список существующих измерений и метрик. Эти списки можно получить с помощью методов /project/analytics/metrics-new и /project/analytics/dimensions.

Мультиканальные отчеты

По умолчанию в отчетах Аналитики учитываются все сделки, совершенные в выбранный временной период, при этом даты визитов по сделкам не учитываются. Эту модель мы назвали Стандартной моделью атрибуции (default).

Roistat предоставляет возможность задавать и другие модели атрибуции для расчета метрик:

  • Первый клик (first click);
  • Последний клик (last click);
  • Последний платный клик;
  • Модель атрибуции на основе позиции рекламного канала в истории визитов по каждой сделке, или U-образная модель (U-shape);
  • Пользовательская модель U-shape;
  • Линейная;
  • Линейный рост;
  • Линейный спад.

Подробнее о моделях атрибуции

Список доступных моделей можно всегда узнать с помощью метода /project/analytics/attribution-models.

Таким образом, в одном отчете одна и та же метрика может выводиться несколько раз, подсчитанная по разным моделям атрибуции.

Те метрики, которые можно рассчитывать по разным моделям, имеют признак is_has_attribution_model: true (см. ответ в методе /project/analytics/metrics-new). То есть любая метрика с таким признаком может считаться по любой доступной модели атрибуции.

Фильтрация по метрикам и измерениям

В данном методе есть возможность отбирать те данные, которые вы хотите включать в отчет.

Фильтровать можно по метрикам и по измерениям.

Параметры фильтрации указываются в теле запроса в массиве filters.

Важно! Фильтрация по измерениям происходит на этапе обработки данных, по метрикам – после обработки. То есть сначала работает фильтр по измерениям, затем – по метрикам.

Примеры отчетов

Стандартный отчет по рекламным источникам за 1 месяц:

Источник Визиты Заявки Продажи Прибыль, Р Расходы, Р ROI, %
Яндекс.Директ 7556 128 28 363204 284980 27
Google Ads 2373 47 4 40506 25157 61

Итак, нам нужно измерение Источник. Источники имеют несколько уровней вложенности (Например, Директ -> Кампания 1 -> Баннер 232 и т.п.). Нас интересует самый верхний уровень. Смотрим в доступных измерениях его поле name. Поле title используется только для отображения в интерфейсах. Аналогично поступаем с метриками.

Пример нужного нам запроса:

{
  "dimensions": ["marker_level_1"],
  "metrics": ["visits","leads","sales","profit","marketing_cost","roi"],
  "period": {
    "from":"2016-07-01T00:00:00+0300",
    "to":"2016-07-31T23:59:59+0300"
  }
}

В ответ придет JSON, в котором поле data содержит один объект. В этом объекте поле items — это массив строк нашего отчета. Каждый item — это строка. Внутри такой строки отдельно данные по метрикам и измерениям в соответствующих полях. Также есть разная системная информация, которая подробно будет описана позднее.

Если вы хотите получить эту информацию в читаемом виде, то можете отправить такой запрос к API методу /project/analytics/data/export/excel. Вместо JSON в ответ вы получите Excel-файл, удобный для просмотра и анализа.

Ограничения

Существуют ограничения на запрос analytics/data по количеству визитов и запрашиваемых измерений за выбранный период.

Ограничение считается по формуле:

(количество визитов) * (количество запрошенных измерений) * (количество запрошенных измерений)

Сейчас максимальный лимит = 1 000 000

Например:

  • Если запрашиваются данные по одному измерению, то ограничение по визитам будет равно 1 000 000
  • Если запрашиваются данные по двум измерениям, то ограничение по визитам будет равно 250 000
  • Если запрашиваются данные по трем измерениям, то ограничение по визитам будет равно примерно 100 000
curl 'https://cloud.roistat.com/api/v1/project/analytics/data?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"dimensions": ["marker_level_1","marker_level_2"],"metrics": ["visits","leads"],"period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}}'

Тело запроса:

{
  "dimensions": [
    "marker_level_1",
    "marker_level_2"
  ],
  "metrics": [
    "visits",
    "leads",
    "sales",
    "marketing_cost",
    "roi",
    {
      "metric": "profit",
      "attribution": "first_click"
    }
  ],
  "period": {
    "from": "2016-07-01T00:00:00+0300",
    "to": "2016-07-31T23:59:59+0300"
  },
  "filters": [
    {
      "field": "marker_level_1",
      "operation": "in",
      "value": [
        "site1",
        "site2",
        "site3"
      ]
    },
    {
      "field": "roi",
      "operation": ">",
      "value": "0"
    }
  ],
  "interval": "1w",
  "next_dimensions": [
    "marker_level_2"
  ]
}
{
    "data": [
        {
            "items": [
                {
                    "metrics": [
                        {
                            "value": "136",
                            "formatted": null
                            "metric_name": "visits",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 17.948717948718,
                            "formatted": "18 %",
                            "metric_name": "conversion_leads_to_sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 687.51871428571,
                            "formatted": "688 р.",
                            "metric_name": "average_sale",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 28.676470588235,
                            "formatted": "29 %",
                            "metric_name": "conversion_visits_to_leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "7",
                            "formatted": "7",
                            "metric_name": "sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 4812.631,
                            "formatted": "4 813 р.",
                            "metric_name": "revenue",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 2887.579,
                            "formatted": "2 888 р.",
                            "metric_name": "profit",
                            "attribution_model_id": "first_click"
                        },
                        {
                            "value": 596.31223836256,
                            "formatted": "596 %",
                            "metric_name": "roi",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "39",
                            "formatted": "39",
                            "metric_name": "leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 414.696,
                            "formatted": "415 р.",
                            "metric_name": "marketing_cost",
                            "attribution_model_id": "default"
                        }
                    ],
                    "dimensions": {
                        "marker_level_1": {
                            "value": "adwords2",
                            "title": "Google Adwords",
                            "icon": "https://favicon.yandex.net/favicon/google.com"
                        }
                    },
                    "isHasChild": 1
                },
                {
                    "metrics": [
                        {
                            "value": "173",
                            "formatted": "173",
                            "metric_name": "visits",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 11.111111111111,
                            "formatted": "11 %",
                            "metric_name": "conversion_leads_to_sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 387.022,
                            "formatted": "387 р.",
                            "metric_name": "average_sale",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 31.21387283237,
                            "formatted": "31 %",
                            "metric_name": "conversion_visits_to_leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "6",
                            "formatted": "6",
                            "metric_name": "sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 2322.132,
                            "formatted": "2 322 р.",
                            "metric_name": "revenue",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 774.045,
                            "formatted": "774 р.",
                            "metric_name": "profit",
                            "attribution_model_id": "first_click"
                        },
                        {
                            "value": 47.145654322865,
                            "formatted": "47 %",
                            "metric_name": "roi",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "54",
                            "formatted": "54",
                            "metric_name": "leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 526.04,
                            "formatted": "526 р.",
                            "metric_name": "marketing_cost",
                            "attribution_model_id": "default"
                        }
                    ],
                    "dimensions": {
                        "marker_level_1": {
                            "value": "direct1",
                            "title": "Яндекс.Директ",
                            "icon": "https://favicon.yandex.net/favicon/www.direct.yandex.ru"
                        }
                    },
                    "isHasChild": 1
                },
                {
                    "metrics": [
                        {
                            "value": "102",
                            "formatted": "102",
                            "metric_name": "visits",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 0,
                            "formatted": "0.00 %",
                            "metric_name": "conversion_leads_to_sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 0,
                            "formatted": "0.00 р.",
                            "metric_name": "average_sale",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 3.921568627451,
                            "formatted": "3.92 %",
                            "metric_name": "conversion_visits_to_leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 0,
                            "formatted": "0",
                            "metric_name": "sales",
                            "attribution_model_id": null
                        },
                        {
                            "value": 0,
                            "formatted": "0.00 р.",
                            "metric_name": "revenue",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 0,
                            "formatted": "0.00 р.",
                            "metric_name": "profit",
                            "attribution_model_id": "first_click"
                        },
                        {
                            "value": -100,
                            "formatted": "-100 %",
                            "metric_name": "roi",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "4",
                            "formatted": "4",
                            "metric_name": "leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 311.062,
                            "formatted": "311 р.",
                            "metric_name": "marketing_cost",
                            "attribution_model_id": "default"
                        }
                    ],
                    "dimensions": {
                        "marker_level_1": {
                            "value": "facebook5",
                            "title": "Facebook",
                            "icon": "https://favicon.yandex.net/favicon/facebook.com"
                        }
                    },
                    "isHasChild": 1
                }
            ],
            "mean": {
                "metrics": [
                    {
                        "value": 654,
                        "formatted": "654",
                        "metric_name": "visits",
                        "attribution_model_id": null
                    },
                    {
                        "value": 13.888888888889,
                        "formatted": "14 %",
                        "metric_name": "conversion_leads_to_sales",
                        "attribution_model_id": null
                    },
                    {
                        "value": 523.624,
                        "formatted": "524 р.",
                        "metric_name": "average_sale",
                        "attribution_model_id": null
                    },
                    {
                        "value": 16.51376146789,
                        "formatted": "17 %",
                        "metric_name": "conversion_visits_to_leads",
                        "attribution_model_id": null
                    },
                    {
                        "value": 15,
                        "formatted": "15",
                        "metric_name": "sales",
                        "attribution_model_id": null
                    },
                    {
                        "value": 7854.36,
                        "formatted": "7 854 р.",
                        "metric_name": "revenue",
                        "attribution_model_id": null
                    },
                    {
                        "value": 3901.49,
                        "formatted": "3 901 р.",
                        "metric_name": "profit",
                        "attribution_model_id": "first_click"
                    },
                    {
                        "value": 94.92625858035,
                        "formatted": "95 %",
                        "metric_name": "roi",
                        "attribution_model_id": null
                    },
                    {
                        "value": 108,
                        "formatted": "108",
                        "metric_name": "leads",
                        "attribution_model_id": null
                    },
                    {
                        "value": 2001.521,
                        "formatted": "2 002 р.",
                        "metric_name": "marketing_cost",
                        "attribution_model_id": "default"
                    }
                ],
                "dimensions": [],
                "isHasChild": 0
            },
            "dateFrom": "2016-08-18T21:00:00+0000",
            "dateTo": "2016-08-25T20:59:59+0000"
        }
    ],
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
dimensions array[string] перечень измерений да
metrics array[string] или array[object] перечень метрик. это может быть как просто название метрики (string), так и метрика с указанием модели атрибуции (object) да
metric string системное название метрики. можно узнать через метод /project/analytics/metrics-new нет
attribution string системное название модели атрибуции. можно узнать через метод /project/analytics/attribution-models нет
period object временной период да
from string начальная дата вида 2016-07-01T00:00:00+0300 да
to string конечная дата вида 2016-07-31T00:00:00+0300 да
filters array[object] фильтры для ограничения данных нет
field string параметр, по которому будет идти отбор данных. это могут быть метрики и измерения. Если field - название метрики, то фильтр будет применен после обработки данных, если измерение - до обработки данных нет
operation string операция сравнения: >, <, =, <>, >=, <=, in, not_in нет
value string или array[string] значение метрики/измерения, по которому идет отбор нет
interval string интервалы, на которые надо разбить период. значение в формате XmYwZd - число месяцев(m), неделей(w) и/или дней(d). Например:
  • 2w3d - интервал в 2 недели и 3 дня (7*2 +3 = 17 дней);
  • 1m1w - интервал в 1 месяц и 1 неделю
нет
next_dimensions array[string] нет
Параметр Тип Описание
data array[object]
items array[object] данные по метрикам и измерениям за весь временной период (period) или данные, распределенные по интервалам, если это было указано в запросе (interval)
>> metrics array[object] данные по метрикам за весь временной период (period) или за один интервал, если он был указан в запросе (interval)
>>> value string or number значение метрики
>>> formatted null or string значение метрики в интерфейсе. например, для roi значение value - 0, тогда в интерфейсе вы увидите 0.00 %
>>> metric_name string системное название метрики
>>> attribution_model_id null or string название модели атрибуции, которая используется для подсчета значений метрик
>> dimensions object данные по измерениям за весь временной период (period) или за один интервал, если он был указан в запросе (interval)
>>> value string системное название измерения
>>> title string человекочитаемое название метрики (в интерфейсе)
>>> icon string URL-адрес, где находится иконка для конкретного измерения
>> isHasChild integer характеристика, связанная с детализацией отчета. А именно: можно ли данные по конкретному измерению разбить на группировки по другим измерениям. Или проще: можно ли к данному уровню отчета добавить еще один, "более низкий" уровень: 1 - можно добавить, 0 - нельзя. Например, для прямых визитов можно смотреть статистику только по одному, верхнему уровню, т.е. только по всем прямым визитам сразу, без детализации
mean object общие и средние значения для соответствующих метрик для выбранного временного периода period (строка "Итого/среднее" в отчете)
metrics array[object] общие и средние значения для соответствующих метрик для выбранного временного периода period (строка "Итого/среднее" в отчете)
>> value string or number
>> formatted string
>> metric_name string
>> attribution_model_id null or string
dateFrom string начальная дата периода (параметр from в запросе)
dateTo string конечная дата периода (параметр to в запросе)
status string

Получить данные Аналитики в формате Excel

POST https://cloud.roistat.com/api/v1/project/analytics/data/export/excel

Данный метод аналогичен методу /project/analytics/data, однако в ответ выдается Excel-файл с отчетом.

Важно! В теле запроса не используются параметры interval и next_dimensions. Больше отличий нет.

curl 'https://cloud.roistat.com/api/v1/project/analytics/data/export/excel?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"dimensions": ["marker_level_1","marker_level_2"],"metrics": ["visits","leads"],"period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}}'

Тело запроса:

{
  "dimensions": [
    "marker_level_1",
    "marker_level_2"
  ],
  "metrics": [
    "visits",
    "leads",
    "sales",
    "marketing_cost",
    "roi",
    {
      "metric": "profit",
      "attribution": "first_click"
    }
  ],
  "period": {
    "from": "2016-07-01T00:00:00+0300",
    "to": "2016-07-31T23:59:59+0300"
  },
  "filters": [
    {
      "field": "marker_level_1",
      "operation": "in",
      "value": [
        "site1",
        "site2",
        "site3"
      ]
    },
    {
      "field": "roi",
      "operation": ">",
      "value": "0"
    }
  ],
  "interval": "1w",
  "next_dimensions": [
    "marker_level_2"
  ]
}   

Документ в формате Excel.

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
dimensions array[string] перечень измерений да
metrics array[string] или array[object] перечень метрик. это может быть как просто название метрики (string), так и метрика с указанием модели атрибуции (object) да
metric string системное название метрики. можно узнать через метод /project/analytics/metrics нет
attribution string системное название модели атрибуции. можно узнать через метод /project/analytics/attribution-models нет
period object временной период да
from string начальная дата вида 2016-07-01T00:00:00+0300 да
to string конечная дата вида 2016-07-31T00:00:00+0300 да
filters array[object] фильтры для ограничения данных нет
field string параметр, по которому будет идти отбор данных. это могут быть метрики и измерения. Если field - название метрики, то фильтр будет применен после обработки данных, если измерение - до обработки данных нет
operation string операция сравнения: >, <, =, <>, >=, <=, in нет
value string или array[string] значение метрики/измерения, по которому идет отбор нет
interval string интервалы, на которые надо разбить период. значение в формате XmYwZd - число месяцев(m), неделей(w) и/или дней(d). Например:
  • 2w3d - интервал в 2 недели и 3 дня (7*2 +3 = 17 дней);
  • 1m1w - интервал в 1 месяц и 1 неделю
нет
next_dimensions array[string] нет

Документ в формате Excel.

Получить список доступных метрик

POST https://cloud.roistat.com/api/v1/project/analytics/metrics-new

Возвращает список доступных метрик. Подробности смотрите в /project/analytics/data.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics-new?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "metrics": [
    {
      "name": "impressions",
      "title": "Показы",
      "info": "Количество показов рекламных объявлений",
      "group": "visitsAndConversions",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 98,
      "type": "integer",
      "formula": "{impressions} ? {impressions} : 0"
    },
    {
      "name": "ctr",
      "title": "CTR",
      "info": "Показатель кликабельности объявлений\nВизиты / Показы * 100%",
      "group": "visitsAndConversions",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 99,
      "type": "percent",
      "formula": "{impressions} ? (100 * {visitCount} / {impressions}) : 0"
    },
    {
      "name": "visitCount",
      "title": "Визиты",
      "info": "Уникальные посетители сайта",
      "group": "visitsAndConversions",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 100,
      "type": "integer",
      "formula": "{visitCount} ? {visitCount} : 0"
    },
    {
      "name": "visits2leads",
      "title": "Конверсия в заявки",
      "info": "Среднее количество конверсий на клик",
      "group": "visitsAndConversions",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 150,
      "type": "percent",
      "formula": "{visitCount} ? (100*{leadCount}/{visitCount}) : 0"
    },
    {
      "name": "leadCount",
      "title": "Заявки",
      "info": "Заявки (лиды) — это любые обращения, поступившие в ваш бизнес. Например: отправленные формы на сайте, звонки, диалоги онлайн консультантов и т.п.",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 200,
      "type": "integer",
      "formula": "{leadCount} ? {leadCount} : 0"
    },
    {
      "name": "leads2orders",
      "title": "Конверсия в продажи",
      "info": "Продажи, деленные на заявки",
      "group": "visitsAndConversions",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 300,
      "type": "percent",
      "formula": "{leadCount} ? (100*{paidLeadCount}/{leadCount}) : 0"
    },
    {
      "name": "paidLeadCount",
      "title": "Продажи",
      "info": "Сделки со статусом «Оплаченные»",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 400,
      "type": "integer",
      "formula": "{paidLeadCount} ? {paidLeadCount} : 0"
    },
    {
      "name": "progressLeadCount",
      "title": "Сделки в работе",
      "info": "Сделки со статусом «В работе»",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2100,
      "type": "integer",
      "formula": "{progressLeadCount} ? {progressLeadCount} : 0"
    },
    {
      "name": "visits2orders",
      "title": "Абсолютная конверсия",
      "info": "Продажи, деленные на визиты",
      "group": "visitsAndConversions",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 600,
      "type": "percent",
      "formula": "{visitCount} ? (100*{paidLeadCount}/{visitCount}) : 0"
    },
    {
      "name": "progressAndPaidLeadsCount",
      "title": "Потенциальные продажи",
      "info": "Количество сделок из статусов «Оплаченные» и «В работе»",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2600,
      "type": "integer",
      "formula": "{paidLeadCount}+{progressLeadCount}"
    },
    {
      "name": "canceledLeadCount",
      "title": "Отмененные сделки",
      "info": "Сделки из группы статусов «Отмененные»",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2300,
      "type": "integer",
      "formula": "{leadCount}-{progressLeadCount}-{paidLeadCount}"
    },
    {
      "name": "progressLeadsPrice",
      "title": "Выручка «В работе»",
      "info": "Потенциальная выручка, которая берется у сделок «В работе»",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2200,
      "type": "money",
      "formula": "{progressLeadsPrice}\n                  ? {progressLeadsPrice}\n                  : ({paidLeadCount} ? {paidLeadsPrice}*{progressLeadCount}/{paidLeadCount} : 0)"
    },
    {
      "name": "paidLeadsPrice",
      "title": "Выручка",
      "info": "Выручка для сделок в статусе «Оплаченные»",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 700,
      "type": "money",
      "formula": "{paidLeadsPrice} ? {paidLeadsPrice} : 0"
    },
    {
      "name": "progressAndPaidLeadsPrice",
      "title": "Потенциальная выручка",
      "info": "Выручка для сделок со статусами «В работе» и «Оплаченные»",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2700,
      "type": "money",
      "formula": "({paidLeadsPrice}?{paidLeadsPrice}:0)+({progressLeadsPrice}?{progressLeadsPrice}:({paidLeadCount}?{paidLeadsPrice}*{progressLeadCount}/{paidLeadCount}:0))"
    },
    {
      "name": "revenue_сanceled",
      "title": "Выручка отмененных заявок",
      "info": "Выручка по заявкам со статусами «Отмененные»",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2750,
      "type": "money",
      "formula": "{revenue_canceled} ? {revenue_canceled} : 0"
    },
    {
      "name": "leadsCosts",
      "title": "Себестоимость",
      "info": "Вы можете указать Себестоимость следующими способами:\n1. Указать значение в пункте «Прибыль от сделки» в «Настройки» -> «Настройки проекта»\n2. Создать поле для себестоимости в CRM, заполнять его и выбрать поле из списка в «Настройки» -> «Интеграция с CRM»",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 1000,
      "type": "money",
      "formula": "{leadsCosts}\n                    ? {leadsCosts}\n                    : ( {paidLeadsPrice} * (1 - ({$profitFactor} ? {$profitFactor} : 1)) )"
    },
    {
      "name": "profit",
      "title": "Прибыль",
      "info": "Разница между Выручкой и Себестоимостью",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 1100,
      "type": "money",
      "formula": "{leadsCosts}\n                    ? ( {paidLeadsPrice} - {leadsCosts} )\n                    : ( {paidLeadsPrice} * {$profitFactor} )"
    },
    {
      "name": "potentialProfit",
      "title": "Потенциальная прибыль",
      "info": "Потенциальная прибыль со сделок \"В работе\" и \"Оплаченные\"",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2800,
      "type": "money",
      "formula": "{$isHasCost}\n                    ? ( ({paidLeadsPrice} ? {paidLeadsPrice} : 0)\n                        + ({progressLeadsPrice}\n                            ? {progressLeadsPrice}\n                            : ( {paidLeadCount} ? {paidLeadsPrice} * {progressLeadCount} / {paidLeadCount} : 0 ))\n                        - {leadsCosts} )\n                    : ( ( ({paidLeadsPrice} ? {paidLeadsPrice} : 0)\n                        + ({progressLeadsPrice}\n                            ? {progressLeadsPrice}\n                            : ( {paidLeadCount} ? {paidLeadsPrice} * {progressLeadCount} / {paidLeadCount} : 0 )) )\n                        * {$profitFactor} )"
    },
    {
      "name": "meanCheck",
      "title": "Средний чек",
      "info": "Выручка, деленная на продажи",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 800,
      "type": "money",
      "formula": "{paidLeadCount}?{paidLeadsPrice}/{paidLeadCount}:0"
    },
    {
      "name": "potentialMeanCheck",
      "title": "Потенциальный средний чек",
      "info": "Потенциальная выручка, деленная на потенциальные продажи",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2900,
      "type": "money",
      "formula": "({progressLeadCount}+{paidLeadCount})\n                    ?({paidLeadsPrice}+({progressLeadsPrice}?{progressLeadsPrice}:({paidLeadCount}?{paidLeadsPrice}*{progressLeadCount}/{paidLeadCount}:0)))/({progressLeadCount}+{paidLeadCount})\n                    :0"
    },
    {
      "name": "meanProfit",
      "title": "Средняя прибыль",
      "info": "Прибыль, деленная на продажи",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 900,
      "type": "money",
      "formula": "{paidLeadCount}?(({leadsCosts}?({paidLeadsPrice}-{leadsCosts}):({paidLeadsPrice}*{$profitFactor}))/{paidLeadCount}):0"
    },
    {
      "name": "visitsCost",
      "title": "Расходы",
      "info": "Маркетинговые расходы",
      "group": "cost",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 1300,
      "type": "money",
      "formula": "{visitsCost} ? {visitsCost} : 0"
    },
    {
      "name": "costPerOrder",
      "title": "CPO",
      "info": "Расходы, деленные на продажи",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1900,
      "type": "money",
      "formula": "{visitsCost} ? ({paidLeadCount}?{visitsCost}/{paidLeadCount}:0) : 0"
    },
    {
      "name": "roi",
      "title": "ROI",
      "info": "Возврат инвестиций. Значение должно быть больше 0%",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1400,
      "type": "percent",
      "formula": "{visitsCost} ? (100*(({leadsCosts} ? ({paidLeadsPrice}-{leadsCosts}) : ({paidLeadsPrice}*{$profitFactor}))-{visitsCost})/{visitsCost}) : 0"
    },
    {
      "name": "romi",
      "title": "ROMI",
      "info": "Возврат инвестиций с маркетинга",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1500,
      "type": "percent",
      "formula": "{visitsCost} ? (100 * ({paidLeadsPrice} - {visitsCost})/{visitsCost}) : 0"
    },
    {
      "name": "potentialRoi",
      "title": "Потенциальный ROI",
      "info": "Потенциальный возврат инвестиций. Значений должно быть больше 0%",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2500,
      "type": "percent",
      "formula": "{visitsCost}\n                    ? (100*(\n                        ({leadsCosts}\n                            ? ({paidLeadsPrice}+({progressLeadsPrice}?{progressLeadsPrice}:({paidLeadCount}?{paidLeadsPrice}*{progressLeadCount}/{paidLeadCount}:0))-{leadsCosts})\n                            : (({paidLeadsPrice}+({progressLeadsPrice}?{progressLeadsPrice}:({paidLeadCount}?{paidLeadsPrice}*{progressLeadCount}/{paidLeadCount}:0)))*{$profitFactor}))-{visitsCost})\n                        /{visitsCost})\n                    : 0"
    },
    {
      "name": "costPerClick",
      "title": "CPC",
      "info": "Средняя стоимость клика",
      "group": "cost",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 1700,
      "type": "money",
      "formula": "{visitCount} ? {visitsCost}/{visitCount} : 0"
    },
    {
      "name": "costPerLead",
      "title": "CPL",
      "info": "Средняя стоимость заявки",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1800,
      "type": "money",
      "formula": "{leadCount} ? {visitsCost}/{leadCount} : 0"
    },
    {
      "name": "adProfit",
      "title": "Чистая прибыль",
      "info": "Разница между Прибылью и Расходами",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 1200,
      "type": "money",
      "formula": "({leadsCosts}\n                    ? ( {paidLeadsPrice} - {leadsCosts} )\n                    : ( {paidLeadsPrice} * {$profitFactor}) ) - {visitsCost}"
    },
    {
      "name": "clientCount",
      "title": "Клиенты",
      "info": "Количество клиентов",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 3000,
      "type": "integer",
      "formula": "{clientCount} ? {clientCount} : 0"
    },
    {
      "name": "repeatedLeadCount",
      "title": "Повторные заявки",
      "info": "Разница между Заявками и Клиентами",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 3200,
      "type": "integer",
      "formula": "{clientCount} ? ({leadCount} - {clientCount}) : 0"
    },
    {
      "name": "repeatedLeadRate",
      "title": "Повторные заявки, %",
      "info": "Доля повторных заявок",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 3300,
      "type": "percent",
      "formula": "({clientCount} && {leadCount}) ? (({leadCount} - {clientCount}) * 100 / {leadCount}) : 0"
    },
    {
      "name": "clientCost",
      "title": "CAC",
      "info": "Средняя стоимость привлечения клиента",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 3600,
      "type": "money",
      "formula": "{clientCount} ? ({visitsCost} / {clientCount}) : 0"
    },
    {
      "name": "clientPrice",
      "title": "LTV",
      "info": "Средняя прибыль, принесенная платящим клиентом",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 3700,
      "type": "money",
      "formula": "{paidClientCount} ? ({paidLeadsPrice} / {paidClientCount}) : 0"
    },
    {
      "name": "paidClientCount",
      "title": "Оплатившие клиенты",
      "info": "Количество оплативших клиентов",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 3100,
      "type": "integer",
      "formula": "{paidClientCount} ? {paidClientCount} : 0"
    },
    {
      "name": "repeatedSales",
      "title": "Повторные продажи",
      "info": "Разница между Продажами и Оплатившими клиентами",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 3400,
      "type": "integer",
      "formula": "{paidClientCount} ? ({paidLeadCount} - {paidClientCount}) : 0"
    },
    {
      "name": "repeatedSalesRate",
      "title": "Повторные продажи, %",
      "info": "Доля повторных продаж",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 3500,
      "type": "percent",
      "formula": "({paidClientCount} && {paidLeadCount}) ? (({paidLeadCount} - {paidClientCount}) * 100 / {paidLeadCount}) : 0"
    },
    {
      "name": "costProportion",
      "title": "ДРР, %",
      "info": "Доля рекламного расхода в прибыли",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1600,
      "type": "percent",
      "formula": "{leadsCosts}\n                    ? (({paidLeadsPrice} - {leadsCosts}) !== 0\n                        ? {visitsCost} / ({paidLeadsPrice} - {leadsCosts}) * 100\n                        : 0)\n                    : ({paidLeadsPrice}\n                        ? {visitsCost} / ({paidLeadsPrice} * {$profitFactor}) * 100\n                        : 0)"
    },
    {
      "name": "potentialCPO",
      "title": "Потенциальный CPO",
      "info": "Потенциальная стоимость привлеченной продажи",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2400,
      "type": "money",
      "formula": "{visitsCost} && ({paidLeadCount} || {progressLeadCount})\n                    ? ({visitsCost}) / ({paidLeadCount}+{progressLeadCount})\n                    : 0"
    },
    {
      "name": "marginality",
      "title": "Маржинальность, %",
      "info": "Отношение прибыли к себестоимости",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2000,
      "type": "percent",
      "formula": "{leadsCosts}\n                    ? ((({paidLeadsPrice} - {leadsCosts}) / {leadsCosts}) * 100)\n                    : 0"
    },
    {
      "name": "event_meta_10",
      "title": "Корзина",
      "info": "Событие Корзина",
      "group": "events",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 4200,
      "type": "integer",
      "formula": "{event_meta_10} ? {event_meta_10} : 0"
    },
    {
      "name": "event_meta_unique_10",
      "title": "Корзина (пользователи)",
      "info": "Количество пользователей, вызвавших событие Корзина",
      "group": "events",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 4300,
      "type": "integer",
      "formula": "{event_meta_unique_10} ? {event_meta_unique_10} : 0"
    }
  ],
  "status": "success"
}   

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
metrics array[object]
name string системное название метрики
title string человекочитаемое название метрики
info string краткое определение метрики
group string системное название группы метрик, к которой данная метрика относится в Roistat
is_has_attribution_model boolean параметр, который указывает, рассчитывается ли метрика по какой-нибудь модели атрибуции или нет:
  • true - рассчитывается по модели атрибуции;
  • false - не рассчитывается.
is_absolute boolean параметр, связанный с характером подсчета метрики:
  • true - точное, абсолютное значение (например метрики Показы, Визиты, Сделки);
  • false - усредненное, не абсолютное значение (например метрики по конверсиям, Маржинальность, %, CPO, ROI, CPC
order integer порядок сортировки метрик (=столбцов) в отчете
type string тип значения метрики:
  • integer - число (например, Визиты, Заявки);
  • percent - процент (например, ROI, Маржинальность, %);
  • money - сумма денег в валюте проекта (например, Выручка, Себестоимость).
formula string формула вычисления метрики
status string

Получить список доступных измерений

POST https://cloud.roistat.com/api/v1/project/analytics/dimensions

Возвращает список доступных измерений. Подробности смотрите в /project/analytics/data.

curl 'https://cloud.roistat.com/api/v1/project/analytics/dimensions?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "dimensions": [
    {
      "name": "marker_level_1",
      "title": "Источник (уровень 1)",
      "order": 100
    },
    {
      "name": "marker_level_2",
      "title": "Источник (уровень 2)",
      "order": 200
    },
    {
      "name": "marker_level_3",
      "title": "Источник (уровень 3)",
      "order": 300
    },
    {
      "name": "marker_level_4",
      "title": "Источник (уровень 4)",
      "order": 400
    },
    {
      "name": "marker_level_5",
      "title": "Источник (уровень 5)",
      "order": 500
    },
    {
      "name": "marker_level_6",
      "title": "Источник (уровень 6)",
      "order": 600
    },
    {
      "name": "marker_level_7",
      "title": "Источник (уровень 7)",
      "order": 700
    },
    {
      "name": "utm_source",
      "title": "utm_source",
      "order": 800
    },
    {
      "name": "utm_medium",
      "title": "utm_medium",
      "order": 900
    },
    {
      "name": "utm_campaign",
      "title": "utm_campaign",
      "order": 1000
    },
    {
      "name": "utm_term",
      "title": "utm_term",
      "order": 1100
    },
    {
      "name": "utm_content",
      "title": "utm_content",
      "order": 1200
    },
    {
      "name": "roistat_param1",
      "title": "roistat_param1",
      "order": 1300
    },
    {
      "name": "roistat_param2",
      "title": "roistat_param2",
      "order": 1400
    },
    {
      "name": "roistat_param3",
      "title": "roistat_param3",
      "order": 1500
    },
    {
      "name": "roistat_param4",
      "title": "roistat_param4",
      "order": 1600
    },
    {
      "name": "roistat_param5",
      "title": "roistat_param5",
      "order": 1700
    },
    {
      "name": "host",
      "title": "Домен",
      "order": 1800
    },
    {
      "name": "landing_page",
      "title": "Посадочная страница",
      "order": 1900
    },
    {
      "name": "referrer",
      "title": "Источник",
      "order": 2000
    },
    {
      "name": "referrer_host",
      "title": "Домен источника",
      "order": 2100
    },
    {
      "name": "country",
      "title": "Страна",
      "order": 2200
    },
    {
      "name": "city",
      "title": "Город",
      "order": 2300
    },
    {
      "name": "device",
      "title": "Устройство",
      "order": 1005002
    },
    {
      "name": "browser",
      "title": "Браузер",
      "order": 1005003
    },
    {
      "name": "ad_position_type",
      "title": "Блок показа",
      "order": 2400
    },
    {
      "name": "ad_position",
      "title": "Позиция показа",
      "order": 2500
    },
    {
      "name": "daily",
      "title": "День",
      "order": 2700
    },
    {
      "name": "weekly",
      "title": "Неделя",
      "order": 2900
    },
    {
      "name": "monthly",
      "title": "Месяц",
      "order": 3000
    },
    {
      "name": "order_field_21",
      "title": "customer_id",
      "order": 3200
    },
    {
      "name": "order_field_4",
      "title": "Статус сделки",
      "order": 3300
    },
    {
      "name": "order_field_5",
      "title": "Город",
      "order": 3400
    },
    {
      "name": "order_field_23",
      "title": "Дата доставки",
      "order": 3500
    },
    {
      "name": "order_field_22",
      "title": "Дата отгрузки",
      "order": 3600
    },
    {
      "name": "order_field_11",
      "title": "Дата отправки",
      "order": 3700
    },
    {
      "name": "order_field_3",
      "title": "Дизайнер",
      "order": 3800
    },
    {
      "name": "order_field_7",
      "title": "Касса",
      "order": 3900
    },
    {
      "name": "order_field_1",
      "title": "Количество картин в заказе",
      "order": 4000
    },
    {
      "name": "order_field_13",
      "title": "Купон",
      "order": 4100
    },
    {
      "name": "order_field_9",
      "title": "Оператор",
      "order": 4200
    },
    {
      "name": "order_field_19",
      "title": "Причина возврата",
      "order": 4300
    },
    {
      "name": "order_field_16",
      "title": "Причина мусора",
      "order": 4400
    },
    {
      "name": "order_field_2",
      "title": "Причина отказа",
      "order": 4500
    },
    {
      "name": "order_field_17",
      "title": "Причина отмены",
      "order": 4600
    },
    {
      "name": "order_field_20",
      "title": "Причина переделки",
      "order": 4700
    },
    {
      "name": "order_field_6",
      "title": "Производство",
      "order": 4800
    },
    {
      "name": "order_field_8",
      "title": "Служба доставки",
      "order": 4900
    },
    {
      "name": "order_field_12",
      "title": "Тип лида",
      "order": 5000
    },
    {
      "name": "order_field_18",
      "title": "Тип отгрузки",
      "order": 5100
    },
    {
      "name": "event_meta_id",
      "title": "События",
      "order": 3100
    },
    {
      "name": "hours",
      "title": "Час",
      "order": 2600
    },
    {
      "name": "week_days",
      "title": "День недели",
      "order": 2800
    },
    {
      "name": "device_type",
      "title": "Тип устройства",
      "order": 1005001
    }
  ],
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
dimensions array[object]
name string системное название измерения
title string человекочитаемое название измерения
order integer порядок сортировки измерений (=уровней) в отчете
status string

Узнать, какие измерения (Прямые визиты, Визиты с сайтов) доступны для конкретного типа группировки в отчете

POST https://cloud.roistat.com/api/v1/project/analytics/dimension-values

С помощью данного метода вы можете узнать, какие измерения (Прямые визиты, Визиты с сайтов) доступны для конкретного типа группировки в отчете (Источник (уровень 1), Домен).

curl 'https://cloud.roistat.com/api/v1/project/analytics/dimension-values?project=12345&dimension=marker_level_1' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "values": [
    {
      "value": "",
      "title": "Прямые визиты"
    },
    {
      "value": "site",
      "title": "Визиты с сайтов"
    },
    {
      "value": "seo",
      "title": "SEO"
    },
    {
      "value": "direct1",
      "title": "Яндекс.Директ"
    }
  ],
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да
dimension string системное название типа группировки (измерения). можно узнать с помощью метода /project/analytics/dimensions да

Тело запроса:

Без параметров.

Параметр Тип Описание
values array[object]
value string системное название
title string человекочитаемое название
status string

Получить список моделей атрибуции

POST https://cloud.roistat.com/api/v1/project/analytics/attribution-models

Данный метод выводит список моделей атрибуции.

curl 'https://cloud.roistat.com/api/v1/project/analytics/attribution-models?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "models": [
    {
      "id": "default",
      "name": "Стандартная модель атрибуции",
      "is_system": true
    },
    {
      "id": "ushape",
      "name": "UShape",
      "is_system": true
    },
    {
      "id": "first_click",
      "name": "Первый клик",
      "is_system": true
    },
    {
      "id": "last_click",
      "name": "Последний клик",
      "is_system": true
    }
  ],
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
models array[object]
id string системное название модели атрибуции
name string человекочитаемое название модели атрибуции
is_system boolean модели атрибуции могут быть:
  • системные - их предлагает Roistat;
  • пользовательские - устанавливаются вручную самим пользователем
status string

Получить список сделок с фильтрацией по параметрам визита

POST https://cloud.roistat.com/api/v1/project/analytics/list-orders

Данный метод позволяет получить список сделок с фильтрацией по параметрам визита.

curl 'https://cloud.roistat.com/api/v1/project/analytics/list-orders?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}}'

Тело запроса:

{
  "period": {
    "from": "2018-01-29T21:00:00.000Z",
    "to": "2018-03-01T20:59:59.999Z"
  },
  "filters": [
    {
      "field": "marker_level_1",
      "operator": "=",
      "value": "direct1"
    }
  ],
  "attribution_model_id": "default"
}
{
  "orders": [
    {
      "id": "order_239",
      "title": "order_239",
      "url": "https://example.crm.com/deal/239",
      "source": {
        "type": "default",
        "icon_url": null,
        "title": "Стандарт"
      },
      "creation_date": "2018-01-29T21:32:24+0000",
      "update_date": null,
      "paid_date": null,
      "status": "progress",
      "status_name": "Новый",
      "price": 476.978,
      "cost": 0,
      "visit_id": "239",
      "visit": null,
      "fields_data": {
        "status_name": "Новый",
        "Менеджер": "Петров Михаил",
        "roistat": 239
      },
      "is_multichannel": 0,
      "visits_count": 1,
      "client_phones": [],
      "client_emails": [],
      "client_name": null,
      "client_id": null,
      "client_external_id": null
    }
  ],
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
period object временной период да
from string начальная дата вида 2016-07-01T00:00:00+0300 да
to string конечная дата вида 2016-07-31T00:00:00+0300 да
filters array[object] фильтры для ограничения данных нет
field string параметр, по которому будет идти отбор данных. это могут быть метрики и измерения. Если field - название метрики, то фильтр будет применен после обработки данных, если измерение - до обработки данных нет
operator string операция сравнения: >, <, =, <>, >=, <=, in нет
value string or array[string] значение метрики/измерения, по которому идет отбор нет
attribution_model_id string Модель атрибуции: default, first_click, last_click, ushape. Подробнее https://help.roistat.com/features/Analitika_i_otchety/Analitika/Modeli_atribucii/ нет
Параметр Тип Описание
orders array[object]
id string ID заказа из CRM
title string название сделки из CRM
url string URL сделки из CRM
source object
>> type string системный тип канала (источника сделки)
>> icon_url string or null ссылка на иконку канала (источника сделки)
>> title string человекочитаемое название канала (источника сделки)
creation_date string дата и время создания заказа в формате UTC0
update_date null or string дата и время последнего изменения данных о заказе, в формате UTC0
paid_date null or string дата и время оплаты заказа, в формате UTC0
status string системное имя статуса
status_name string название статуса
price integer выручка по заказу
cost integer себестоимость
visit_id null or string номер визита клиента
visit null or object объект с данными визита. Подробнее о данных визита читайте в методе /project/site/visit/list
fields_data object дополнительные поля
is_multichannel integer мультиканальность сделки: 1 - было несколько рекламных касаний, 0 - визит был с одного канала
visits_count integer количество визитов
client_phones array[object]
client_emails array[object]
client_name null or string
client_id null or string
client_external_id null or string
status string

Заполнить значения пользовательских показателей

POST https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/add

С помощью данного метода можно заполнить значения пользовательских показателей. Чтобы получить список пользовательских показателей, используйте метод /project/analytics/metrics/custom/manual/list.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/add?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"manual_custom_metric_id": 4, "source": "Прямые визиты", "value": 9999, "period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}}'

Тело запроса:

{
  "manual_custom_metric_id": 4,
  "source": "Прямые визиты",
  "value": 9999,
  "period": {
    "from": "2021-03-31T21:00:00",
    "to": "2021-04-13T20:59:59"
  }
}   

Без параметров.

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
manual_custom_metric_id number идентификатор показателя (можно получить с помощью /project/analytics/metrics/custom/manual/list) да
source string источник / рекламный канал да
value number значение да
period object период (указывается в формате UTC+0) да
from string да
to string да

Без параметров.

Получить список пользовательских показателей

GET https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/list

С помощью данного метода можно получить список пользовательских показателей.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/list?project=12345' \
--request GET \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "data": [
    {
      "id": 4,
      "title": "Начатые чаты",
      "type": "integer",
      "creation_date": "2021-03-05T12:05:38+0000",
      "is_used_in_custom_metric": false
    },
    {
      "id": 3,
      "title": "Показанные телефоны",
      "type": "integer",
      "creation_date": "2021-03-05T12:05:30+0000",
      "is_used_in_custom_metric": false
    }
  ],
  "total": 2,
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
data array[object]
id number ID показателя
title string название показателя
type string тип данных
creation_date string дата создания
is_used_in_custom_metric boolean используется ли в других пользовательских показателях
total integer
status string

Получить значения пользовательских показателей

POST https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/list

С помощью данного метода можно получить значения пользовательских показателей.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/list?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
    "data": [
        {
            "id": 5,
            "manual_custom_metric_id": 2,
            "date_from": "2022-04-28T21:00:00+0000",
            "date_to": "2022-05-12T20:59:59+0000",
            "source": "seo",
            "source_alias": "SEO",
            "value": 10000,
            "creation_date": "2022-05-12T07:16:09+0000"
        }
    ],
    "total": 1,
    "status": "success"
}   

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да
Параметр Тип Описание
data array[object] Массив с данными о значении показателя
id number ID значения показателя
manual_custom_metric_id number ID пользовательского показателя
date_from string Начало периода, за который внесено значение показателя
date_to string Окончание периода, за который внесено значение показателя
source string Источник, к которому относится значение показателя
source_alias string Человекочитаемый источник, к которому относится значение показателя
value number Значение пользовательского показателя
creation_date string Дата ввода значения показателя
total number Общее количество полученных значений
status string Статус запроса

Удалить значение пользовательского показателя

POST https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/delete

С помощью данного метода можно удалить значение пользовательского показателя. Узнать ID значения показателя можно с помощью метода /project/analytics/metrics/custom/manual/value/list.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/delete?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"id": 4}'

Тело запроса:

{
  "id": 4
}   
{
  "status": "success"
}   

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
id number ID значения показателя (можно получить с помощью /project/analytics/metrics/custom/manual/value/list) да
Параметр Тип Описание
status string Статус запроса

Получить данные отчета "Воронка статусов"

POST https://cloud.roistat.com/api/v1/project/reports/funnel/data

Данный метод позволяет получить данные отчета Воронка статусов.

curl 'https://cloud.roistat.com/api/v1/project/reports/funnel/data?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}, "funnel": [{"title": "В работе","statuses": ["0","1","2"],"order": "1"}], "dimensions": ["marker_level_1"], "next_dimensions": ["marker_level_2"]}'

Тело запроса:

{
  "period": {
    "from": "2022-01-31T21:00:00.000Z",
    "to": "2022-02-28T20:59:59.999Z"
  },
  "filters": [
    {
      "field": "marker_level_1",
      "operator": "=",
      "value": "yamarket3"
    }
  ],
  "funnel": [
    {
      "title": "В работе",
      "statuses": ["0","1","2"],
      "order": "1"
    },
    {
      "title": "Оплаченные",
      "statuses": ["3"],
      "order": "2"
    }
  ],
  "dimensions": ["marker_level_1"],
  "next_dimensions": ["marker_level_2"]
}
{
  "data": {
    "date_from": "2022-01-31T21:00:00+0000",
    "date_to": "2022-02-28T20:59:59+0000",
    "items":[
        {
          "dimensions": {
            "marker_level_1": {
                "icon": "https:\/\/favicon.yandex.net\/favicon\/market.yandex.ru",
                "title": "Яндекс.Маркет",
                "value": "yamarket3"
            }
          },
          "metrics": { 
            "visits": 2139,
            "marketing_cost": 53586.983999999997,
            "leads": 99
          },
          "funnel": {
            "1": {
                "cost": 541.27272727272725,
                "count": 99,
                "conversion": 4.6283309957924264,
                "status_duration": 29.016828703703705
                },
            "2": {
                "cost": 1531.0285714285715,
                "count": 35,
                "conversion": 35.353535353535356,
                "status_duration": 17.214733796296297
                }
            },
          "is_has_children": true
        }
    ],
    "mean": {
        "1": {
            "cost": 541.27272727272725,
            "count": 99,
            "conversion": 4.6283309957924264,
            "status_duration": 29.016828703703705
            },
        "2": {
            "cost": 1531.0285714285715,
            "count": 35,
            "conversion": 35.353535353535356,
            "status_duration": 17.214733796296297
            }
        }
    },
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
period object Временной период да
from string Начальная дата вида 2016-07-01T00:00:00+0300 да
to string Конечная дата вида 2016-07-31T00:00:00+0300 да
filters array[object] Фильтры для ограничения данных нет
field string Параметр, по которому будет идти отбор данных. Это могут быть метрики и измерения. Если field - название метрики, то фильтр будет применен после обработки данных, если измерение - до обработки данных нет
operator string Операция сравнения: >, <, =, <>, >=, <=, in нет
value string or array[string] Значение метрики/измерения, по которому идет отбор нет
funnel array[object] Информация о воронках, по которым нужно выгрузить данные да
title string Название группы статусов: Не обработан, В работе, Ожидает оплаты или Оплачен да
statuses array[string] ID статусов воронки в системе Roistat (можно узнать с помощью метода /project/integration/order/list) да
order string Порядковый номер воронки в ответе да
dimensions array[string] Перечень измерений да
next_dimensions array[string] Следующий уровень отчета (например, если передать значение "marker_level_2", в ответе в параметре is_has_children будет указано, существует ли данный уровень отчета для каждого источника) да
Параметр Тип Описание
data array[object]
date_from string Начальная дата периода отчета
date_to string Конечная дата периода отчета
items array[object] Данные по измерениям, метрикам и воронкам за весь временной период (period)
>> dimensions object Данные по измерениям за весь временной период (period)
>>> value string Системное название измерения
>>> title string Человекочитаемое название измерения (в интерфейсе)
>>> icon string URL-адрес, где находится иконка для конкретного измерения
>> metrics array[object] Данные по метрикам за весь временной период (period)
>> funnel array[object] Информация о воронках, по которым выгружены данные (отображается в порядке, указанном в параметре order)
>>> cost string Расходы
>>> count string Количество заявок, прошедших через статус
>>> conversion string Конверсия
>>> status_duration string Длительность нахождения сделок в статусе
>> is_has_children boolean Параметр, показывающий, существует ли для данной группировки следующий уровень отчета, заданный в next_dimensions
mean object Общие и средние значения для соответствующих метрик для выбранного временного периода (данные по каждой воронке отображается в порядке, указанном в параметре order)
>> cost string Расходы
>> count string Количество заявок, прошедших через статус
>> conversion string Конверсия
>> status_duration string Длительность нахождения сделок в статусе
status string

Добавить календарное событие аналитики в проект

POST https://cloud.roistat.com/api/v1/project/analytics/event/add

Метод добавляет календарное событие аналитики в проект.

Если в параметре date не указан часовой пояс, дата и время интерпретируются как UTC.

Если передан параметр tag_ids, все указанные ID тегов должны существовать в проекте.

curl 'https://cloud.roistat.com/api/v1/project/analytics/event/add?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"name":"Campaign launch","date":"2026-07-08T10:00:00+03:00","tag_ids":[1,2]}'

Тело запроса:

{
  "name": "Campaign launch",
  "date": "2026-07-08T10:00:00+03:00",
  "tag_ids": [1, 2]
}
{
  "status": "success",
  "data": {
    "id": 123,
    "name": "Campaign launch",
    "date": "2026-07-08T07:00:00+00:00",
    "tag_ids": [1, 2],
    "tags_count": 2
  }
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
name string Непустое название события да
date string Дата и время события. Если часовой пояс не указан, используется UTC да
tag_ids array[number] Массив положительных ID тегов. Все теги должны существовать нет
Параметр Тип Описание
status string Статус запроса
data object Данные созданного события
id number ID созданного события
name string Название события
date string Дата и время события
tag_ids array[number] Список ID тегов, привязанных к событию
tags_count number Количество тегов, привязанных к событию