Формы для лидов для рекламы

В этом документе объясняется, как с помощью API Marketing создавать рекламу для лидов через API Graph.

Чтобы создать и опубликовать рекламу для лидов, выполните следующие действия:

  1. Создайте рекламную кампанию.
  2. Создайте группу объявлений, которая связывает ваши объявления с рекламной кампанией.
  3. Создайте форму для лидов.
  4. Создайте рекламный креатив с формой для лидов.
  5. Свяжите кампанию и креатив, чтобы создать рекламу.
  6. Опубликуйте рекламу.

Перед началом работы

Это руководство подразумевает, что вы ознакомились с обзором платформы Messenger и реализовали необходимые компоненты для отправки и получения сообщений и уведомлений.

Вам понадобятся:

Шаг 1. Создание кампании

Чтобы создать кампанию с рекламой для генерации лидов, отправьте к конечной точке /act_AD_ACCOUNT_ID/campaigns запрос POST со следующими параметрами:

  • access_token — маркер доступа к вашей Странице;
  • buying_type — значение AUCTION;
  • name — название кампании;
  • objective — значение LEAD_GENERATION;
  • special_ad_categories — значение NONE или специальная категория рекламы ;
  • status — значение PAUSED.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст, например AD_ACCOUNT_ID, собственными значениями.
curl -X POST "https://graph.facebook.com/v19.0/act_AD_ACCOUNT_ID/campaigns" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "buying_type":"AUCTION",
           "name":"Messenger_ad_campaign_name",
           "objective":"LEAD_GENERATION",
           "special_ad_categories":["NONE"],
           "status":"PAUSED"
         }'

В случае успеха приложение получит объект JSON, содержащий ID вашей кампании. Этот ID понадобится при создании группы объявлений на следующем шаге.

{
  "id": "YOUR_CAMPAIGN_ID"
}

Дополнительную информацию см. в справочнике по рекламным кампаниям .

Шаг 2. Создание группы объявлений

Чтобы создать группу объявлений, отправьте запрос POST к конечной точке act_ad_account_id/adsets, где ad_account_id — ID вашего рекламного аккаунта Meta. Запрос должен содержать следующие параметры:

  • access_token — маркер доступа к вашей Странице;
  • bid_amount — максимальная сумма, которую вы готовы платить;
  • billing_event — задайте значение IMPRESSIONS;
  • campaign_id — ID рекламной кампании, созданной на шаге 1;
  • daily_budget — сумма, которую вы готовы расходовать в день;
  • name — имя группы объявлений;
  • optimization_goal — LEAD_GENERATION или QUALITY_LEAD;
  • promoted_object — ID Страницы Facebook вашей компании;
  • status — задайте значение PAUSED.

Примечание. Если вы настроили источник данных CRM и выбрали цель оптимизации QUALITY_LEAD, можно добавить pixel_id в promoted_object для дальнейшей оптимизации по качеству. Обратите внимание: предоставлять pixel_rule вместе с pixel_id не требуется.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст, например AD_ACCOUNT_ID, собственными значениями.
curl -X POST "https://graph.facebook.com/v19.0/act_AD_ACCOUNT_ID/adsets"
     -H "Content-Type: application/json" 
     -d '{
           "access_token":"Your_page_access_token",
           "bid_amount":"Your_bid_amount",
           "billing_event":"IMPRESSIONS",
           "campaign_id":"Your_campaign_id",
           "daily_budget":"Your_daily_budget",
           "name:"YOUR_LEADADS_ADSET",
           "optimization_goal:LEAD_GENERATION",
           "promoted_object":"YOUR_PAGE_ID",
           "status:PAUSED"
         }'

В случае успеха ваше приложение получит следующий ответ JSON с ID группы объявлений.

{
  "id": "YOUR_ADSET_ID"
}

Дополнительную информацию см. в справочнике по группам объявлений .

Шаг 3. Создание формы для лидов

Чтобы создать форму, отправьте к конечной точке /PAGE_ID/leadgen_forms запрос POST со следующими параметрами:

  • access_token — маркер доступа к вашей Странице;
  • name — имя вашей формы;
  • questions — массив объектов, определяющих типы вопросов и порядок их отображения в форме с использованием параметра key:
    • пользовательский вопрос с параметром label;
    • пользовательский вопрос с параметром options с раскрывающимся меню ответов.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
