Сегментация

Все методы API отчетов позволяют возвращать результаты, рассчитанные не только по всему сайту, но и по отдельному сегменту данных. Для задания сегмента используйте параметр filters.

Вы можете сегментировать запрос по группировкам и метрикам. Фильтры по группировкам будут применены к исходным (не сгруппированным) данным, фильтры по метрикам — уже к сгруппированным строкам результата.

Для задания фильтра в URL-адресе запроса необходимо использовать URL-кодирование.

  1. Формат фильтра
  2. Множества и отношения
    1. Синтаксис
    2. Примеры использования операторов
  3. Примеры использования сегментации
    1. Типы источников трафика
    2. Количество визитов и посетителей из поисковых систем без визитов роботов
    3. Количество визитов и посетителей из поисковых систем
    4. Количество визитов и новых посетителей из поисковых систем
    5. Количество визитов с глубиной просмотра больше 5 страниц

Формат фильтра

attribute operator 'value'

где

  • attribute — группировка или метрика. Например, ym:s:trafficSource или ym:s:pageDepth.

    Метрика, по которой фильтруются данные, должна быть указана в параметре metrics. В отчетах сравнения (сегментов или сравнение-drill down) фильтрация по метрике недоступна.

  • operatorоператор фильтрации. Указывает какой тип фильтра будет применен. Например, == или >=.
  • value — значение для сравнения. В строке со значением должны быть экранированы символы ' и \ с помощью символа \.
Примечание. Язык запроса (параметр lang) влияет на значения фильтров. Указывайте параметр lang=ru, когда используете русские имена, например, ym:s:regionCityName=='Санкт-Петербург'.
Ограничения:
  • количество уникальных группировок и метрик — до 10;
  • количество отдельных фильтров — до 20;
  • длина строки в фильтре — до 10 000 символов;
  • количество значений в одном условии фильтрации — 100.

Например, чтобы получить данные только по визитам из Москвы, используйте фильтр:

filters=ym:s:regionCityName=='Москва'

Для разных группировок доступны разные операторы фильтрации (например, см. столбец Типы соответствий в разделе Источники).

Чтобы сочетать фильтры между собой в запросе, используйте бинарные операторы AND и OR, а также унарный оператор NOT:

&metrics=ym:s:visits&dimensions=ym:s:age&filters=NOT(ym:s:age!=18)
ym:s:regionCityName=='Москва' OR ym:s:regionCityName=='Санкт-Петербург'

А также задавайте приоритет с помощью круглых скобок:

(ym:s:regionCityName=='Москва' OR ym:s:regionCityName=='Санкт-Петербург') AND ym:s:sex=='мужской'

Фильтры по группировкам и по метрикам можно комбинировать только на верхнем уровне (вне скобок) и только через оператор AND.

Таким образом можно отслеживать статистику без визитов роботов — с помощью параметра filters=ym:s:isRobot=='No' (пример). Подробно о том, как Метрика определяет роботов см. в Справке.

Множества и отношения

В одном визите может быть несколько параметров визитов или просмотров. API позволяет осуществлять более точные запросы с помощью специального расширенного синтаксиса. Он может применяться в следующих случаях:

  • Сегментация по группировкам из Множеств (например, см. раздел Параметры визита).
  • Сегментация визитов по просмотрам.

Синтаксис

В синтаксисе фильтров можно использовать следующие операторы:

[EXISTS|ALL|NONE](<filter>)
Оператор Значение Описание
EXISTS Содержит Используйте, если требуется наличие хотя бы одного элемента множества/просмотра в визите, удовлетворяющего условию в скобках.
ALL Все Используйте, если требуется, чтобы все элементы множества/просмотры в визите удовлетворяли условию в скобках.
NONE Не содержит Используйте, если требуется, чтобы ни один элемент множества/просмотр в визите не удовлетворял условию в скобках.
Оператор Значение Описание
EXISTS Содержит Используйте, если требуется наличие хотя бы одного элемента множества/просмотра в визите, удовлетворяющего условию в скобках.
ALL Все Используйте, если требуется, чтобы все элементы множества/просмотры в визите удовлетворяли условию в скобках.
NONE Не содержит Используйте, если требуется, чтобы ни один элемент множества/просмотр в визите не удовлетворял условию в скобках.

Например, фильтр по визитам, которые содержат параметр визита client_id , будет иметь вид:

filters=EXISTS(ym:s:paramsLevel1=='client_id')

Метрики по множествам можно фильтровать, используя группировки этого множества:

<metric>[<metric_filter>]

Например, сумма параметров визитов для всех параметров с ключом первого уровня money:

metrics=ym:s:sumParams[ym:s:paramsLevel1=='money']

