Skip to content

Tags

Tags — один из самых полезных инструментов Wavesend, который открывает доступ к широкому спектру сложных функций. С помощью tags вы можете сегментировать свою Audience и отправлять целевые push-уведомления определенным пользователям на основе их атрибутов.

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

Начните с определения потребностей вашего бизнеса и решите, как вы хотите сегментировать аудиторию. Учитывайте такие факторы, как возраст, местоположение, история покупок в приложении или любые другие критерии, важные для таргетинга на пользователей.

Значения Tag помогут сделать ваши push-кампании умнее. Каждый tag способен хранить практически неограниченное количество значений. По сути, это означает, что одного tag будет достаточно для записи определенного типа информации о каждом конечном пользователе в вашей базе данных.

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

  • Integer — используется для целочисленных данных (количество полученных внутриигровых денег, достигнутый уровень, возраст).
  • String — используется для строковых значений (имя пользователя, e-mail, идентификаторы).
  • List — то же, что и тип String, но у каждого пользователя может быть установлено несколько значений одновременно (музыкальные предпочтения, категории новостей, предпочтения в кухне).
  • Boolean — тип Tag со значениями true / false.
  • Date — используется для календарных дат. По сути, это tag целочисленного типа, который хранит временные метки Unix Epoch (автоматически преобразуется из/в григорианскую дату).
  • Price — позволяет устанавливать значения в соответствии с указанной валютой в формате «*.XX» Подробнее.
  • Version — используется для версионирования. Пример допустимого формата: w.x.y.z (Major.Minor.Patch.Build). Максимальное значение для каждой части версии — 9999, поэтому максимальный номер версии не может быть больше 9999.9999.9999.9999.

Каждый тип Tag имеет определенный набор применимых операторов. Операторы Tag определяют взаимосвязь между Tag и его значениями для целей сегментации.

  • Операторы для Integer Tag: равно, не равно, одно из, ни одно из, не установлено, любое
  • Операторы для String Tag: равно, не равно, одно из, ни одно из, не установлено, любое
  • Операторы для List Tag: содержится в, не содержится в, не установлено, любое
  • Операторы для Boolean Tag: равно (true/false), не установлено, любое
  • Операторы для Date Tag: точно в дату, в дату или после, в дату или до, между, не установлено, любое
  • Операторы для Price Tag: равно, не равно, больше или равно, меньше или равно, между, содержится в, не содержится в, не установлено, любое
  • Операторы для Version Tag: равно, не равно, больше или равно, меньше или равно, между, содержится в, не содержится в, не установлено, любое

Специфичные / неспецифичные для приложения tags

Section titled “Специфичные / неспецифичные для приложения tags”

Этот параметр описывает поведение tags по отношению к разным приложениям в одной учетной записи. Специфичные для приложения tags могут иметь разные наборы значений для каждого приложения в одной учетной записи. Неспецифичные для приложения tags, напротив, хранят одно и то же значение для всех приложений, использующих этот Tag.

Допустим, у вас есть два приложения: новостное приложение и игра, и вы хотите таргетироваться только на тех пользователей, которые явно согласились получать от вас push-уведомления. Вы создаете логический tag под названием «Subscribed» и устанавливаете значение "true" для пользователей, которые хотят получать от вас push-уведомления, и "false" для тех, кто не хочет получать уведомления.

Один из ваших пользователей, Анна, установила оба ваших приложения. Она не против получать уведомления о срочных новостях, но отказалась от любых push-уведомлений из игрового приложения.

Если tag «Subscribed» является специфичным для приложения, все пойдет по плану. Однако, если бы этот tag был неспецифичным для приложения, то каждое из ваших приложений перезаписывало бы значение, установленное другим приложением, что может нарушить ваш таргетинг и вызвать недовольство.

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

Специфичные для пользователя tags

Section titled “Специфичные для пользователя tags”

Все Tags в Wavesend по своей сути являются специфичными для пользователя и назначаются для всех устройств пользователя, когда устанавливаются по UserID, а не по HWID.

Пример
{
"request":{
"application": "XXXXX-XXXXX", // Код приложения Wavesend
"userId": "the id of a specific user",
"tags": {
"UserSpecificStringTag": "string value",
"UserSpecificIntegerTag": 42
}
}
}

Эти tags доступны в Wavesend «из коробки», поэтому вам не нужно (и, по сути, не следует) устанавливать их вручную. Большинство из них устанавливаются из приложения и отправляются на наш сервер через вызовы API, такие как registerDevice, а некоторые устанавливаются самим сервером.