curl -X POST "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token": "YOUR_PAGE_ACCESS_TOKEN",
           "name": "YOUR_LEADADS_FORM_NAME",
           "questions": "[
               {"type":"FULL_NAME", "key": "question1"},
               {"type":"EMAIL", "key": "question2"},
               {"type":"PHONE", "key": "question3"},
               {"type":"CUSTOM", "key": "question4" "label": "Do you like rainbows?"}
               {"type":"CUSTOM", "key": "question5" "label": "What is your favorite color?", 
                   "options": [
                       {value: "Red", key: "key1"},
                       {value: "Green", key: "key2"},
                       {value: "Blue", key: "key2"},
                   ]}
           ]"
         }'

Формы для переписки в Messenger

Формы, предназначенные для использования в рекламе в переписках в Messenger , должны содержать следующие компоненты:

  • Параметр questions.type может принимать только одно из следующих значений:
    • CUSTOM
    • EMAIL
    • FIRST_NAME
    • FULL_NAME
    • LAST_NAME
    • PHONE

    Если значение параметра questions.type формы отличается от перечисленных, форма не будет использоваться.

  • Для параметра block_display_for_non_targeted_viewer необходимо задать значение false. Это означает, что форма относится к типу Open Sharing.

Пример запроса для допустимой формы для Messenger

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
curl -X POST "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token": "page_ACCESS_TOKEN"
           "block_display_for_non_targeted_viewer": "false"
           "name": "LeadAds Form for Messenger Conversation Name"
           "questions": "[
               {"type":"FULL_NAME", "key": "question1"},
               {"type":"EMAIL", "key": "question2"},
               {"type":"PHONE", "key": "question3"},
               {"type":"CUSTOM", "key": "question4" "label": "Do you like rainbows?"}
               {"type":"CUSTOM", "key": "question5" "label": "What is your favorite color?", 
                   "options": [
                       {value: "Red", key: "key1"},
                       {value: "Green", key: "key2"},
                       {value: "Blue", key: "key2"},
                   ]}
           ]"
         }'

Дополнительные типы вопросов

