Marketing API позволяет создавать целевые пользовательские аудитории на основании информации о клиентах. Это могут быть электронные адреса, номера телефонов, имена, даты рождения, пол, местоположение, ID пользователей внутри приложений, ID пользователей внутри страниц, рекламные идентификаторы Apple (IDFA) или рекламные ID Android.
Бизнес-аккаунт Meta (другое название — аккаунт Business Manager или просто бизнес-аккаунт) теперь будет называться бизнес-портфолио. Это изменение будет внедряться на платформах Meta постепенно. Оно носит исключительно косметический характер и не затрагивает ID бизнес-аккаунтов Meta (ID бизнес-портфолио).
Ответственность за создание этой информации и управление ею лежит на вас как на владельце бизнес-данных. Это касается и сведений из ваших систем управления взаимодействием с клиентами (CRM). Для обеспечения конфиденциальности при создании аудиторий передавайте данные исключительно в хэшированном виде. Подробнее см. в разделе о хэшировании и нормализации данных. Meta сравнивает полученную информацию с собственными хэшированными данными и определяет, кого из пользователей Facebook следует добавить в аудиторию вашей рекламы.
В аудиторию можно добавлять неограниченное количество записей, но не более 10 000 за раз. Изменения пользовательской аудитории применяются не сразу. Обычно это занимает до 24 часов. Чем больше записей вы удаляете и (или) чем больше пользовательских аудиторий содержит ваш аккаунт, тем больше времени нужно для обработки запроса.
Чтобы повысить для рекламодателей удобство создания и администрирования аудиторий, мы ввели следующее правило: пользовательские аудитории на основе файлов с данными о клиентах, не применявшиеся в активных группах объявлений более двух лет, будут помечаться для удаления. Дальнейшие действия с такой аудиторией будут зависеть от ваших инструкций. После того как к аудитории будет добавлена пометка об истечении срока действия, вы должны будете использовать ее в активной группе объявлений (мы расцениваем это как инструкцию по сохранению аудитории) либо не делать этого (это будет воспринято как инструкция по ее удалению). Дополнительные сведения см. в документации с обзором пользовательских аудиторий.
Если вы отправляете события конверсии с помощью Conversions API, создать пользовательскую аудиторию веб-сайта можно без дополнительных данных. Дополнительные данные необходимы только для создания пользовательской аудитории на основе файла с данными о клиентах.
С помощью нашего нового Replace API вы можете полностью удалить из аудитории существующих пользователей и заменить их новыми. Обновление аудитории, произведенное с помощью Replace API, не возвращает группу объявлений на этап обучения.
В вызове API укажите параметры subtype=CUSTOM
и customer_file_source
.
curl -X POST \
-F 'name="My new Custom Audience"' \
-F 'subtype="CUSTOM"' \
-F 'description="People who purchased on my website"' \
-F 'customer_file_source="USER_PROVIDED_ONLY"' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/customaudiences
Имя | Описание |
---|---|
| Описывает, как изначально была собрана информация о клиентах для пользовательской аудитории.
|
| Название пользовательской аудитории. |
| Описание пользовательской аудитории. |
| Тип пользовательской аудитории. |
Отправьте вызов API POST
к конечной точке /{audience_id}/users
и укажите список пользователей для аудитории.
Имя | Описание |
---|---|
| Обязательный параметр. Пример { "session_id":9778993, "batch_seq":10, "last_batch_flag":true, "estimated_num_total":99996 } |
| Обязательный параметр. Пример { "schema":"EMAIL_SHA256", "data": [ ["<HASHED_DATA>"], ["<HASHED_DATA>"], ["<HASHED_DATA>"] ] } |
Если вы захотите включить режим ограниченного использования данных для пользовательских аудиторий на основе списков клиентов, охватывающих людей в Калифорнии, 1 июня 2023 г. или позже, вам потребуется загрузить новые аудитории или обновить существующие, установив соответствующий флаг. Регулярно обновляйте статусы ограниченного использования данных для аудиторий и отдельных людей, учитывая свои потребности.
Обратите внимание, что установка флажка режима ограниченного использования данных для пользователя в одной аудитории не будет означать его автоматическое применение в разных аудиториях. Аналогичным способом рекламодатели должны индивидуально настраивать каждую из своих пользовательских аудиторий на основе списка клиентов в соответствии с критериями, которые они выберут, а флажок режима ограниченного использования данных должен устанавливаться отдельно для каждой аудитории, используемой для рекламы.
Чтобы явным образом НЕ включать LDU
для записи, вы можете либо отправить пустой массив data_processing_options
, либо удалить поле в полезных данных. Пример пустого массива:
{ "payload": { "schema": [ "EMAIL", "DATA_PROCESSING_OPTIONS" ], "data": [ [ "<HASHED_DATA> ", [] ] ] } }
Чтобы явным образом включить LDU
и позволить Meta определить местонахождение (не добавляя страну или штат определенной записи), укажите массив, содержащий LDU
, для каждой записи:
{ "payload": { "schema": [ "EMAIL", "DATA_PROCESSING_OPTIONS" ], "data": [ [ "<HASHED_DATA> ", ["LDU"] ] ] } }
Чтобы включить режим LDU и вручную указать местоположение:
{ "customer_consent": true, "payload": { "schema": [ "EMAIL", "DATA_PROCESSING_OPTIONS", "DATA_PROCESSING_OPTIONS_COUNTRY", "DATA_PROCESSING_OPTIONS_STATE" ], "data": [ [ "<HASHED_DATA>", ["LDU"], 1, 1000 ] ] } }
session
Имя | Описание |
---|---|
| Обязательный параметр. |
| Обязательный параметр. |
| Обязательный параметр. Необходимо указать нашим системам, что для текущего сеанса замены предоставлены все пакеты. Если задано значение |
| Необязательный параметр. |
В случае успеха возвращается объект JSON со следующими полями:
Имя | Описание |
---|---|
| Идентификатор аудитории. |
| Переданный вами ID сеанса. |
| Общее количество пользователей, данные о которых уже получены в этом сеансе. |
| Количество записей, отправленных с неправильным хэшем. Для этих записей не получено соответствие, поэтому они не попали в пользовательскую аудиторию. Это приблизительное количество несопоставленных пользователей. |
| Выборка, содержащая до 100 примеров недействительных записей из текущего запроса. |
Подробнее об отправке пользовательских аудиторий бизнес-объектам.
Чтобы задать список пользователей, которых нужно удалить из пользовательской аудитории, выполните вызов API DELETE
к конечной точке /{audience_id}/users
.
curl -X DELETE \ --data-urlencode 'payload={ "schema": "EMAIL_SHA256", "data": [ "<HASHED_DATA>", "<HASHED_DATA>", "<HASHED_DATA>" ] }' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
Кроме того, можно использовать тот же запрос POST
, что и для добавления участников аудитории, задав для параметра method
значение DELETE
.
Для удаления людей из списка можно использовать идентификатор EXTERN_ID
(при его наличии).
curl -X DELETE \ --data-urlencode 'payload={ "schema": "EXTERN_ID", "data": [ "<ID>", "<ID>", "<ID>" ] }' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
Эта конечная точка позволяет удалить набор участников из всех пользовательских аудиторий рекламного аккаунта.
Причин, по которым эта информация не обрабатывается, может быть несколько. Например, рекламный аккаунт не принадлежит бизнес-портфолио, вы ещё не приняли Соглашение о пользовательских аудиториях либо данные не соответствуют пользователю.
Чтобы удалить аккаунт, добавьте те же поля, что и при обновлении данных пользователя, и выполните вызов HTTP DELETE
к следующей конечной точке:
https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/usersofanyaudience
Чтобы увеличить долю совпадения в своих данных, укажите массив из нескольких отдельных ключей, например [EXTERN_ID
, LN
, FN
, EMAIL
]. Все персональные данные, позволяющие установить личность (в том числе электронные адреса и имена), необходимо хэшировать. Для EXTERN_ID
хэширование не требуется. Подробные сведения см. в разделе о хэшировании и нормализации данных.
Для записей можно указывать все или только некоторые ключи. Подробные сведения см. в разделе о сопоставлении внешнего ID по нескольким ключам.
curl \ -F 'payload={ "schema": [ "FN", "LN", "EMAIL" ], "data": [ [ "<HASH>", "<HASH>", "<HASH>" ], [ "<HASH>", "<HASH>", "<HASH>" ] ] }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
PAGEUID
При использовании ключа PAGEUID
также необходимо указывать список ID Страниц. Можно отправить только один ключ PAGEUID
. Он должен быть представлен в виде массива с одним элементом.
curl -X POST \ -F 'payload={ "schema": [ "PAGEUID" ], "is_raw": "true", "page_ids": [ "<PAGE_IDs>" ], "data": [ [ "<HASH>", "<ID>", "<ID>", "<VALUE>" ], [ "<HASH>", "<ID>", "<ID>", "<VALUE>" ], [ "<HASH>", "<ID>", "<ID>", "<VALUE>" ] ] }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
Используйте для хэширования данных алгоритм SHA256
. Мы не поддерживаем другие механизмы хэширования. Это требование действует для всех данных, кроме внешних идентификаторов, ID пользователей приложений, ID пользователей в пределах страниц и ID рекламодателей на мобильных устройствах.
Перед хэшированием данные необходимо нормализовать, иначе мы не сможем их обработать. Использовать специальные символы и буквы, которых нет в латинице, можно только в полях FN
(имя) и LN
(фамилия). Для максимально точного сопоставления транслитерируйте имена латиницей, не используя специальные символы.
,
чтобы ознакомиться с примерами правильно нормализованных и хэшированных данных для параметров.
Ключ | Инструкции |
---|---|
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. |
| Хэширование обязательно. Используйте двухбуквенные коды стран (в нижнем регистре) в формате ISO 3166-1 alpha-2. |
| Хэширование НЕ обязательно. Указывайте значения в нижнем регистре и не удаляйте дефисы. |
Указывайте значения в формате SHA256
для нормализованных ключей и шестнадцатеричное представление HEX
этих значений. Используйте буквы с A по F в нижнем регистре. Функция hash в PHP преобразует нормализованные значения электронных адресов и номеров телефонов.
Пример | Результат |
---|---|
| f1904cf1a9d73a55fa5de0ac823c4403ded71afd4c3248d00bdcd0866552bb79 |
| 1ef970831d7963307784fa8688e8fce101a15685d62aa765fed23f3a2c576a4e |
Для добавления людей в аудиторию можно использовать собственные ID. Это так называемые внешние идентификаторы, или EXTERN_ID
. Это могут быть любые уникальные идентификаторы, регистрируемые рекламодателем: ID участников программы лояльности, ID пользователей, ID внешних файлов cookie и т. д.
Эти ID не нужно хэшировать, однако хэширование обязательно для всех персональных данных, которые отправляются с EXTERN_ID
и позволяют установить личность пользователя.
Чтобы поиск совпадений был эффективнее, используйте при отправке ID точно такой же формат. Например, если для хэширования применяется алгоритм SHA256, указывайте одно и то же хэшированное значение.
Эти ID можно использовать в качестве индивидуальных ключей для создания пользовательских аудиторий и удаления их участников. Так вам не понадобится заново загружать другие ключи сопоставления. Если для одного человека задана хэшированная личная информация и EXTERN_ID
, при сопоставлении пользователя с другими людьми на Facebook EXTERN_ID
имеет второстепенное значение.
Срок удержания данных EXTERN_ID
составляет 90 дней.
EXTERN_ID
можно использовать для разных пользовательских аудиторий на основе файла в одном рекламном аккаунте.
Если в вашем рекламном аккаунте есть аудитория с полями EXTERN_ID
, создайте новую аудиторию на основе только этих идентификаторов.
curl \ -F 'payload={"schema":"EXTERN_ID","data":["<ID>","<ID>"]}' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
Кроме того, можно добавить людей с меткой EXTERN_ID
и сопоставлением по нескольким ключам.
curl \ -F 'payload={ "schema": [ "EXTERN_ID", "FN", "EMAIL", "LN" ], "data": [ [ "<ID>", "<HASH>", "<HASH>", "<HASH>" ], [ "<ID>", "<HASH>", "<HASH>", "<HASH>" ], [ "<ID>", "<HASH>", "<HASH>", "<HASH>" ] ] }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<CUSTOM_AUDIENCE_ID>/users
Мы поддерживаем параметры EXTERN_ID
на уровне отдельных рекламных аккаунтов. Мы не можем использовать значения из одного рекламного аккаунта в других таких аккаунтах, даже если у них один владелец.
Конечная точка /<CUSTOM_AUDIENCE_ID>/usersreplace
позволяет выполнить 2 действия в одном вызове:
Конечная точка /<CUSTOM_AUDIENCE_ID>/usersreplace
позволяет автоматически удалить всех существующих пользователей, не загружая список пользователей для удаления. При использовании этой конечной точки этап обучения группы объявлений, когда аудитория входит в активные группы объявлений, не сбрасывается, как это происходит при использовании вызовов API POST и DELETE к конечной точке /<CUSTOM_AUDIENCE_ID>/users
.
Replace Users API работает только с аудиториями, которые отвечают следующим требованиям:
/<CUSTOM_AUDIENCE_ID>/users
.CUSTOM
.Перед началом процесса замены учтите следующие рекомендации:
operation_status
должна иметь статус Normal
. Выполнить замену в момент, когда выполняется другая операция замены, невозможно.
Кроме того, во время замены через конечную точку /<CUSTOM_AUDIENCE_ID>/usersreplace
добавлять и удалять пользователей через /<CUSTOM_AUDIENCE_ID>/users
также нельзя. Если вы попытаетесь выполнить вторую операцию замены до завершения первой, то получите сообщение о том, что замена уже выполняется.
Максимальная продолжительность одного сеанса замены составляет 90 минут. API отклоняет все пакеты в рамках сеанса, полученные по истечении 90 минут с момента его начала. Если вам нужно отправлять пакеты в течение интервала, превышающего 90 минут, дождитесь, пока завершится операция замены для этого сеанса, а затем добавьте оставшихся пользователей, используя конечную точку /<CUSTOM_AUDIENCE>/users
.
Когда аудитория будет готова, укажите список пользователей, которых вы хотите заменить своей пользовательской аудиторией, выполнив вызов POST
к /<CUSTOM_AUDIENCE_ID>/usersreplace
.
operation_status
аудитории принимает значение replace_in_progress
. operation_status
аудитории принимает значение replace_error
.В вызове POST
к /<CUSTOM_AUDIENCE_ID>/usersreplace
можно указать следующие параметры:
Имя | Описание |
---|---|
Тип: объект JSON | Обязательный параметр. Позволяет отслеживать загрузку определенного пакета пользователей. Должен содержать ID сеанса и сведения о пакете. См. раздел, посвященный полям сеанса. За раз в аудиторию можно добавить до 10 000 человек. Если количество ваших пользователей превышает 10 000, разбейте сеанс на несколько пакетов с одинаковым ID сеанса. Пример: { 'session_id':9778993, 'batch_seq':10, 'last_batch_flag':true, 'estimated_num_total':99996 } |
Тип: объект JSON | Обязательный параметр. Содержит информацию, которую нужно загрузить в аудиторию. Должен содержать схему и данные (дополнительные сведения см. в разделе, посвященном полям полезных данных). Пример: { "schema":"EMAIL", "data":["<HASHED_EMAIL>", "<HASHED_EMAIL>", "<HASHED_EMAIL>" ] } |
Имя | Описание |
---|---|
Тип: 64-разрядное целое число | Обязательный параметр. Используется для отслеживания сеанса. Этот идентификатор необходимо сгенерировать. Соответствующее число должно быть уникальным в пределах рекламного аккаунта. |
Тип: целое число | Обязательное поле. Значение должно начинаться с |
Тип: логическое значение | Необязательный параметр. Указывает, что для текущего сеанса замены предоставлены все пакеты. Если задано значение true, для этого сеанса другие пакеты более не принимаются. Если вы не установите эту отметку, сеанс будет автоматически завершен через 90 минут после получения первого пакета. Все пакеты, полученные по прошествии 90 минут, также будут отклонены. |
Тип: целое число | Необязательный параметр. Прогнозируемое общее количество пользователей, данные о которых будут загружены в этом сеансе. Позволяет улучшить обработку сеанса. |
Имя | Описание |
---|---|
Тип: строка или | Обязательный параметр. Задает тип передаваемой информации. Это может быть один или несколько ключей из следующего списка.
|
Тип: массив JSON | Обязательный параметр. Список данных, соответствующих схеме. Примеры:
|
Запрос POST
должен вернуть ответ со следующими полями:
Имя | Описание |
---|---|
Тип: целое число | Идентификатор аккаунта. |
Тип: целое число | ID сеанса, который вы передали ранее. |
Тип: целое число | Общее количество пользователей, данные о которых уже получены в этом сеансе. |
Тип: целое число | Общее количество пользователей, информация о которых имеет недействительный формат или записи о которых не удалось расшифровать. Если это значение отлично от нуля, проверьте загружаемые данные. |
| Выборка, содержащая до 100 примеров недействительных записей из текущего запроса. Проверьте загружаемые данные. |
Все ошибки, возвращаемые конечной точкой замены, имеют код 2650. Ниже перечислены некоторые подкоды наиболее распространенных возвращаемых ошибок и способы их устранения.
Подкод ошибки | Описание | Решение |
---|---|---|
1870145 | Выполняется обновление аудитории. | Нельзя выполнить замену пользовательской аудитории на основе списка клиентов, если она находится в процессе обновления. Дождитесь, когда аудитория перейдет в статус Normal, и повторите попытку. |
1870158 | Превышено время сеанса замены. | Вы достигли 90-минутного ограничения времени для сеанса пакетной замены. Ваша пользовательская аудитория на основе списка клиентов будет заменена теми данными, которые вы загрузили на настоящий момент. Чтобы добавить дополнительные данные в пользовательскую аудиторию, дождитесь завершения замены и выполните операцию |
1870147 | Неверный пакет загрузки для замены. | Первый |
1870159 | Сеанс замены завершен. | Эта операция замены уже завершилась, поскольку вы загрузили пакет с параметром |
1870148 | Произошла ошибка. | Ваш список клиентов обновлен не полностью. Если размер вашей аудитории значительно отличается от ожидаемого, попробуйте повторить попытку. |
1870144 | Размер пользовательской аудитории на основе файла данных не поддерживается для замены | Нельзя заменить пользовательскую аудиторию на основе списка клиентов, размер которой составляет 100 миллионов или больше. |
Существуют и другие типы аудиторий, которые можно создавать, использовать для таргетинга и предоставлять другим компаниям:
Пользовательские аудитории с сайта — аудитории из людей, посетивших определенную страницу либо выполнивших на сайте то или иное действие. Используйте для создания таких аудиторий данные пикселя Meta на своем сайте.
Пользовательские аудитории из мобильного приложения — создавайте аудитории из людей, которые пользуются вашим мобильным приложением. Используйте для создания таких аудиторий данные о событиях в приложении.
Похожие аудитории — находите людей, которых вы уже знаете, и демонстрируйте объявления похожим пользователям приложения Facebook.
Пользовательские аудитории в офлайне — создавайте аудитории из людей, которые посетили ваш магазин, позвонили в вашу службу поддержки клиентов или совершили другие офлайн-действия.
Аудитории на основе вовлеченности для холста — аудитории из людей, которые взаимодействовали с вашим холстом.