Объявления из каталога Advantage+ позволяют создавать персонализированные объявления и таргетировать их на оптимальные аудитории, подобранные с учетом группы товаров.
Для рекламодателей, размещающих объявления в таких категориях, как недвижимость, трудоустройство и кредитование, а также в категориях, связанных с вопросами общественной значимости, выборами и политикой, установлены различные наборы ограничений. Подробнее см. в разделе Особые категории рекламы.
Чтобы создать кампанию с объявлениями из каталога Advantage+, вам понадобятся:
Кроме того, вы можете настроить динамическую аудиторию, однако настраивать включения и исключения для групп товаров в параметрах таргетинга необязательно.
Информацию о создании рекламных кампаний см. в соответствующей документации.
На этом этапе нужно задать цель рекламы в поле objective
. Для объявлений из каталога Advantage+ поддерживаются цели PRODUCT_CATALOG_SALES
, CONVERSIONS
, LINK_CLICKS
и APP_INSTALLS
. Для objective
со значением CONVERSIONS
, LINK_CLICKS
или APP_INSTALLS
поле promoted_object
не требуется.
curl \
-F 'name=Product Catalog Sales Campaign' \
-F 'objective=PRODUCT_CATALOG_SALES' \
-F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/campaigns
Для продвижения товаров из определенной группы с помощью объявлений из каталога Advantage+ в поле promoted_object
уровня группы объявлений необходимо указать product_set_id
.
Кроме того, если целью optimization_goal
является OFFSITE_CONVERSIONS
, можно определить собственное событие конверсии для группы товаров, указав custom_event_type
в поле promoted_object
. В результате реклама будет таргетироваться на людей, инициировавших это событие в приложении или на сайте.
Например, если задать значение ADD_TO_CART
, событием конверсии будет добавление в корзину. По умолчанию для custom_event_type
устанавливается значение PURCHASE
. Подробнее о стандартных событиях и значениях custom_event_type
см. в разделе Отслеживание конверсий статьи, посвященной пикселю Meta.
Чтобы оптимизировать рекламу для конверсий вне сайта, в том числе конверсий на основе пикселя Facebook и событий в приложении, а также настроить оплату за показы, сделайте следующее:
optimization_goal
значение OFFSITE_CONVERSIONS
;billing_event
значение IMPRESSIONS
.Подробные сведения о допустимых сочетаниях значений optimization_goal
и billing_event
см. в статье Желаемый результат оптимизации и события биллинга.
Пример создания группы объявлений с оплатой за IMPRESSIONS
и оптимизацией для OFFSITE_CONVERSIONS
:
curl \
-F 'name=Product Catalog Sales Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={ "geo_locations": {"countries":["US"]},
"dynamic_audience_ids": ["<DYNAMIC_AUDIENCE_ID>"]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
Значение DYNAMIC_AUDIENCE_ID
указывает на аудиторию товара. Параметр dynamic_audience_ids
в вызове можно не указывать.
Для электронной коммерции из вызова можно убрать параметр dynamic_audience_ids
и вместо него отправлять данные для таргетинга по поведению в параметрах product_audience_specs
или excluded_product_audience_specs
. Эти спецификации определяются с помощью тех же параметров, которые используются для создания аудитории товара.
Имя | Описание |
---|---|
Строка цифр | Обязательный параметр. |
Объект JSON | Обязательный параметр. |
Целое число | Обязательный параметр. |
Массив объектов | Обязательный параметр. |
Объект JSON | Необязательный параметр. |
Целое число | Обязательный параметр, если указано исключение. |
Массив объектов | Обязательный параметр, если указано исключение. |
Каждое правило должно содержать параметр event
с оператором eq
в качестве правила верхнего уровня либо части правила and
верхнего уровня.
В этом примере реклама таргетируется на людей, которые просматривали товары в последние 3–5 дней, но не купили их. Места размещения рекламы: мобильная лента и Audience Network. Создание этой аудитории:
curl \
-F 'name=Product Catalog Sales Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=LINK_CLICKS' \
-F 'optimization_goal=LINK_CLICKS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"publisher_platforms": ["facebook","audience_network"],
"device_platforms": ["mobile"],
"geo_locations": {"countries":["US"]},
"product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}],
"exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}]
}
],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":<PRODUCT_SET_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
Пример рекламы продуктов, которые пользователь не просматривал:
curl \ -F 'name=Case 1 Adset' \ -F 'bid_amount=3000' \ -F 'billing_event=IMPRESSIONS' \ -F 'status=ACTIVE' \ -F 'daily_budget=15000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F 'targeting= { \ "geo_locations": { \ "countries":["US"], \ }, \ "interests":[ \ {"id":6003397425735,"name":"Tennis"}, \ ], \ }' \ -F 'promoted_object={"product_set_id”:<PRODUCT_SET_ID>}' \ -F 'access_token=<ACCESS_TOKEN>’ \ https://graph.facebook.com/<API_VERSION>/act_<ACCOUNT_ID>/adsets
Чтобы обеспечить перекрестные продажи групп товаров, сделайте следующее:
product_set_id
на уровне рекламного креатива. Например, компания хочет увеличить объем продаж женских сумочек из PRODUCT_SET_1, показывая их рекламу пользователям, которые проявили интерес к туфлям из PRODUCT_SET_2. Укажите PRODUCT_SET_2 (туфли) в качестве значения product_set_id
в product_audience_specs
, а PRODUCT_SET_1 (женские сумочки) — в качестве значения product_set_id
в promoted_object
.
curl \
-F 'name=My cross sell ad set' \
-F 'bid_amount=3000' \
-F 'billing_event=LINK_CLICKS' \
-F 'optimization_goal=LINK_CLICKS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"geo_locations": {"countries":["US"]},
"product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_2_ID>",
"inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}],
"exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}]
}
],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_2_ID>",
"inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_1_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
Укажите PRODUCT_SET_1 в качестве значения product_set_id
в креативе.
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Помимо ретаргетинга и перекрестных продаж существующим клиентам, объявления из каталога Advantage+ можно использовать для таргетинга на широкие аудитории. Это позволяет продвигать соответствующие товары из каталога с учетом возраста, пола и других демографических характеристик. Таргетинг на широкую аудиторию в сочетании со ставками за конверсии вне сайта позволяет существенно расширить охват объявлений из каталога Advantage+.
Чтобы обеспечить таргетинг на широкую аудиторию, сделайте следующее:
customOptimize
для цели OFFSITE_CONVERSIONS
с более сильными сигналами намерения, например Purchase
или InitiateCheckout
.В этом примере мы создадим группу объявлений, ориентированную на женщин в возрасте от 30 до 65 лет, проживающих в США. Из их числа будут исключены те, кто совершал покупки в последние 10 дней. Мы используем ставку 8 долларов и оптимизацию OFFSITE_CONVERSIONS
для событий PURCHASE
.
curl \
-F 'name=Broad Audience Targeting' \
-F 'bid_amount=800' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"age_max": 65,
"age_min": 30,
"geo_locations": {"countries":["US"]},
"genders": [2],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":864000,"rule":{"event":{"eq":"Purchase"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>","custom_event_type":"PURCHASE"}' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
Для рекламодателей, размещающих объявления в таких категориях, как недвижимость, трудоустройство и кредитование, а также в категориях, связанных с вопросами общественной значимости, выборами и политикой, установлены различные наборы ограничений. Подробнее см. в разделе Особые категории рекламы.
С категориями объявлений из каталога Advantage+ на соответствующей платформе появляются два новых параметра. С их помощью можно персонализировать креатив для покупателей, находящихся на ранних этапах принятия решения о покупке. С помощью этой функции вы можете создать второй, небольшой каталог креативов с изображениями, представляющими каждую категорию (помимо уже имеющегося у вас каталога с изображениями товаров), а мы будем сопоставлять категории товаров с людьми в ваших объявлениях так же, как сопоставляем с ними товары.
Категории объявлений из каталога Advantage+ можно использовать с любыми параметрами таргетинга в целях увеличения трафика, повышения конверсии или продаж из каталога. Если у вас нет высококачественных изображений для каких-либо категорий или брендов товаров, Facebook может автоматически сгенерировать коллаж размером 2 x 2 из самых популярных товаров в каждой группе.
Чтобы сгруппировать товары, при сопоставлении новых изображений с существующими каталогами товаров можно использовать одну из трех колонок в ленте: бренд, тип товара и категория товара в Google.
В качестве примера в каталоге ниже в столбце Тип товара имеется пять уникальных значений. Рекламодатель может предоставить до пяти коллажей или изображений, представляющих стиль жизни: по одному для каждого из уникальных значений product_type
. Тип товара является критерием категоризации, то есть именем поля в каталоге, которое используется для определения категорий. Значение поля каталога является значением критерия категории.
Категорию можно уникальным образом идентифицировать по следующим признакам:
Ритейлер | Название | Цена | Тип товара | Бренд | Категория |
---|---|---|---|---|---|
| Футболка | 25 долларов | Одежда | Бренд А | Категория А |
| Толстовка | 30 долларов | Одежда | Бренд Б | Категория А |
| iPhone 6 | 800 долларов | Телефон | Бренд В | Категория Б |
| Samsung Galaxy S5 | 750 долларов | Телефон | Бренд В | Категория Б |
| Рисоварка | 120 долларов | Бытовая техника | Бренд В | Категория В |
| Диван | 500 долларов | Для дома | Бренд Г | Категория Г |
| Солнцезащитный крем | 14 долларов | Здоровье и красота | Бренд Д | Категория Д |
Каждую категорию (например, каждую группу товаров, определяемую уникальными значениями в одном из указанных выше столбцов) можно связать с объектами:
destination_uri
— URL целевой страницы, которая открывается, когда пользователь нажимает категорию;image_url
— необязательный объект, URL изображения категории (если параметр image_url
не указан, мы автоматически сгенерируем коллаж из наиболее популярных товаров этой категории).На этапе показа рекламы мы динамически сопоставляем каждый аккаунт из Центра аккаунтов с категориями, на которые он, вероятнее всего, будет реагировать. Это делается на основании тех же моделей машинного обучения, которые сегодня используются в объявлениях из каталога Advantage+.
Информация о категориях хранится на уровне каталога. Это означает, что разные объявления, которые рекламируют категории из одного каталога, будут использовать один набор объектов, так же как объявления, рекламирующие товары, используют общие объекты каталога. Для настройки рекламы в категориях мы поддерживаем различные параметры креатива.
Ниже перечислены API для получения и обновления информации о категориях.
Запрос
curl -G \
-d 'fields=["criteria_value","name","description","destination_uri","image_url"]' \
-d 'categorization_criteria=product_type' \
-d 'filter={"price_amount":{"gt":1500}}' \ # optional
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/<PRODUCT_CATALOG_ID>/categories
Мы отправляем запрос для всех товаров (поддерживается необязательный фильтр) и находим первую 1000 категорий, упорядоченных по количеству товаров.
Пример ответа
{ "data": [ { "criteria_value": "clothes", "name": "Awesome clothes", "description": "Check out these awesome clothes!", "destination_uri": "http://www.example.com/clothes", "image_url": "http://www.example.com/clothes.jpg" }, ... { "criteria_value": "shoes", "name": "Awesome shoes", "description": "Check out these awesome shoes!", "destination_uri": "http://www.example.com/shoes", "image_url": "http://www.example.com/shoes.jpg" } ] }
В данных можно указать информацию для нескольких категорий. Для каждой категории необходимо указать categorization_criteria
и criteria_value
. Поля name
, description
, destination_uri
и image_url
необязательны. При первом обновлении информации о категории необходимо указать destination_uri
. Если вы хотите пропустить показ категории, достаточно задать пустой параметр destination_uri
.
Примечание. Возможность удаления категории пока не поддерживается.
Запрос
curl \
-F 'data=[{"categorization_criteria":"product_type","criteria_value":"product_type_value","name":"Name","description":"Description","destination_uri":"http://www.example.com/","image_url":"<IMAGE_URL>"}]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/<lPRODUCT_CATALOG_ID>/categories
Создание объявлений для категорий объявлений из каталога Advantage+ аналогично созданию других видов объявлений из каталога Advantage+, однако выбор креатива несколько отличается. С помощью таких объявлений вы по-прежнему рекламируете группы товаров, однако разница заключается в том, что мы демонстрируем креативы для категорий.
curl \
-F "name=Dynamic Category Ad Creative" \
-F 'object_story_spec={"page_id": "<PAGE_ID>", "template_data": {"description": "{{category.description}}", "link": "https://www.example.com/", "message": "<MESSAGE>", "name": "{{category.name}}"}}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'categorization_criteria=brand' \
-F 'category_media_source=MIXED' \ # optional
-F access_token=<ACCESS_TOKEN> \
https://graph.facebook.com/v19.0
/act_<ACCOUNT_ID>/adcreatives
Этот код создает рекламный креатив категории в формате кольцевой галереи:
Поддерживаемые маркеры категорий:
category.name
— название категории в продвигаемой группе товаров; category.description
— описание категории в продвигаемой группе товаров; category.destination_uri
— целевой URI категории;category.min_price
— минимальная цена для этой категории в продвигаемой группе товаров (эта информация берется из каталога). Параметры
Имя | Описание |
---|---|
| Указывает, какой тип категории необходимо использовать.
|
| Указывает, как должна отображаться карточка галереи категории.
|
На этапе создания рекламного креатива категории мы ищем категории, доступные для отображения.
Примечание. Мы отфильтровываем категории без названия и целевого URL. Мы также отфильтровываем категории без изображений, если category_media_source = category
.
Создать креатив не удастся, если количество допустимых категорий менее четырех (например, для использования категорий объявлений из каталога Advantage+ в качестве креатива для определенной кампании в соответствующем столбце файла ленты данных должно быть как минимум четыре уникальных значения).
Для создания креативов в шаблонах объявлений из каталога Advantage+ используются встроенные публикации страницы.
Шаблон креатива для объявления из каталога Advantage+ создается так же, как обычный рекламный креатив. Отличие состоит в том, что можно добавить параметры шаблона, которые будут подставляться из данных ленты товаров во время выполнения.
Шаблон создается на основе объекта template_data
в object_story_spec
. При этом используются следующие поля:
Имя | Описание | Принимает параметры шаблона? |
---|---|---|
Объект | Объект призыва к действию. | Нет |
Строка | Рекламное сообщение, отображаемое в Instagram. | Да |
Строка | Ссылка на ваш веб-сайт, которая используется для генерации подписи к объявлению. | Нет |
Строка | Название или заголовок объявления, отображаемые в Instagram. | Да |
Строка | Описание объявления, не отображаемое в Instagram. | Да |
Логическое значение | Необязательный параметр. | Нет |
Логическое значение | Отображение нескольких изображений галереи для одного товара. | Нет |
Логическое значение | Необязательный параметр. | Нет |
Целое число | Указывает, какое изображение из массива дополнительных должно использоваться в объявлении. Значение представляет собой индекс в диапазоне от 0 до 19. | Нет |
Массив | Позволяет предоставить одну или несколько статичных карточек в объявлении из каталога Advantage+ для формата кольцевой галереи. | Нет |
| Определяет, какие преобразования используются для изображений, когда они отображаются пользователям в объявлении. | Нет |
| Определяет способ отображения наложений на изображение в динамическом объявлении. | Нет |
Массив | Если вы добавили к изображениям метки, укажите, какие изображения нужно использовать. | Нет |
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl \ -F 'name=Advantage+ Catalog Ads Template Creative Sample' \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "template_data": { "call_to_action": {"type":"SHOP_NOW"}, "description": "Description {{product.description}}", "link": "<LINK>", "message": "Test {{product.name | titleize}}", "name": "Headline {{product.price}}", "image_layer_specs": [ { "layer_type": "image", "image_source": "catalog" }, { "layer_type": "frame_overlay", "blending_mode": "lighten", "frame_image_hash": "<HASH>", "frame_source": "custom", "opacity": 100, "overlay_position": "center", "scale": 100 }, { "layer_type": "text_overlay", "content": { "type": "price" }, "opacity": 100, "overlay_position": "top_left", "overlay_shape": "rectangle", "shape_color": "DF0005", "text_color": "FFFFFF", "text_font": "open_sans_bold" } ] } }' \ -F 'product_set_id=<PRODUCT_SET_ID>' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"force_single_link": true,
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Для предпросмотра объявления из каталога Advantage+ с additional_image_index
необходимо передать в конечную точку /generatepreviews
весь объект object_story_spec
. Если передать только object_story_id
, предпросмотр не генерируется.
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"additional_image_index": 0,
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl -X POST \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": <PAGE_ID>,
"template_data": {
"message": "Test {{product.name | titleize}}",
"link": "<YOUR_LINK_URL>",
"name": "Headline {{product.price}}",
"description": "Description {{product.description}}",
"multi_share_end_card": false,
"force_single_link": true,
"show_multiple_images": true,
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"child_attachments": [
{
"call_to_action": {"type":"SHOP_NOW"},
"description": "30% off",
"image_hash": "<IMAGE_HASH>",
"link": "https:\/\/www.link.com\/coupon",
"name": "Coupon Static Card",
"static_card": true
},
{
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"name": "Headline {{product.price}}"
}
],
"link": "<LINK>",
"message": "Test Message"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Каждая динамическая карточка в кольцевой галерее отображается в формате слайд-шоу. Каждое слайд-шоу включает в себя изображения, связанные с одним динамическим объявлением (если таких изображений несколько). Если динамическое объявление имеет только одно изображение, карточка отображается как статическое изображение.
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "PAGE_ID",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "LINK",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}",
"format_option": "carousel_slideshows"
}
}' \
-F 'product_set_id=PRODUCT_SET_ID' \
-F 'access_token=ACCESS_TOKEN' \
https://graph.facebook.com/v19.0
/AD_ACCOUNT_ID/adcreatives
В ответ на эти вызовы возвращается ID нового шаблона креатива для объявления из каталога Advantage+.
{"id":"creative_id"}
При загрузке каталога в каждом свойстве для каждого изображения можно указать метки в виде произвольного набора букв и цифр.
<listing> <hotel_id>hotel_1</hotel_id> ... <image> <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg (https://l.facebook.com/l.php?u=https%3A%2F%2Fmedia-cdn.tripadvisor.com%2Fmedia%2Fphoto-o%2F05%2Fca%2F40%2Faf%2Fthe-epiphany-a-joie-de.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url> <tag>exterior</tag> <tag>first image</tag> <tag>tree</tag> </image> <image> <url>http://www3.hilton.com/resources/media/hi/DFWANHH/en_US/img/shared/full_page_image_gallery/main/HH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg (http://l.facebook.com/l.php?u=http%3A%2F%2Fwww3.hilton.com%2Fresources%2Fmedia%2Fhi%2FDFWANHH%2Fen_US%2Fimg%2Fshared%2Ffull_page_image_gallery%2Fmain%2FHH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url> <tag>skyline</tag> ... </image> ... </listing>
При создании рекламного креатива в object_story_spec
можно передать массив preferred_image_tags
.
curl \
-F 'name=Ad Creative Test'\
-F 'object_story_spec={
"page_id": '<PAGE_ID>',
"template_data": {
"preferred_image_tags": ["skyline","exterior"],
"call_to_action": {"type":"BOOK_TRAVEL"},
"description": "{{hotel.description}}",
"link": "<URL>",
"message": "Book your stay in {{hotel.city}}",
"name": "{{hotel.name | titleize}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Основные действия для создания объявления из каталога Advantage+ те же. Чтобы включить видео, нужно добавить в каталог видеоданные. Изменения, которые необходимо внести при создании или обновлении каталога, перечислены ниже.
В этом примере используется файл в формате XML. Для других форматов действия аналогичны.
При добавлении видео в объявление поддерживаются поля url
и tag
. В настоящее время для каждого товара поддерживается только одно видео.
<?xml version="1.0" encoding="utf-8"?> <listings> <title>Test hotel feed</title> <listing> <hotel_id>hotel_1</hotel_id> <name>Test Hotel 1</name> <description>A very nice hotel</description> <brand>Facebook</brand> <address format="simple"> <component name="addr1">180 Hamilton Ave</component> <component name="city">Palo Alto</component> <component name="city_id">12345</component> <component name="region">California</component> <component name="postal_code">94301</component> <component name="country">United States</component> </address> <latitude>37.4435997</latitude> <longitude>-122.1615219</longitude> <neighborhood>Palo Alto</neighborhood> <neighborhood>Silicon Valley</neighborhood> <margin_level>8</margin_level> <base_price>200.5 USD</base_price> <phone>+1 650 666-3311</phone> <star_rating>2.5</star_rating> <guest_rating> <score>7.8</score> <rating_system>tripAdvisor</rating_system> <number_of_reviewers>300</number_of_reviewers> </guest_rating> <guest_rating> <score>9.8</score> <rating_system>Hotels.com</rating_system> <number_of_reviewers>35000</number_of_reviewers> </guest_rating> <image> <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg</url> <tag>front view</tag> <tag>first image</tag> </image> <image> <url>http://www.jdvhotels.com/content/uploads/2014/06/72-1200x800.jpg</url> <tag>room</tag> <tag>bed</tag> </image> <loyalty_program>Starwood</loyalty_program> <url>http://www.jdvhotels.com/hotels/california/silicon-valley-hotels/the-epiphany-hotel/</url> <applink property="ios_url" content="example-ios://electronic"/> <applink property="ios_app_store_id" content="42"/> <applink property="ios_app_name" content="Electronic Example iOS"/> * <video> <url>http://example.com/some_video1.mp4</url> <tag>City</tag> <tag>Package</tag> </video>* </listing> </listings>
С помощью API можно проверять загруженные данные. Для каждого элемента можно запросить метаданные видео.
curl -i -X GET \
"https://graph.intern.facebook.com/v19.0
/1234567890?fields=videos_metadata.fields(video,tags,url)&access_token=<ACCESS TOKEN>"
Информацию о включении видеоконтента на уровне продукта в рекламе см. в документе Создание рекламы с динамическим медиафайлом.
Если перед перенаправлением на URL страницы товара вы отслеживаете клики по ссылкам с помощью стороннего средства, в рекламном креативе можно использовать поле template_url_spec
. Это позволяет добавить шаблон отслеживания кликов на уровне объявления, не задавая его жестко в коде в файле ленты товаров. Кроме того, с его помощью можно создавать шаблоны для глубоких ссылок.
В этом поле можно использовать динамические поля, например ID товара или URL его страницы. Если их значения могут содержать символы, недопустимые в URL, к ним следует применить URL-кодирование.
Пример создания шаблона для объявления из каталога Advantage+ с кольцевой галереей и настройкой template_url_spec
:
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<URL>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'template_url_spec={
"ios": {
"app_store_id": "123",
"url": "example:\/\/link\/?nav=item.view&id={{product.retailer_id | urlencode}}&referrer=http:\/\/rover.example.com\/rover\/1\/711-198453-24755-9\/16%3Fitemid={{product.retailer_id | urlencode | urlencode}}"
},
"web": {
"url": "http:\/\/clicktrack.com\/cm325?id={{product.retailer_id | urlencode}}&redirect_url={{product.url | urlencode | urlencode}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
При показе объявления Facebook заменяет содержимое раздела {{ }}
соответствующими значениями из файла ленты данных. Допустимые значения шаблонов:
Имя | Описание |
---|---|
| Значение |
| Форматированная цена со скидкой, если она задана для товара. Вы также можете указать даты начала и окончания распродажи для продукта. В этом случае в период действия распродажи в качестве значения |
| Значение |
| Значение |
| Форматированное значение из столбца |
| Значение |
| Значение |
| Значение |
| Значение |
| Значение |
| Значение |
| Значение |
Некоторые значения шаблонов могут в любом порядке принимать параметры в следующем формате:
{{field option1 option2 ...}}
Доступные параметры:
Параметр | Описание | Поддерживается значениями |
---|---|---|
| Символ валюты опускается. |
|
| Если дробная часть содержит только нули, она опускается. |
|
| Цена округляется, дробная часть опускается. | Все поля цен |
Значения в шаблонах можно преобразовывать следующим образом:
{{field | transform}}
Доступные преобразования:
Преобразования | Описание |
---|---|
| Представление числа в формате по умолчанию с запятой (",") в качестве разделителя разрядов и округлением до ближайшего целого (например, 1 234.56 -> 1,235). Форматируемое значение должно быть неформатированным числом (1 234, но не 1,234). |
| Замена строчных букв в начале слов прописными для заголовков (например, "упаковка" -> "Упаковка"). |
| Кодирование значения для URL. |
Вы можете настроить необходимую обработку нажатий объявления при показе динамического креатива в нативном приложении Facebook. Для использования глубоких ссылок должны выполняться два требования:
Если оба эти требования выполняются, то при создании рекламного креатива вы можете задать способ обработки кликов объявления в поле applink_treatment
.
Имя | Описание |
---|---|
| Пользователь всегда перенаправляется на указанный URL. |
| Если на телефоне пользователя установлено приложение и имеется соответствующая информация о глубоких ссылках, пользователь перенаправляется в приложение. Если хотя бы одно из этих условий не выполняется, пользователь перенаправляется на сайт. |
| Используется по умолчанию, если для товара имеются ссылки на приложение. Если на телефоне пользователя установлено приложение и имеется соответствующая информация о глубоких ссылках, перенаправляйте пользователя в приложение. Если приложение не установлено, пользователь перенаправляется на его страницу в магазине приложений. |
Создание шаблона для объявления из каталога Advantage+ с кольцевой галереей и призывом к действию, из которого выполняется переход в нативное приложение, если оно имеется, или на сайт в противном случае:
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'applink_treatment=deeplink_with_web_fallback' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Создание шаблона для объявления из каталога Advantage+ с кольцевой галереей и включенными метками URL, из которого выполняется переход по глубокой ссылке в нативное приложение, если оно имеется, или в магазин приложений в противном случае:
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'applink_treatment=deeplink_with_appstore_fallback' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Подробнее см. в этой статье.
Теперь можно создать объявление. Оно ссылается на рекламный креатив.
Поздравляем! Вы создали свое первое объявление из каталога Advantage+. Можете начинать его показ.
При публикации в качестве историй в Instagram объявления из каталога Advantage+ обрезаются до квадрата (1:1) независимо от исходных размеров изображения.
С помощью конечной точки Ad Previews можно сгенерировать предпросмотр динамического креатива. Чтобы выполнить предпросмотр рекламы с кольцевой галереей, укажите параметр product_item_ids
или несколько значений product_item_ids
.
Имя | Описание |
---|---|
Массив строк | Список ID товаров в Facebook или маркеров ID товаров в кодировке Base64 для URL. |
Чтобы получить статистику по товару, выполните вызов GET
к конечной точке insights. В параметр fields
добавьте значение product_id
.
Будет показана статистика по всем товарам из имеющихся в аккаунте групп товаров, которые отображаются в объявлении из каталога Advantage+.
В примере выше возвращаются значения clicks
, actions
и impressions
для каждого product_id
.
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdsInsightsFields;
use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;
$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$fields = array(
AdsInsightsFields::ACCOUNT_NAME,
AdsInsightsFields::IMPRESSIONS,
AdsInsightsFields::ACTIONS,
);
$params = array(
'date_preset' => AdsInsightsDatePresetValues::LAST_WEEK,
'action_breakdowns' => array(
AdsInsightsActionBreakdownsValues::ACTION_TYPE,
),
'breakdowns' => array(
AdsInsightsBreakdownsValues::PRODUCT_ID,
),
);
$stats = $account->getInsights($fields, $params);
from facebookads.adobjects.adaccount import AdAccount
from facebookads.adobjects.adsinsights import AdsInsights
account = AdAccount('act_<AD_ACCOUNT_ID>')
fields = [
AdsInsights.Field.account_name,
AdsInsights.Field.impressions,
AdsInsights.Field.actions,
]
params = {
'date_preset': 'last_week',
'actions_group_by': ['action_type'],
'breakdowns': [
AdsInsights.Breakdowns.product_id,
],
}
stats = account.get_insights(fields=fields, params=params)
APINodeList<AdsInsights> adsInsightss = new AdAccount(act_<AD_ACCOUNT_ID>, context).getInsights()
.setDatePreset(AdsInsights.EnumDatePreset.VALUE_LAST_WEEK)
.setActionBreakdowns("[\"action_type\"]")
.setBreakdowns("[\"product_id\"]")
.requestField("account_name")
.requestField("impressions")
.requestField("actions")
.execute();
curl -G \
-d 'date_preset=last_week' \
-d 'action_breakdowns=["action_type"]' \
-d 'breakdowns=["product_id"]' \
-d 'fields=account_name,impressions,actions' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/insights
{ "data": [ { "account_id": "123456", "product_id": "60750", "date_start": "2015-02-03", "date_stop": "2015-02-03", "impressions": 880, "clicks": 8, "actions": [ { "action_type": "link_click", "value": 6 }, { "action_type": "offsite_conversion.other", "value": 5 }, { "action_type": "offsite_conversion", "value": 5 } ], "account_name": "My Account" }, ], ... }
Вы можете получать комментарии, отметки "Нравится" и product_id
для опубликованного объявления из каталога Advantage+. Выполните показанный ниже вызов GET
, указав post_id
. Значение post_id
представляет собой идентификатор effective_object_story_id
рекламного креатива в формате PageID_PostID
.
Примечание. С помощью этой конечной точки нельзя получать комментарии из Instagram.
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<POST_ID>/dynamic_posts
Эта конечная точка возвращает объекты динамических публикаций.
Получив динамические публикации, вы можете извлечь значения comments
, likes
, product_id
и child_attachments
для формата кольцевой галереи, если они имеются.
Граница контекста dynamic_posts
не возвращает рекламу с кастомизированными креативами для различных мест размещения.