Помимо стандартных типов вопросов, перечисленных в разделе [Создание формы для лидов]{#create-a-lead-form}, можно добавить специализированные типы для следующих сценариев использования:

  • Запись на встречу. Вопрос для записи на встречу содержит поле для выбора даты и времени в определенном промежутке и подтверждающее сообщение, которое располагается под вопросом.
  • Удостоверение личности государственного образца. В вопросе об удостоверении личности проверяется формат введенных данных на основании страны пользователя.
  • Локатор магазинов. Вопрос с локатором магазинов позволяет показать поле выбора с локатором магазинов на основании введенного пользователем почтового индекса.

Запись на встречу

Вопрос для записи на встречу содержит поле для выбора даты и времени в определенном промежутке и подтверждающее сообщение, которое располагается под вопросом.

Чтобы добавить вопрос для записи на встречу, добавьте объект вопроса, в котором для параметра type установлено значение DATE_TIME. Для контекста при необходимости можно добавить необязательное подтверждающее сообщение в параметре inline_context, которое будет отображаться непосредственно под полем вопроса.

...
           "questions": "[
               ...
               {"type": "DATE_TIME", 
                "label": "Appointment time", 
                "inline_context": "We will verify and call you to confirm your appointment."
               },
...

Удостоверение личности

В вопросе об удостоверении личности проверяется формат введенных данных на основании страны пользователя. Этот вопрос можно отображать для следующих стран:

  • Аргентина — {"type": "ID_AR_DNI"};
  • Бразилия — ID_CPF;
  • Чили — ID_CL_RUT;
  • Колумбия — ID_CO_CC;
  • Эквадор — ID_EC_CI;
  • Перу — ID_PE_DNI.

Чтобы добавить вопрос с указанием удостоверения личности, добавьте объект вопроса, установив для параметра type тип страны пользователя.

Ограничения

  • Вы можете просить указать данные только одного удостоверения личности в определенном формате и только пользователей из соответствующей страны. Например, если вы просите ввести данные DNI из Перу, ваша целевая аудитория должна быть ограничена территорией Перу. Утверждаются только объявления, соответствующие этому условию.
  • В ходе проверки введенное значение проверяется только на правильность формата, но не на принадлежность указанного удостоверения реальному человеку.
...
           "questions": "[
               ...
               {"type": "ID_AR_DNI"
               },
...

Локатор магазинов

Вопрос с локатором магазинов позволяет показать поле выбора с локатором магазинов на основании введенного пользователем почтового индекса.

Для использования этого вопроса понадобится настроить структуру Страниц точек. Соответствующие инструкции см. в статье Справочного центра Meta для бизнеса, посвященной настройке структуры Страниц точек на Facebook .

Чтобы добавить вопрос с локатором магазинов, добавьте объект вопроса, установив для параметра type значение STORE_LOOKUP, а для параметра context_provider_type — значение LOCATION_MANAGER.

...
           "questions": "[
               ...
               {"type": "STORE_LOOKUP", 
                "label": "Which store do you want to visit?", 
                "context_provider_type": "LOCATION_MANAGER"
               },
...

Расширенные настройки формы

Чтобы получать более качественных лидов, добавьте следующие настройки формы:

Добавление отслеживания результативности

Для отслеживания источника лидов добавьте в форму поле tracking_parameters, содержащее список пар "ключ-значение" параметров, которые требуется отслеживать. Они не отображаются в рекламе, однако позволяют компании Meta передавать вам метаданные о лидах, сгенерированных с помощью формы.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
...
           "name": "YOUR_LEADADS_FORM_NAME",
           "tracking_parameters": {"your_tracking_parameter_name":"your_tracking_parameter_value"},
           "questions": "[
...

Добавление настройки "Усиление намерения"

По умолчанию реклама для лидов оптимизируется для количества, однако вы можете создавать формы для получения лидов с более высоким уровнем намерения. Это могут быть люди, заинтересованные в конкретном продукте или услуге, например в возможности заказать тест-драйв в дилерском центре. Используя эту настройку, вы сможете добавить этап, на котором пользователь должен будет проверить и подтвердить свои ответы перед отправкой формы.

Чтобы настроить для формы этап подтверждения, добавьте при ее создании параметр is_optimized_for_quality со значением true.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
...
           "name": "YOUR_LEADADS_FORM_NAME",
           "is_optimized_for_quality": "true",
           "questions": "[
...

Фильтрация органических лидов

Чтобы отфильтровать органических лидов, при создании формы добавьте параметр block_display_for_non_targeted_viewer со значением true.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
...
           "name": "YOUR_LEADADS_FORM_NAME",
           "block_display_for_non_targeted_viewer": "true",
           "questions": "[
...

Пример ответа

В случае успеха приложение получит ответ JSON, содержащий ID формы, который нужно использовать для создания рекламы.

{
  "id": "leadgen_form_id",
}

Шаг 4. Создание рекламного креатива

Чтобы создать рекламный креатив с изображением и формой, отправьте к конечной точке /act_AD_ACCOUNT_ID/adcreatives запрос POST со следующими параметрами:

  • access_token — маркер доступа к вашей Странице;
  • object_story_spec — объект link_data со следующими параметрами:
    • call_to_action — объект, содержащий type и value (ID формы для лидов);
    • description — описание креатива;
    • image_hash — хэш изображения для рекламного креатива;
    • link_url — ваш URL (это не может быть ваша Страница Facebook);
    • message — текст рекламного креатива;
  • page_id — ID вашей Страницы Facebook.

Примечание. При создании link_data с полем link может быть связано только значение https//fb.me/.

Параметр link_data.call_to_action должен иметь только одно из следующих значений:

  • APPLY_NOW
  • DOWNLOAD
  • GET_QUOTE
  • LEARN_MORE
  • SIGN_UP
  • SUBSCRIBE

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст, например AD_ACCOUNT_ID, собственными значениями.
curl -X POST "https://graph.facebook.com/LATEST-API-VERSION/act_AD_ACCOUNT_ID/adcreatives" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"YOUR_PAGE_ACCESS_TOKEN",
           "object_story_spec":{ 
             "link_data": { 
               "call_to_action": {
                 "type":"SIGN_UP",
                 "value":{
                   "lead_gen_form_id":"YOUR_FORM_ID"
                 }
               }, 
               "description": "YOUR_AD_CREATIVE_DESCRIPTION", 
               "image_hash": "YOUR_IMAGE_HASH", 
               "link": "http:\/\/fb.me\/", 
               "message": "YOUR_AD_CREATIVE_MESSAGE" 
             }, 
           "page_id": "YOUR_PAGE_ID" 
         }'
  

Вы можете создать рекламу для лидов с кольцевой галереей на базе того же набора параметров object_story_spec, однако в child_attachments необходимо указать дополнительное поле lead_gen_form_id.

Для всех дочерних прикрепляемых объектов можно задать только один и тот же <FORM_ID>.

curl \
  -F 'object_story_spec={ 
    "page_id": "<PAGE_ID>", 
    "link_data": { 
      "message": "My description", 
      "link": "http:\/\/www.google.com", 
      "caption": "WWW.EXAMPLE.COM", 
      "child_attachments": [ 
        { 
          "link": "http:\/\/www.google.com", 
          "image_hash": "<IMAGE_HASH>", 
          "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
        }, 
        { 
          "link": "http:\/\/www.google.com", 
          "image_hash": "<IMAGE_HASH>", 
          "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
        }, 
        { 
          "link": "http:\/\/www.google.com", 
          "image_hash": "<IMAGE_HASH>", 
          "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
        }, 
        { 
          "link": "http:\/\/www.google.com", 
          "image_hash": "<IMAGE_HASH>", 
          "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
        } 
      ], 
      "multi_share_optimized": true, 
      "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} 
    } 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/LATEST-API-VERSION/act_<AD_ACCOUNT_ID>/adcreatives

Добавление видео

Вместо фото в рекламном креативе для лидов можно использовать видео. Сначала загрузите видео в свою библиотеку рекламного видео, а затем укажите его в параметре object_story_spec:

curl -X POST \
  -F 'object_story_spec={
       "page_id": "<PAGE_ID>",
       "video_data": {
         "link_description": "try it out",
         "image_url": "<IMAGE_URL>",
         "video_id": "<VIDEO_ID>",
         "call_to_action": {
           "type": "SIGN_UP",
           "value": {
             "link": "http://fb.me/",
             "lead_gen_form_id": "<FORM_ID>"
           }
         }
       }
     }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

