Чтобы помочь вашей компании работать в условиях пандемии COVID-19, мы внесли в цель "Посещаемость точек" некоторые временные изменения. Подробнее….
Цель "Посещаемость точек" позволяет создавать рекламные кампании на Facebook для привлечения людей в физические точки и повышения продаж в них. Эту цель можно выбрать, если у вашей компании есть несколько точек и вы добавили их адреса на Facebook.
Подробнее о цели "Посещаемость точек" см. в Справочном центре по рекламе.
Поддерживаются версии Facebook для ПК и мобильных устройств (Лента, истории и Marketplace), а также Instagram (лента и истории).
Чтобы создавать объявления из каталога Advantage+ для этой цели, страница должна использовать Точки на Facebook.
objective
кампаний должно быть задано значение STORE_VISITS
.promoted_object
кампаний должен быть задан ID соответствующей родительской страницы <PARENT_PAGE_ID>
.promoted_object
и targeting
группы объявлений должны содержать place_page_set_id
из <PAGE_SET_ID>
.optimization_goal
группы объявлений должно быть задано значение REACH
.billing_event
группы объявлений должно быть задано значение IMPRESSIONS
.PageSet
.Для таргетинга рекламы Facebook использует в объявлениях продвигаемый объект PageSet
.
Создание PageSet
:
PageSet
с JSON-объектом местоположений.<PARENT_PAGE_ID>
— это ID главной страницы для адресов всех ваших точек. Этот параметр позволяет собрать страницы и адреса всех точек для главной страницы и получить для каждого адреса широту и долготу:
curl -X GET \ -d 'fields="location{latitude,longitude},is_permanently_closed"' \ -d 'limit=30000' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v20.0/{page-id}/locations
Пример вывода:
{ "data": [ { "location": { "latitude": 29.173384, "longitude": 48.098807 }, "is_permanently_closed": false, "id": "1788030244802584" }, { "location": { "latitude": 29.303635, "longitude": 47.937725 }, "is_permanently_closed": false, "id": "261533444245300" }, { "location": { "latitude": 29.302303, "longitude": 47.933178 }, "is_permanently_closed": false, "id": "179435399132774" }, { "location": { "latitude": 29.302591, "longitude": 47.931801 }, "is_permanently_closed": false, "id": "1790317704582144" } ], "paging": { "cursors": { "before": "MTc4ODAzMDI0NDgwMjU4NAZDZD", "after": "MTA4MTU4NjU5NjA5MDA4" } } }
Пройдите по всем записям в полученных результатах и убедитесь, что каждый магазин открыт, проверив поле is_permanently_closed
.
Определите приблизительный радиус, используя два запроса GET
, чтобы получить параметры radius
и distance_unit
. Либо выполните пакетный вызов API, чтобы сгенерировать показанные ниже значения.
Выполните этот запрос, указав широту и долготу для страницы каждой точки из JSON-объекта результатов, полученных от главной страницы. Это позволит получить приблизительный радиус для каждой точки.
curl -X GET \ -d 'type="adradiussuggestion"' \ -d 'latitude=51.5152253' \ -d 'longitude=-0.1423029' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/v20.0/search/
Несколько запросов можно объединить в один.
curl \ -F "access_token=<ACCESS_TOKEN>" \ -F "include_headers=false" \ -F "batch=[ { \"method\": \"GET\", \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&latitude=29.173384&longitude=48.098807\" }, { \"method\": \"GET\", \"relative_url\": \"/<API_VERSION>/search?type=adradiussuggestion&latitude=29.303635&longitude=47.937725\" } ]" \ "https://graph.facebook.com"
При создании этого JSON-объекта (он будет содержать окончательные местоположения точек) используйте параметры radius
и distance_unit
, полученные в предыдущих вызовах, а также значение <CHILD_LOCATION_ID>
каждого местоположения для параметра page_id
.
[ { "page_id": 1788030244802584, "radius": 1, "distance_unit": "mile" }, { "page_id": 261533444245300, "radius": 1, "distance_unit": "mile" } ]
Pageset
на основе JSON-объекта местоположенийКонечная точка PageSet
пока доступна только партнерам из списка разрешенных. Чтобы получить доступ к этой возможности, обратитесь к своему представителю Facebook.
Теперь на основании данных из JSON-объекта местоположений можно создать группу страниц PageSet
.
В объекте PageSet
можно использовать до 10 000 адресов.
Для создания PageSet
можно использовать асинхронный запрос. Так можно без задержек создавать большие группы страниц PageSets
, содержащие более 1 000 местоположений. Мы рекомендуем использовать асинхронные запросы при создании объектов Pageset
с более чем 50 местоположениями.
Запрос
curl -X POST \ -d 'name=test_2' \ -d 'parent_page=ID_1' \ -d 'pages=[{\'page_id':ID_2}]' \ -d 'metadata={"audience":{"size":5000}}' \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets_async/
Примечание. Для синхронных запросов можно использовать /ad_place_page_sets
, однако если количество местоположений превышает 50, следует использовать асинхронные запросы.
Используется тот же формат параметров, что и в асинхронных запросах.
В объекте PageSet
с помощью metadata
можно задать фиксированный радиус вокруг каждого местоположения для показа рекламы либо охватить аудиторию определенного размера. Во втором случае Facebook автоматически рассчитывает для каждого местоположения радиус, позволяющий охватить нужное количество аккаунтов из Центра аккаунтов.
В этом примере для поля metadata
задан необходимый размер аудитории (audience
), как описано ниже. См. информацию о параметре metadata
для радиусов. В результате вы получите ID ad_place_page_set_async_request
:
{ "id": "405738580111111" }
По этому ID можно выполнить запрос с разрешением ads_read
, чтобы получить ID PageSet
:
curl -i -X GET \ "https://graph.facebook.com/<API_VERSION>/405738580111111?access_token=ACCESS_TOKEN"
Ответ
{ "id": "405738580111111", "place_page_set": { "id": "555555791481678", "name": "test_2" }, "progress": 1 }
Здесь progress
принимает значение от 0.0
до 1
, где 1
означает, что запрос выполнен и объект PageSet
создан.
metadata
для радиусовПоле metadata
предписывает Facebook использовать определенный радиус вокруг каждого местоположения либо автоматически рассчитывать его для охвата аудитории определенного размера.
Пример
Так можно указать фиксированный радиус с помощью асинхронного запроса:
curl -X POST \ -d 'name=test_2' \ -d 'parent_page=238219010666666' \ -d 'pages=[{\'page_id':405936056444444}]' \ -d 'metadata={"fixed_radius":{"value":5,"distance_unit":"mile"}}' \ -d 'access_token=ACCESS_TOKEN' \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets/"
Это означает, что Facebook будет показывать рекламу людям в радиусе пяти миль для всех местоположений, входящих в объект PageSet
.
Ответ
{ "id": "1618547271777777" }
Примечание. Для поля metadata
должно быть задано значение fixed_radius
или audience
.
Для варианта fixed_radius
также нужно указать параметры distance_unit
и value
:
{ "fixed_radius": { "distance_unit": "<distance_unit>" "value": <distance> } }
Для варианта audience
нужно указать параметр size
, а параметр max_radius
необязателен:
{ "audience": { "size": <audience size> "max_radius": { // optional "distance_unit": "<distance_unit>" "value": <distance> } } }
Рекомендации по использованию объекта metadata
locations
), однако указывать в них радиус не нужно. Если же вы используете параметр locations
и указываете значения радиусов, не указывайте их ещё и в объекте metadata
.distance_unit
указывается в милях (mile
) или километрах (kilometer
). Значение value
должно быть в диапазоне от 0.7
до 50
(для варианта mile
) или от 1
до 80
(для варианта kilometer
).size
в объекте audience
определяет количество аккаунтов из Центра аккаунтов в определенном радиусе, который может составлять от 1
до 80
километров. Если задан параметр max_radius
, рассчитанное нами значение радиуса будет находиться в диапазоне от 1
до max_radius
.metadata
указан параметр audience
, запрос нужно отправлять на асинхронную конечную точку ad_account_ID/ad_place_page_set_async
.Для создания группы страниц PageSet
можно использовать и синхронные запросы.
curl -X POST \ -d "name=My Grand Pageset" \ -d "parent_page=<PARENT_PAGE_ID>" \ -d "pages=<LOCATIONS_JSON_STRUCTURE>" \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets
В результате вы получите ID PageSet
, который можно использовать позже.
{ "id": <PAGE_SET_ID> }
Если страниц слишком много для вызова через cURL
, можно создать текстовый файл с JSON-объектом местоположений и передать его в атрибуте pages
с флагом -F "pages=<locations_json_structure.txt"
.
Создайте кампанию с целью STORE_VISITS
и ID главной страницы в качестве продвигаемого объекта.
См. справку по рекламным кампаниям.
Создайте группу объявлений, которая будет содержать вашу рекламу. См. справку по группам объявлений, справку по параметрам таргетинга и справку по Страницам мест.
При показе Facebook считает недействительным все местоположения таргетинга рекламы, удаленные более чем на 50 миль от местоположения ближайшей страницы (локальной страницы).
curl \ -F 'name=Store Visits Ad Set' \ -F 'promoted_object={"place_page_set_id":"<PAGE_SET_ID>"}' \ -F 'optimization_goal=STORE_VISITS' \ -F 'billing_event=IMPRESSIONS' \ -F 'is_autobid=true' \ -F 'daily_budget=1000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F "targeting={ 'place_page_set_ids': ['<PAGE_SET_ID>'], 'device_platforms': ['mobile','desktop'], 'facebook_positions': ['feed'] }" \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets
В кампаниях с целью "Посещаемость точек" также можно выполнять таргетинг по параметрам geo_locations
.
Примечание. Для этой цели в таргетинге группы объявлений можно использовать только geo_locations
илиplace_page_set_ids
.
Мы поддерживаем все виды таргетинга по параметру geo_location
в рамках расширенного таргетинга и мест размещения, в том числе таргетинг по странам, городам и почтовым индексам. Также можно выбирать типы местоположений (location_types
), такие как recent
, home
и travel_in
.
В продвигаемом объекте promoted_object
по-прежнему нужно указывать ID группы Страниц place_page_set_id
. Параметр PageSet
должен представлять группу страниц без явно заданной группы местоположений. Инструкции по созданию объекта PageSet
см. в статье Создание группы страниц с использованием JSON-объекта местоположений. При этом передавать параметр pages не нужно.
Сначала создайте объект PageSet
, который затем будет передаваться в качестве продвигаемого объекта:
curl -X POST \ -d "name=My geo targeting page set" \ -d "parent_page=<PARENT_PAGE_ID>" \ -d "access_token=<ACCESS_TOKEN>" \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ad_place_page_sets/
Примечание. Передавать параметр pages
не нужно.
Затем создайте группу страниц с целью "Посещаемость точек" и таргетингом по geo_locations
:
curl \ -F 'name=Store Traffic Ad Set' \ -F 'promoted_object={"place_page_set_id":"<PAGE_SET_ID>"}' \ -F 'optimization_goal=STORE_VISITS' \ -F 'billing_event=IMPRESSIONS' \ -F 'is_autobid=true' \ -F 'daily_budget=1000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F "targeting={ 'geo_locations': {"countries":["US"],"location_types": ["home"]}, 'device_platforms': ['mobile','desktop'], 'facebook_positions': ['feed'] }" \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adsets
Мы автоматически показываем рекламу магазина, расположенного ближе всего к человеку, который ее просматривает.
Креатив можно подставлять динамически с учетом местоположения пользователя. Используйте при его настройке набор шаблонных заполнителей, вместо которых на этапе выполнения Facebook будет подставлять параметры Страницы ближайшего магазина.
Доступные заполнители:
{{page.hours.today}}
{{page.location.city}}
{{page.location.region}}
{{page.location.postcode}}
{{page.location.street_address}}
{{page.name}}
{{page.phone_number}}
С помощью поля dynamic_ad_voice
можно демонстрировать рекламу от лица той или иной страницы:
dynamic_ad_voice
задано значение DYNAMIC
, в качестве названия Страницы и фото профиля в рекламную публикацию подставляются данные со страницы ближайшего магазина;dynamic_ad_voice
задано значение STORY_OWNER
, в качестве названия страницы и фото профиля в рекламную публикацию подставляются данные главной Страницы.Вы также можете динамически добавлять кнопки призыва к действию в зависимости от местоположения пользователя:
GET_DIRECTIONS
или CALL_NOW
, поле value
призыва к действию не требуется. Пользователи автоматически направляются в ближайший магазин или получают предложение позвонить по его номеру телефона. MESSAGE_PAGE
допустим, только если для параметра dynamic_ad_voice
установлено значение STORY_OWNER
. Сообщения доставляются на главную Страницу.Like Page
.Подробнее см. в справке по рекламному креативу.
Тип dynamic_ad_voice |
Тип call_to_action |
---|---|
|
|
|
|
Создание рекламного креатива с динамическим названием страницы и города:
curl \ -F 'dynamic_ad_voice=DYNAMIC' \ -F 'object_story_spec={ "page_id": "<PARENT_PAGE_ID>", "template_data": { "description": "Ad Description", "link": "<URL>", "message": "Ad Message for {{page.location.city}}", "name": "{{page.name}}", "picture": "<IMAGE_URL>" } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
Чтобы использовать карточку с картой, добавьте в качестве вложения в поле child_attachments
рекламного креатива структуру place_data
.
В этом примере карта со ссылкой на локатор магазинов Facebook является вторым элементом в массиве child_attachments
. Помимо карточки карты, необходимо предоставить по крайней мере один объект.
curl \ -F 'dynamic_ad_voice=DYNAMIC' \ -F 'object_story_spec={ "page_id": "<PARENT_PAGE_ID>", "template_data": { "description": "Ad Description", "link": "<URL>", "message": "Ad Message for {{page.location.city}}", "name": "{{page.name}}", "child_attachments":[ { "description": "Come visit us!", "link": "http://yourweburl.com", "name": "{{page.location.street_address}} - {{page.location.city}}", "call_to_action": { "type":"GET_DIRECTIONS" }, }, { "link": "https://fb.com/store_locator", "name": "Check out our stores.", "place_data": { "type":"DYNAMIC" }, } ] } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
Если при создании рекламы для параметра link
задано значение https://fb.com/store_locator, объявление отображается с локатором магазина в качестве места назначения ссылки.
Создайте рекламное объявление:
curl \ -F 'name=My Ad' \ -F 'adset_id=<AD_SET_ID>' \ -F 'creative={"creative_id":"<CREATIVE_ID>"}' \ -F 'status=PAUSED' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/ads
Чтобы создавать рекламу с целью "Посещаемость точек", ваша страница и рекламный аккаунт должны быть утверждены для измерения посещаемости точек. В противном случае вы увидите примерно следующую ошибку: Reach estimate isn't available because 'store_visits' isn't a valid action type
.
Количество посещений точек — это прогнозируемая метрика на основании данных, поступающих от пользователей с включенными службами геолокации. Она позволяет измерять количество посещений и выполнять оптимизацию для цели "Посещаемость точек". Измерение посещаемости точек доступно только для кампаний с соответствующей целью.
Количество посещений точек рассчитывается на основании количества кликов и просмотров рекламы, для которой используется цель "Посещаемость точек". Это прогнозируемое количество посещений магазинов рекламодателя аккаунтами из Центра аккаунтов, которые видели их рекламу или нажимали ее. Вы можете настроить окно атрибуции, выбрав клики или просмотры за 1, 7 или 28 дней. Если конфигурация не настроена, применяется атрибуция рекламного аккаунта, действующая по умолчанию. См. раздел Окна атрибуции статьи об API Insights.
Эти функции связаны с отчетностью по следующим параметрам:
См. столбцы в разделе ENGAGEMENT: ACTIONS
. Они отображаются в интерфейсе отчетов по посещениям точек и стоимости посещения точки.
Примечание. Данные о посещении точек доступны только для магазинов, которые команда Facebook считает пригодными для измерения показателей в рамках кампании.
Данные о посещении точек можно получить через API Insights. Мы добавили дополнительные поля в общие вызовы для получения статистики: cost_per_store_visit_action
и store_visit_actions
. См. справку по статистике.
Поле | Описание |
---|---|
point_estimate int32 | The point prediction of the value |