Вы можете использовать фильтры по множествам и без операторов EXISTS, ALL, NONE . В таком случае автоматически используется оператор EXISTS.

Список логических операторов.

Примеры использования операторов

Сумма числовых значений параметров визитов для всех параметров с ключом первого уровня money:

metrics=ym:s:sumParams(ym:s:paramsLevel1=='money')

Количество параметров для {"order":"created"}:

metrics=ym:s:paramsNumber(ym:s:paramsLevel1=='order' AND ym:s:paramsLevel2=='created')

Сегментация по визитам с параметром визита {"new_client":"no"}:

filters=EXISTS(ym:s:paramsLevel1=='new_client' AND ym:s:paramsLevel2=='no')

Сегментация по визитам с параметром визита {"new_client":"no"} и параметром визита {"orange_button":"yes"}:

filters=EXISTS(ym:s:paramsLevel1=='new_client' AND ym:s:paramsLevel2=='no') AND EXISTS(ym:s:paramsLevel1=='orange_button' AND ym:s:paramsLevel2=='yes')

Сегментация по визитам с параметром визита {"new_client":"no"} и без параметра визита {"orange_button":"yes"}:

filters=EXISTS(ym:s:paramsLevel1=='new_client' AND ym:s:paramsLevel2=='no') AND NONE(ym:s:paramsLevel1=='orange_button' AND ym:s:paramsLevel2=='yes')

Количество визитов по запросам на URL, содержащий category1:

metrics=ym:s:visits&filters=EXISTS(ym:pv:URL=@'category1')

Количество визитов по отсутствию запросов на URL, содержащий category1:

metrics=ym:s:visits&filters=NONE(ym:pv:URL=@'category1')

Количество визитов по запросам на URL, который начинается с https://example.com/tariff/, включая указанную страницу:

metrics=ym:s:visits&filters=EXISTS(ym:pv:URL=*'https://example.com/tariff/*')

Количество визитов по поисковым запросам, которые включают в себя фрагмент фразы:

metrics=ym:s:visits&filters=EXISTS(ym:s:<attribution>SearchPhrase=*'*яндекс*')

Примеры использования сегментации

Используйте данные примеры, чтобы формировать более детальные отчеты. При фильтрации используются значения группировок. О том, как получать эти значения, см. в разделе Локализация и расшифровка значений группировок.

Типы источников трафика

dimensions=ym:s:lastTrafficSource

metrics=ym:s:visits,ym:s:users

filters=ym:s:lastTrafficSource=.('organic','direct','referral')

https://api-metrika.yandex.net/stat/v1/data?dimensions=ym:s:lastTrafficSource&metrics=ym:s:visits,ym:s:users&filters=ym:s:lastTrafficSource=.('organic','direct','referral')&id=44147844&lang=ru

Количество визитов и посетителей из поисковых систем без визитов роботов

Яндекс Метрика определяет роботов по поведенческим факторам и другим техническим сигналам. Фильтрация роботов в отчетах Метрики помогает получать точные значения метрик. Например, показателя отказов, времени на сайте и глубины просмотра. Подробно об этом см. в Справке.

dimensions=ym:s:searchEngine

metrics=ym:s:visits,ym:s:users

filters=ym:s:trafficSource=='organic' AND ym:s:isRobot=='No'

https://api-metrika.yandex.net/stat/v1/data?dimensions=ym:s:searchEngine&metrics=ym:s:visits,ym:s:users&filters=ym:s:trafficSource=='organic' AND ym:s:isRobot=='No'&id=44147844

Количество визитов и посетителей из поисковых систем

dimensions=ym:s:searchEngine

metrics=ym:s:visits,ym:s:users

filters=ym:s:trafficSource=='organic'

https://api-metrika.yandex.net/stat/v1/data?dimensions=ym:s:searchEngine&metrics=ym:s:visits,ym:s:users&filters=ym:s:trafficSource=='organic'&id=44147844

Количество визитов и новых посетителей из поисковых систем

dimensions=ym:s:searchEngine

metrics=ym:s:visits,ym:s:users

filters=ym:s:trafficSource=='organic' AND ym:s:isNewUser=='Yes'

https://api-metrika.yandex.net/stat/v1/data?dimensions=ym:s:searchEngine&metrics=ym:s:visits,ym:s:users&filters=ym:s:trafficSource=='organic' AND ym:s:isNewUser=='Yes'&id=44147844

Количество визитов с глубиной просмотра больше 5 страниц

metrics=ym:s:visits

filters=ym:s:pageViews>5

https://api-metrika.yandex.net/stat/v1/data?metrics=ym:s:visits&filters=ym:s:pageViews>5&id=44147844

Все примеры сегментации