Пример ответа для рекламного креатива

В случае успеха ваше приложение получит следующий ответ JSON с ID рекламного креатива.

{
  "id": "YOUR_AD_CREATIVE_ID"
}
      

Чтобы создать рекламное объявление, потребуется связать рекламный креатив и группу объявлений. Чтобы создать объявление, отправьте запрос POST к конечной точке /act_AD_ACCOUNT_ID/ads. Запрос должен содержать следующие параметры:

  • access_token — маркер доступа к вашей Странице;
  • adset_id (с шага 2);
  • creative_id (с шага 4);
  • name
  • status

Пример запроса для объявления с рекламным креативом

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст, например AD_ACCOUNT_ID, собственными значениями.
curl -X POST "https://graph.facebook.com/v19.0/act_AD_ACCOUNT_ID/ads"
     -H "Content-Type: application/json" 
     -d '{
           "access_token"="YOUR_PAGE_ACCESS_TOKEN",
           "adset_id"="YOUR_AD_SET_ID",
           "creative"={ "creative_id": "YOUR_AD_CREATIVE_ID" },
           "status"="PAUSED"
         }'

В случае успеха ваше приложение получит следующий ответ JSON с ID объявления.

{
  "id": "YOUR_AD_ID"
}

Шаг 6. Публикация рекламы

Убедитесь, что объявление присутствует в Ads Manager . Нажмите кнопку Проверить и опубликовать в правом верхнем углу. Выберите кампанию, группу объявлений для нее и рекламное объявление.

Рекламу можно опубликовать из Ads Manager или через API. Чтобы опубликовать объявление через API, повторите шаг 4, задав для параметра status значение ACTIVE.

Meta проверит вашу рекламу (в течение этого времени она будет иметь статус PENDING_REVIEW). После утверждения реклама перейдет в статус ACTIVE и начнется ее показ.

Управление формами

Вы можете получить список форм и определенные вопросы формы, а также архивировать старые формы.

Получение списка форм

Чтобы получить список форм генерации лидов, отправьте к конечной точке /page_id/leadgen_forms запрос GET со следующими параметрами:

  • access_token — маркер доступа к вашей Странице;
  • fields (необязательно) — список разделенных запятыми полей для различных значений, таких как имя и ID формы.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
curl -X GET "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms
    ?fields=name,id
    &access_token": "YOUR_PAGE_ACCESS_TOKEN"

В случае успеха приложение получит ответ JSON, содержащий список ваших форм. С помощью ID формы можно получить список ее вопросов или архивировать ее.

Получение списка форм, поддерживаемых в Messenger

Отправлять в переписке в Messenger можно только формы, отвечающие определенным требованиям.

