Сегментация
Все методы API отчетов позволяют возвращать результаты, рассчитанные не только по всему сайту, но и по отдельному сегменту данных. Для задания сегмента используйте параметр filters.
Вы можете сегментировать запрос по группировкам и метрикам. Фильтры по группировкам будут применены к исходным (не сгруппированным) данным, фильтры по метрикам — уже к сгруппированным строкам результата.
Для задания фильтра в URL-адресе запроса необходимо использовать URL-кодирование.
Формат фильтра
attribute operator 'value'где
- attribute — группировка или метрика. Например,
ym:s:trafficSourceилиym:s:pageDepth.Метрика, по которой фильтруются данные, должна быть указана в параметре metrics. В отчетах сравнения (сегментов или сравнение-drill down) фильтрация по метрике недоступна.
- value — значение для сравнения. В строке со значением должны быть экранированы символы
'и\с помощью символа\.
При этом действует лимит: количество уникальных группировок и метрик — до 10, количество отдельных фильтров — до 20, длина строки в фильтре — до 10 000 символов.
Например, чтобы получить данные только по визитам из Москвы, используйте фильтр:
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.
Множества и отношения
В одном визите может быть несколько параметров визитов или просмотров. 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 | == > < >= <= =@ =~ =* ! =. |
NONE | != !@ !~ !* !. |
| Оператор | Заменяющие операторы |
|---|---|
EXISTS | == > < >= <= =@ =~ =* ! =. |
NONE | != !@ !~ !* !. |
Примеры формирования запроса с сегментом
Сумма числовых значений параметров визитов для всех параметров с ключом первого уровня 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'
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