ИмяТипГде устанавливаетсяОписание
Application VersionVersionSDKТекущая версия приложения, установленная на устройстве
Browser TypeStringSDKКогда устройство регистрируется для вашего веб-проекта, его тип — мобильный или десктопный — отслеживается автоматически
CityStringСерверПоследнее зарегистрированное географическое местоположение устройства
CountryStringСерверПоследнее зарегистрированное географическое местоположение устройства
Device ModelStringSDKУказывает модель устройства, на котором установлено приложение
First InstallDateСерверУказывает время, когда устройство было впервые зарегистрировано для получения уведомлений
In-App ProductListSDKПродукты, купленные пользователем внутри приложения
Last In-App Purchase DateDateSDKДата последней покупки в приложении, совершенной на устройстве
LanguageStringSDKДвухбуквенная строчная аббревиатура локали устройства согласно ISO-639-1; берется из настроек устройства
Last Application OpenDateСерверВремя последнего запуска приложения на устройстве
OS VersionVersionSDKВерсия операционной системы, работающей на устройстве
PlatformStringSDKПлатформа, на которой пользователь использует ваш проект.
Push Alerts EnabledBooleanSDKУказывает, разрешены ли push-уведомления в настройках устройства
SDK VersionVersionSDKВерсия Wavesend SDK, реализованная на устройстве
Unsubscribed EmailsBooleanSDKУказывает, отписался ли пользователь от получения Email от вашего приложения

Здесь вы можете проявить творческий подход для достижения ваших конкретных бизнес-целей. Custom tags можно создавать на основе логики сегментации или схемы таргетинга, подходящей для ваших уникальных бизнес-потребностей. Совместно с отделом маркетинга определите, какие дополнительные custom tags необходимы для ваших кампаний.

Вы можете добавить новый tag в Wavesend Control Panel или использовать метод /addTag.

POST https://api.wavesend.ru/json/1.3/addTag

Создает tag в вашей учетной записи.

ИмяТипОписание
auth*stringAPI access token из Wavesend Control Panel.
tag*objectПараметры Tag.
tag.name*stringИмя Tag.
tag.type*integerТип Tag. Возможные значения см. ниже.
tag.application_specificbooleanОпределяет, должно ли значение tag быть разным для нескольких приложений или одинаковым для всех.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": true
}
}
Пример
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required, API access token из Wavesend Control Panel
"tag": {
"name": "TAG_NAME", // required
"type": 1, // required, возможные значения см. ниже
"application_specific": true, // or 'false', optional. Определяет, должно ли значение tag быть разным для нескольких приложений или одинаковым для всех
"user_specific": true // or 'false', optional, используется для application_specific tags
}
}
}

Возможные типы значений tag:

  • 1 - Integer
  • 2 - String
  • 3 - List
  • 4 - Date
  • 5 - Boolean
  • 6 - Decimal. Пример: 19.95
  • 7 - Version. Пример: “1.0.0.0”

Как собирать информацию от пользователей

Section titled “Как собирать информацию от пользователей”

После того как вы добавили и настроили tag, он готов к сбору информации от ваших пользователей. Выполните следующие шаги для его реализации:

  1. Интегрируйте Wavesend SDK в свой проект, следуя соответствующему руководству по интеграции.
  2. Используйте функцию setTags для назначения tags и сбора данных пользователей.

Ниже приведены примеры реализации для различных фреймворков с использованием функции setTags.

iOS Native

NSDictionary *tags = @{
@"Alias" : aliasField.text,
@"FavNumber" : @([favNumField.text intValue]),
@"price" : [PWTags incrementalTagWithInteger:5],
@"List" : @[ @"Item1", @"Item2", @"Item3" ]
};
[[PushNotificationManager pushManager] setTags:tags];

Документация

Unity

Устанавливает Integer Tag для устройства.

public virtual void SetIntTag(string tagName, int tagValue)

Устанавливает String Tag для устройства.

public virtual void SetStringTag(string tagName, string tagValue)

Устанавливает List Tag для устройства.

public virtual void SetListTag(string tagName, List<object> tagValues)

Документация

Хотя в большинстве случаев (99%) tags устанавливаются из приложения, вы также можете устанавливать tags через Wavesend API. Ниже приведен пример типичного запроса к эндпоинту /setTags:

POST https://go.wavesend.ru/json/1.3/setTags

{
"request": {
"application": "XXXXX-XXXXX", // required, код приложения Wavesend
"hwid": "8f65bXXXf378eXXXbeceXXX4e153XXX2", // required, идентификатор аппаратного устройства, используемый в API /registerDevice
"tags": { // required
"StringTag": "string value", // Пример string tag
"IntegerTag": 42, // Пример integer tag
"ListTag": ["string1", "string2"], // Пример list tag
"DateTag": "2024-10-02 22:11", // Примечание: время должно быть в UTC
"BooleanTag": true // Допустимые значения: true, false
}
}
}

Для получения дополнительной информации обратитесь к документации API setTags

Использование Default Tag City

Section titled “Использование Default Tag City”

Местоположение устройства определяется на основе его IP-адреса в момент последнего запуска вашего приложения на этом устройстве. GeoIP передает данные о местоположении в Wavesend, а Wavesend сохраняет полученное от GeoIP местоположение как значение Tag City для конкретного устройства.

В некоторых случаях местоположение, предоставленное GeoIP, отличается от названия города — например, когда оно относится к району города или другой административной единице. Пожалуйста, будьте внимательны при использовании Default Tag City для целей сегментации: убедитесь, что вы выбрали правильные значения.

Например, если вы собираетесь таргетироваться на пользователей из Мюнхена, вам необходимо охватить его несколькими значениями Tag City, включая сам «Мюнхен» (со всеми соответствующими значениями, такими как различные варианты написания, которые могут быть возвращены GeoIP и сохранены как значения tag) и несколько близлежащих районов.