Как форматировать пользовательские данные

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

  • UserData – данные, предоставленные пользователем, например адрес электронной почты или номер телефона.
  • IpData – данные IP-адресов, например IP-адрес и связанные с ним временные метки.
  • PairData – идентификаторы сверки данных издателя и рекламодателя (PAIR).
  • MobileData – данные, идентифицирующие мобильное устройство.

Требования к UserData

Объект UserData представляет собой коллекцию объектов UserIdentifier. У каждого объекта UserIdentifier должен быть ровно один атрибут из таблицы ниже.

UserIdentifier
email_address
Формат
string
  • Преобразовать в нижний регистр.
  • Если в адресе электронной почты указан домен gmail.com или googlemail.com:
    • Удалите все точки (.) перед символом @.
    • Удалите знак плюса (+) из локальной части и все символы, которые следуют за ним.
    • Пример: cloudy.sanfrancisco+shopping@gmail.com → cloudysanfrancisco@gmail.com
  • Если в адресе электронной почты используется домен, отличный от gmail.com или googlemail.com, не удаляйте точки и знаки плюса.
    • Пример: user.name+NYC@Example.com → user.name+nyc@example.com
Пробел Удалите начальные, конечные и промежуточные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256. Закодируйте байты хеша с помощью шестнадцатеричного или Base64-кодирования.
phone_number
Формат
string
Используйте формат E.164.
со знаком плюса (+) и кодом страны. Все символы после знака плюса должны быть цифрами.
Например, номер телефона в США (800)555-0100 должен быть отформатирован и приведен к нормализованному виду +18005550100.
Пробел Удалите начальные и конечные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256. Закодируйте байты хеша с помощью шестнадцатеричного или Base64-кодирования.
address
AddressInfo объект

Формат "AddressInfo"

Чтобы создать атрибут address для объекта UserIdentifier, следуйте приведенным ниже рекомендациям по форматированию.

AddressInfo
given_name
Формат
string
Преобразовать в нижний регистр.
Не добавляйте префиксы, например Mrs..
Пробел Удалите начальные и конечные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256. Закодируйте байты хеша с помощью шестнадцатеричного или Base64-кодирования.
family_name
Формат
string
Преобразовать в нижний регистр.
Не добавляйте суффиксы, например Jr..
Пробел Удалите начальные и конечные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256. Закодируйте байты хеша с помощью шестнадцатеричного или Base64-кодирования.
region_code
Формат
string
Двухзначный код в формате ISO-3166-1 alpha-2.
Пробел Удалите начальные и конечные пробелы.
Хеширование Не хешируйте region_code.
postal_code
Формат
string
Можно указывать почтовые индексы США и других стран.
Для адресов в США используйте пятизначный индекс или пятизначный индекс с четырехзначным расширением. Использование четырехзначного добавочного кода может повысить коэффициент соответствия.
Для всех других стран не указывайте добавочный код после почтового индекса.
Пробел Удалите начальные и конечные пробелы.
Хеширование Не хешируйте postal_code.
address_line
Формат
string
Используется только в Google Аналитике.
Улица и номер дома пользователя.
Преобразовать в нижний регистр.
Удалите символы.
Пробел Удалите начальные и конечные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256. Закодируйте байты хеша с помощью шестнадцатеричного или Base64-кодирования.
city
Формат
string
Используется только в Google Аналитике.
Город, указанный в адресе пользователя.
Преобразовать в нижний регистр.
Удалите символы.
Пробел Удалите начальные и конечные пробелы.
Хеширование Не хешируйте city.
administrative_area
Формат
string
Используется только в Google Аналитике.
Административный район (штат или провинция) в адресе пользователя.
Используйте сокращенное название из двух букв (например, ca) или полное название (например, california).
Преобразовать в нижний регистр.
Удалите символы.
Пробел Удалите начальные и конечные пробелы.
Хеширование Не хешируйте administrative_area.

Требования к IpData

Объект IpData имеет следующие атрибуты:

IpData
ip_address
Формат
string
Адрес IPv4 или IPv6.
В адресах IPv6 регистр не учитывается.
Пробел Удалите начальные и конечные пробелы.
Хеширование Не хешируйте ip_address.

Требования к PairData

Заполните поле pair_ids объекта PairData списком идентификаторов. Чтобы отформатировать каждый элемент списка, выполните следующие действия:

  1. Захешируйте предоставленные в изолированной среде данные, позволяющие идентифицировать личность, с помощью алгоритма SHA-256.
  2. Зашифруйте байты хеша с помощью коммутативного шифра на основе эллиптической кривой, используя ключ издателя для списка пользователей PAIR.
  3. Закодируйте зашифрованные данные с помощью шестнадцатеричного или Base64-кодирования.

Требования к MobileData

Заполните поле mobile_ids объекта MobileData списком идентификаторов мобильных устройств. Не хешируйте идентификаторы мобильных устройств.

Формат временной метки

Если для полей Timestamp, например timestamp и last_updated_timestamp из Event, используется формат JSON, применяйте формат RFC 3339. Ниже приведены примеры времени 8 августа 2025 г., 17:18:44.291 по UTC в формате RFC 3339 и разных часовых поясах:

  • Часовой пояс UTC: 2025-08-08T17:18:44.291Z
  • Часовой пояс EDT, который в то время отставал от UTC на 4 часа: 2025-08-08T13:18:44.291-04:00
  • Часовой пояс PDT, который в то время отставал от UTC на 7 часов: 2025-08-08T10:18:44.291-07:00
  • Часовой пояс Токио (Япония), который на девять часов опережает UTC и не переходит на летнее время:2025-08-08T22:18:44.291+09:00

Если вы используете формат буфера протокола, задайте параметр seconds и, при необходимости, nanos при создании Timestamp. Ниже приведены значения seconds и nanos для времени 8 августа 2025 г., 17:18:44.291 по UTC:

  • seconds: 1754683124.
  • nanos: 291000000.

Кодировка

При кодировании данных учитывайте следующее: