Как создать аудиторию на основе списка электронных адресов

Создайте аудиторию на основе списка эл. адресов, отправив запрос CreateUserListRequest.

Создайте тело запроса

Создайте ресурс UserList. Ниже перечислены поля, которые обычно задаются.

displayName
Обязательный параметр. Отображаемое название списка. Название должно быть уникальным среди всех списков, принадлежащих аккаунту.
description
Краткое описание списка.
integrationCode
Идентификатор из вашей системы.
membershipDuration

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

Если вы используете JSON, рассчитайте количество секунд, умножив количество дней на 86400 (количество секунд в дне). Затем укажите в качестве значения результат умножения, а после него – s. Например, если вы хотите, чтобы срок хранения данных составлял 90 дней, используйте значение 7776000s, поскольку 90 * 86400 = 7776000.

Если вы используете формат буфера протокола, то для создания объекта Duration на основе количества дней используйте удобный метод, если он существует. Например, в библиотеке protobuf-java-util для Java есть удобный метод fromDays(). В противном случае рассчитайте количество секунд, умножив количество дней на 86400 (количество секунд в дне), и укажите результат в поле seconds объекта Duration.

Обязательные поля для списков электронных адресов

Поле ingestedUserListInfo обязательно для аудитории на основе списка эл. адресов.

Ниже перечислены поля, которые нужно задать в объекте IngestedUserListInfo в зависимости от типа данных, которые вы хотите использовать для добавления участников аудитории в список.

Список контактной информации

Если вы хотите использовать контактную информацию (хешированные адреса электронной почты, номера телефонов или адреса) для определения участников аудитории, задайте следующие поля:

uploadKeyTypes

Задайте список, содержащий тип ключа загрузки CONTACT_ID.

Список uploadKeyTypes должен содержать только одну запись.

contactIdInfo

Задайте сообщение ContactIdInfo, в котором для поля dataSourceType установлено подходящее значение из перечисления DataSourceType.

Список идентификаторов мобильных устройств

Если вы хотите использовать мобильные идентификаторы для определения участников аудитории, задайте следующие поля:

uploadKeyTypes

Задайте список, содержащий тип ключа загрузки MOBILE_ID.

Список uploadKeyTypes должен содержать только одну запись.

mobileIdInfo

Установите сообщение MobileIdInfo:

  • Задайте для параметра dataSourceType подходящее значение из перечисления DataSourceType.

  • Задайте для свойства keySpace значение IOS или ANDROID.

  • Задайте для параметра appId строку, которая уникальным образом идентифицирует мобильное приложение, из которого были собраны данные.

    • Для iOS идентификатор – это строка из девяти цифр в конце URL в магазине приложений. Например, 476943146 для приложения Flood-It! со ссылкой на магазин приложений https://apps.apple.com/us/app/flood-it/id476943146.

    • Для Android это название пакета приложения. Например, для приложения Flood-It! со ссылкой на Google Play https://play.google.com/store/apps/details?id=com.labpixies.flood идентификатор будет com.labpixies.flood.

Список идентификаторов пользователей

Если вы хотите использовать идентификаторы пользователей для определения участников аудитории, задайте следующие поля:

uploadKeyTypes

Задайте список, содержащий тип ключа загрузки USER_ID.

Список uploadKeyTypes должен содержать только одну запись.

Создание запроса

Чтобы создать аудиторию на основе списка эл. адресов, создайте запрос create для ресурса UserList.

  1. Задайте для поля parent название ресурса аккаунта. Название ресурса должно соответствовать формату accountTypes/{accountType}/accounts/{account}.

  2. Используйте объект UserList, созданный для тела запроса.

  3. Если ваши учетные данные не относятся к аккаунту Google, который является пользователем parent, настройте заголовки, как описано в разделе Настройка целевых серверов и заголовков.

Ниже приведены примеры запросов в формате JSON для разных типов пользовательских данных. В каждом запросе для параметра membershipDuration задается значение 2592000s, где 2592000 – это количество секунд в 30 днях. Нажмите кнопку Открыть в API Explorer, чтобы попробовать отправить запрос.

Контактная информация

{
    "description": "Customer Match for contact info",
    "displayName": "Contact info audience",
    "ingestedUserListInfo": {
        "contactIdInfo": {
            "dataSourceType": "DATA_SOURCE_TYPE_FIRST_PARTY"
        },
        "uploadKeyTypes": [
            "CONTACT_ID"
        ]
    },
    "membershipDuration": "2592000s"
}

Электронные удостоверения личности

{
    "description": "Customer Match for mobile IDs",
    "displayName": "Mobile ID audience",
    "ingestedUserListInfo": {
        "mobileIdInfo": {
            "dataSourceType": "DATA_SOURCE_TYPE_FIRST_PARTY",
            "keySpace": "ANDROID",
            "appId": "com.labpixies.flood"
        },
        "uploadKeyTypes": [
            "MOBILE_ID"
        ]
    },
    "membershipDuration": "2592000s"
}

идентификаторы пользователей;

{
    "description": "Customer Match for user IDs",
    "displayName": "User ID audience",
    "ingestedUserListInfo": {
        "userIdInfo": {
            "dataSourceType": "DATA_SOURCE_TYPE_FIRST_PARTY"
        },
        "uploadKeyTypes": [
            "USER_ID"
        ]
    },
    "membershipDuration": "2592000s"
}

Отправка запроса

Отправьте запрос и, если необходимо, включите заголовки запроса, например login-account или linked-account.

Если запрос выполнен успешно, ответ содержит созданный объект UserList с заполненными полями id и name, предназначенными только для вывода.

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