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

Теги

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

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

Выбор тегов для использования

Anchor link to

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

Значения тегов

Anchor link to

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

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

Типы тегов

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

Операторы тегов

Anchor link to

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

  • Операторы для Integer-тега: is (равно), is not (не равно), are (один из), not in (не в списке), not set (не задано), any (любой)
  • Операторы для String-тега: is (равно), is not (не равно), are (один из), not in (не в списке), not set (не задано), any (любой)
  • Операторы для List-тега: in (содержит), not in (не содержит), not set (не задано), any (любой)
  • Операторы для Boolean-тега: is (равно true/false), not set (не задано), any (любой)
  • Операторы для Date-тега: exactly on (точно в дату), on or after (в дату или после), on or before (в дату или до), between (между), not set (не задано), any (любой)
  • Операторы для Price-тега: is (равно), is not (не равно), greater or equals (больше или равно), less or equals (меньше или равно), between (между), in (в списке), not in (не в списке), not set (не задано), any (любой)
  • Операторы для Version-тега: is (равно), is not (не равно), greater or equals (больше или равно), less or equals (меньше или равно), between (между), in (в списке), not in (не в списке), not set (не задано), any (любой)

Теги, специфичные и неспецифичные для приложения

Anchor link to

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

Пример

Anchor link to

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

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

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

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

Теги, специфичные для пользователя

Anchor link to

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

Пример
{
"request":{
"application": "XXXXX-XXXXX", // Код приложения Pushwoosh
"userId": "идентификатор конкретного пользователя",
"tags": {
"UserSpecificStringTag": "строковое значение",
"UserSpecificIntegerTag": 42
}
}
}

Теги по умолчанию

Anchor link to

Эти теги доступны в Pushwoosh «из коробки», поэтому вам не нужно (и, по сути, не следует) устанавливать их вручную. Большинство из них устанавливаются из приложения и передаются на наш сервер через вызовы 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Версия Pushwoosh SDK, реализованная на устройстве
Unsubscribed EmailsBooleanSDKУказывает, отписался ли пользователь от получения электронных писем от вашего приложения

Пользовательские теги

Anchor link to

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

Как настроить пользовательский тег

Anchor link to

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

POST https://api.pushwoosh.com/json/1.3/addTag

Создает тег в вашем аккаунте.

Тело запроса

Anchor link to
НазваниеТипОписание
auth*stringТокен доступа API из Pushwoosh Control Panel.
tag*objectПараметры тега.
tag.name*stringИмя тега.
tag.type*integerТип тега. См. возможные значения ниже.
tag.application_specificbooleanОпределяет, должно ли значение тега быть разным для нескольких приложений или одинаковым для всех.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": true
}
}
Пример
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // обязательно, токен доступа API из Pushwoosh Control Panel
"tag": {
"name": "TAG_NAME", // обязательно
"type": 1, // обязательно, см. возможные значения ниже
"application_specific": true, // или 'false', опционально. Определяет, должно ли значение тега быть разным для нескольких приложений или одинаковым для всех
"user_specific": true // или 'false', опционально, используется для тегов, специфичных для приложения
}
}
}

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

  • 1 - Integer (целочисленный)
  • 2 - String (строковый)
  • 3 - List (список)
  • 4 - Date (дата)
  • 5 - Boolean (логический)
  • 6 - Decimal (десятичный). Пример: 19.95
  • 7 - Version (версия). Пример: “1.0.0.0”

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

Anchor link to

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

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

Ниже приведены примеры реализации для различных фреймворков с использованием функции 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-тег для устройства.

public virtual void SetIntTag(string tagName, int tagValue)
SetStringTag
Anchor link to

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

public virtual void SetStringTag(string tagName, string tagValue)
SetListTag
Anchor link to

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

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

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

Установка тегов через API

Anchor link to

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

POST https://go.pushwoosh.com/json/1.3/setTags

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

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

Использование тега по умолчанию City

Anchor link to

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

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

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