Чтобы получить список соответствующих форм для лидов, отправьте к конечной точке /page_id/leadgen_forms запрос GET со следующими параметрами:

  • access_token — маркер доступа к вашей Странице;
  • fields — значение is_eligible_for_in_thread_forms.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
curl -X GET "https://graph.facebook.com/v19.0/PAGE_ID/leadgen_forms
    ?fields=is_eligible_for_in_thread_forms
    &access_token": "YOUR_PAGE_ACCESS_TOKEN"

В случае успеха приложение получит ответ JSON, содержащий список ID поддерживаемых форм.

{
  "data": [
    {
      "id": "eligible_form_1_id"
    },
    {
      "id": "eligible_form_2_id"
    }
  ],
...
}

Получение списка вопросов

Чтобы получить список вопросов определенной формы генерации лидов, отправьте к конечной точке /page_id/leadgen_form_id запрос GET со следующими параметрами:

  • access_token — маркер доступа к вашей Странице;
  • fields — значение questions.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
curl -X GET "https://graph.facebook.com/v19.0/page_id/leadgen_form_id
    ?fields=questions
    &access_token=page_access_token"

В случае успеха приложение получит ответ JSON, содержащий список вопросов.

Архивация формы

Форму для лидов можно только архивировать. Их удаление не поддерживается. После архивирования:

  • форма не отображается (по умолчанию) в библиотеке форм;
  • форму нельзя использовать в рекламе (при попытке сделать это через API может генерироваться ошибка);
  • форма недоступна на этапе создания рекламы в CF и PE.

Чтобы архивировать определенную форму для лидов, отправьте к конечной точке /page_id/leadgen_form_id запрос POST со следующими параметрами:

  • access_token — маркер доступа к вашей Странице;
  • status — значение ARCHIVED.

Пример запроса

Для удобства чтения применено форматирование. Замените выделенный жирным шрифтом и курсивом текст собственными значениями.
curl -X GET "https://graph.facebook.com/v19.0/page_id/leadgen_form_id
    ?status=ARCHIVED
    &access_token=page_access_token"

В случае успеха приложение получит следующий ответ JSON, содержащий объект, в котором для параметра success установлено значение true.

Чтобы повторно активировать архивированную форму, отправьте запрос, установив для параметра status значение ACTIVE.

Добавление формы на сайт

Чтобы добавить форму на сайт, можно воспользоваться Facebook SDK для JavaScript, чтобы открыть всплывающий диалог. Он открывается сразу после выполнения, поэтому важно связать его с нужным событием. Вы сможете определить обратный вызов, содержащий необходимые данные для рекламного креатива. Meta сохраняет форму на уровне Страницы.

Ограничения

  • Этот диалог не поддерживается на мобильных устройствах.

Обратите внимание: act_не содержится в значении ad_account_id.

Пример SDK

Замените выделенный жирным шрифтом и курсивом текст собственными значениями.

FB.ui({
  method: 'lead_gen',
  page_id: YOUR_PAGE_ID,
  ad_account_id: AD_ACCOUNT_ID, 
}, function(response) {
...
});

Ответ обратного вызова, который вы получите, будет содержать информацию о форме.

{
  follow_up_action_text: "YOUR_FOLLOW_UP_ACTION_TEXT",
  follow_up_action_url: "YOUR_FOLLOW_UP_ACTION_URL",
  formID: YOUR_FORM_ID,
  form_url: "YOUR_FORM_URL",
  is_tcpa_compliant: false,
  name: "YOUR_FORM_NAME",
  pageID: YOUR_PAGE_ID,
  privacy_policy_url: "YOUR_PRIVACY_POLICY_URL",
  status: "success"
}

Свойства ответа

ИмяОписание

custom_disclaimer_responsesстрока

Ответы на пользовательские вопросы с флажками об отказе от ответственности.

follow_up_action_textстрока

Подпись с описанием дальнейших действий на последнем экране формы.

follow_up_action_urlстрока

Место назначения текста с описанием дальнейших действий на последнем экране формы.

formIDстрока

Обязательный параметр. ID формы.

form_urlстрока

URL формы.

nameстрока

Название формы.

pageIDстрока

ID Страницы, к которой относится форма.

privacy_policy_urlстрока

Указанный URL политики конфиденциальности.

statusстрока

После создания формы возвращается значение success.

Если отменить создание, вы увидите сообщение:

{
  error_code: 4201,
  error_message: "User canceled the Dialog flow"
}