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

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

Требования к 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 и закодируйте хеш-байты.
phone_number
Формат
string
Используйте формат E.164.
Укажите знак плюса (+) и код страны. Все символы после знака плюса должны быть цифрами.
Например, номер телефона в США (800)555-0100 должен быть отформатирован и нормализован как +18005550100.
Пробел Удалите начальные и конечные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256 и закодируйте хеш-байты.
address
Объект AddressInfo

Формат "AddressInfo"

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

AddressInfo
given_name
Формат
string
Преобразуйте текст в нижний регистр.
Не добавляйте префиксы, такие как Mrs..
Пробел Удалите начальные и конечные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256 и закодируйте хеш-байты.
family_name
Формат
string
Преобразуйте текст в нижний регистр.
Не добавляйте дополнительные слова, например Jr..
Пробел Удалите начальные и конечные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256 и закодируйте хеш-байты.
region_code
Формат
string
Двухзначный код в формате ISO-3166-1 alpha-2.
Пробел Удалите начальные и конечные пробелы.
Хеширование Не хешируйте region_code.
postal_code
Формат
string
Можно указывать почтовые индексы США и других стран.
Для адресов в США используйте пятизначный индекс или пятизначный индекс с четырехзначным расширением. Чтобы повысить коэффициент соответствия, можно указать четырехзначный добавочный код.
Для всех других стран не указывайте добавочный код после почтового индекса.
Пробел Удалите начальные и конечные пробелы.
Хеширование Не хешируйте postal_code.
address_line
Формат
string
Используется только для Google Аналитики.
Улица и номер дома пользователя.
Преобразуйте текст в нижний регистр.
Удалите символы, не являющиеся буквенно-цифровыми.
Пробел Удалите начальные и конечные пробелы.
Хеширование Хешируйте данные с помощью алгоритма SHA-256 и закодируйте хеш-байты.
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. Зашифруйте хеш-байты с помощью коммутативного шифра EC, используя ключ издателя для списка пользователей PAIR.

  3. Закодируйте зашифрованные данные в формате hex или Base64.

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

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

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

Если вы используете формат JSON для полей Timestamp, например timestamp и last_updated_timestamp из Event, используйте формат RFC 3339. Ниже приведены примеры времени по UTC (8 августа 2025 г., 17:18:44.291) в формате 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

  • Часовой пояс для Токио (Япония), который на 9 часов опережает UTC и не переходит на летнее время: 2025-08-08T22:18:44.291+09:00

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

  • seconds: 1754683124.

  • nanos: 291000000.

Кодировка

Требования к кодировке зависят от того, шифруете ли вы пользовательские данные.

Рабочие процессы кодирования

  • Незашифрованные пользовательские данные. Закодируйте байты хеша SHA-256 с помощью шестнадцатеричной кодировки или кодировки Base64.

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