Skip to content

Язык сегментации

Wavesend предлагает мощный механизм сегментации для создания детализированных сегментов на основе значений Tag. Язык сегментации — это особый способ написания и комбинирования критериев сегментации для описания определенной группы пользователей, которые соответствуют этим критериям, и рассмотрения их как единого сегмента аудитории.

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

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

Например, предположим, что пользовательница по имени Джейн живет в Токио, и ее возраст — 28 лет. Для ее устройства будут установлены следующие Tag:

  • Name: Jane
  • City: Tokyo
  • Age: 28

Чтобы нацелиться на Джейн, вам нужно будет описать Segment следующим образом:

T("Name", eq, "Jane") * T("Age", eq, 28) * T("City", eq, "Tokyo")

Эта комбинация условий является фильтрующим выражением, используемым в языке сегментации для описания групп пользователей, то есть сегментов аудитории.

Фильтрующее выражение — это строка, содержащая условие или комбинацию условий, описывающих нужный вам Segment.

Каждое условие описывает Segment устройств, которые соответствуют указанным в этом условии критериям.

Например, следующее условие создает Segment пользователей, которые живут в Токио:

T("City", e, "Tokyo")

где

  • T — это Tag (тип условия);
  • eq — это применяемый оператор;
  • “Tokyo” — это значение Tag, связанное с устройствами пользователей.

Существует четыре типа условий, которые вы можете использовать для сегментации:

  • A (Application) – описывает Segment устройств с установленным определенным приложением;
  • T (Tag) – описывает Segment устройств с указанными значениями Tag;
  • AT (App-specific tag) – применяется в сочетании с кодами приложений для Tag, специфичных для приложения;
  • Event – описывает Segment устройств, вызвавших определенное событие Wavesend;

Для создания сложных сегментов к условиям в фильтрующем выражении можно применять следующие операции:

Объединяет сегменты, то есть создает новый Segment пользователей, которые соответствуют хотя бы одному из указанных условий.

Например, чтобы нацелиться на пользователей, которые живут в Токио или Осаке, вам нужно описать Segment следующими условиями:

T("City", eq, "Tokyo") + T("City", eq, "Osaka")

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

Следующее выражение описывает Segment пользователей, которые одновременно живут в Токио и указали свои имена:

T("City", eq, "Tokyo") * T("Name", any)

Создает Segment пользователей, которые принадлежат к одному из описанных сегментов и не принадлежат к другому.

Пользователи, которые живут в Токио, но не указали свои имена, будут описаны следующим образом:

T("City", eq, "Tokyo") \ T("Name", any)

Определяют порядок выполнения операций с условиями в вашем фильтрующем выражении.

Например, следующее фильтрующее выражение сначала получит Segment подписчиков приложения 12345-67890, чей возраст равен 18, а затем вычтет из этого сегмента всех мужчин:

( A("12345-67890") * T("Age", eq, 18) ) \ T("Gender", eq, "Male")

Операторы условий для Tag

Section titled “Операторы условий для Tag”

Для каждого типа Tag применяются свои операторы.

  • eq - равно указанному значению
  • noteq - не равно указанному значению
  • lte - меньше или равно указанному значению
  • gte - больше или равно указанному значению
  • in - любое из указанных значений
  • notin - не равно ни одному из указанных значений
  • between - в указанном диапазоне
  • any - устройства с любыми значениями, установленными для Tag
  • notset - устройства без установленного значения для Tag
  • eq - равно указанному значению
  • noteq - не равно указанному значению
  • in - равно любому из указанных значений
  • notin - не равно ни одному из указанных значений
  • any - устройства с любыми значениями, установленными для Tag
  • notset - устройства без установленного значения для Tag
  • in - устройства с любым из указанных значений Tag
  • notin - ни одно из указанных значений Tag не связано с устройством
  • any - устройства с любыми значениями, установленными для Tag
  • notset - устройства без установленного значения для Tag
  • eq - равно указанной дате
  • noteq - не равно указанной дате
  • lte - до или в указанную дату
  • gte - после или в указанную дату
  • in - равно любой из указанных дат
  • notin - не равно ни одной из указанных дат
  • between - в указанном диапазоне
  • any - устройства с любыми значениями, установленными для Tag
  • notset - устройства без установленного значения для Tag
  • match - соответствует указанному месяцу года и дню месяца.
  • daysago eq - равно указанному количеству дней до текущего дня
  • daysago noteq - не равно указанному количеству дней до текущего дня
  • daysago lte - меньше или равно указанному количеству дней до текущего дня
  • daysago gte - больше или равно указанному количеству дней до текущего дня
  • daysago between - между указанным количеством дней
  • eq - равно указанному значению
  • noteq - не равно указанному значению
  • any - устройства с любыми значениями, установленными для Tag
  • notset - устройства без установленного значения для Tag
  • eq - равно указанному значению
  • noteq - не равно указанному значению
  • lte - меньше или равно указанному значению
  • gte - больше или равно указанному значению
  • in - равно любому из указанных значений
  • notin - не равно ни одному из указанных значений
  • between - в указанном диапазоне
  • any - устройства с любыми значениями, установленными для Tag
  • notset - устройства без установленного значения для Tag
  • eq - равно указанному значению
  • noteq - не равно указанному значению
  • lte - меньше или равно указанному значению
  • gte - больше или равно указанному значению
  • in - равно любому из указанных значений
  • notin - не равно ни одному из указанных значений
  • between - в указанном диапазоне
  • any - устройства с любыми значениями, установленными для Tag
  • notset - устройства без установленного значения для Tag

Операторы условий для “Event”

Section titled “Операторы условий для “Event””
  • count gte - устройства, вызвавшие Event больше или ровно n раз
  • count lte - устройства, вызвавшие Event меньше или ровно n раз
  • count eq - устройства, вызвавшие Event ровно n раз
  • count noteq - устройства, вызвавшие Event любое количество раз, кроме n
  • date gte - устройства, вызвавшие Event позже или ровно в указанную дату
  • date lte - устройства, вызвавшие Event раньше или ровно в указанную дату
  • date eq - устройства, вызвавшие Event ровно в указанную дату
  • date noteq - устройства, вызвавшие Event в любое время, но не в указанную дату
  • date in - устройства, вызвавшие Event в любую из указанных дат
  • date notin - устройства, вызвавшие Event в любое время, но не в одну из указанных дат
  • date between - устройства, вызвавшие Event в указанный период
  • date daysago eq - дата вызова Event равна указанному количеству дней до текущего дня
  • date daysago noteq - дата вызова Event не равна указанному количеству дней до текущего дня
  • date daysago lte - дата вызова Event меньше или равна указанному количеству дней до текущего дня
  • date daysago gte - дата вызова Event больше или равна указанному количеству дней до текущего дня
  • date daysago between - дата вызова Event находится между указанным количеством дней

Пример фильтрующего выражения

Section titled “Пример фильтрующего выражения”
  1. Устройства на iOS и Android с установленным приложением и с Push Token:
A("11111-11111", ["ios","android"], [with_tokens])
  1. Устройства на iOS и Android с установленным приложением, но без Push Token:
A("11111-11111", ["ios","android"], [without_tokens])
  1. Устройства на iOS и Android с установленным приложением, независимо от наличия Push Token:
A("11111-11111", ["ios","android"], [with_tokens, without_tokens])
  1. Все подписчики приложения, которые что-либо купили в приложении:
AT( "11111-11111", "In-App Purchase", gte, 1)