Отслеживание конверсий

Используя пиксель Meta, можно отслеживать действия посетителей вашего сайта. Это называется отслеживанием конверсий. Отслеживаемые конверсии можно просматривать в Facebook Ads Manager и Facebook Events Manager. Эти данные помогают оценивать эффективность воронки конверсии и рассчитывать окупаемость инвестиций в рекламу. Кроме того, отслеживание конверсий позволяет определять пользовательские аудитории для оптимизации рекламы и проведения кампаний с объявлениями из каталога Advantage+. Определив пользовательские аудитории, вы сможете выявлять других пользователей Facebook, склонных совершить конверсию, и таргетировать на них свою рекламу.

Существует три способа отслеживать конверсии с помощью пикселя:

Требования

На каждой странице, где нужно отслеживать конверсии, должен быть установлен базовый код пикселя.

Стандартные события

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

Полный список стандартных событий см. в справке по стандартным событиям пикселя. Подробнее об отслеживании конверсий и стандартных событиях см. на ресурсе Blueprint.

Отслеживание стандартных событий

Все стандартные события отслеживаются с помощью вызова функции пикселя fbq('track') с указанием имени события и (необязательно) объекта JSON в качестве параметров. Например, так выглядит вызов функции, отслеживающий завершенное событие покупки, где в качестве параметров заданы валюта и сумма:

fbq('track', 'Purchase', {currency: "USD", value: 30.00});

Если функция будет вызвана, событие покупки будет зарегистрировано в Events Manager:

Функцию fbq('track') можно вызывать в любом месте между открывающим и закрывающим тегами <body> при загрузке веб-страницы или при выполнении пользователем какого-либо действия, например нажатия кнопки.

Например, если вы хотите отслеживать стандартное событие покупки после того, как пользователь завершит ее, можно вызвать функцию fbq('track') на странице подтверждения покупки:

<body>
  ...
  <script>
    fbq('track', 'Purchase', {currency: "USD", value: 30.00});
  </script>
  ...
</body>

Если же вам необходимо отслеживать стандартное событие покупки после того, как пользователь нажмет кнопку для покупки, можно связать вызов функции fbq('track') с этой кнопкой на странице оформления заказа:

<button id="addToCartButton">Purchase</button>
<script type="text/javascript">
  $('#addToCartButton').click(function() {
    fbq('track', 'Purchase', {currency: "USD", value: 30.00});
  });
</script>

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

Специально настроенные события

Если определенных нами стандартных событий недостаточно, вы можете отслеживать специально настроенные события и создавать с их помощью пользовательские аудитории для оптимизации рекламы. Для этих событий также поддерживаются параметры, которые позволяют указывать дополнительную информацию о каждом из них.

Подробнее об отслеживании конверсий и специально настроенных событиях см. на ресурсе Blueprint.

Отслеживание специально настроенных событий

Специально настроенные события отслеживаются путем вызова функции пикселя fbq('trackCustom') с указанием имени события и (необязательно) объекта JSON в качестве параметров. Как и в случае со стандартными событиями, функцию fbq('trackCustom') можно вызывать в любом месте между открывающим и закрывающим тегами <body> при загрузке веб-страницы или выполнении пользователем какого-либо действия, например нажатия кнопки.

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

fbq('trackCustom', 'ShareDiscount', {promotion: 'share_discount_10%'});

В качестве имен специально настроенных событий используются строки длиной не более 50 символов.

Специально настроенные конверсии

При загрузке пиксель каждый раз автоматически вызывает функцию fbq('track', 'PageView') для отслеживания стандартного события PageView. Стандартные события PageView фиксируют URL страницы, которая активировала вызов функции. С помощью таких URL в Events Manager можно задавать действия посетителей, которые необходимо отслеживать.

Предположим, вы перенаправляете посетителей, которые подписались на ваш список рассылки, на страницу с благодарностью. Вы можете задать специально настроенную конверсию для отслеживания посетителей сайта, просмотревших любую страницу, URL которой содержит строку /thank-you. Если у вас только одна страница со строкой /thank-you в URL и на ней установлен пиксель, то любой ее посетитель будет отслеживаться с помощью этой специально настроенной конверсии.

Данные, получаемые путем отслеживания специально настроенных конверсий, позволяют оптимизировать рекламные кампании, определять пользовательские аудитории и дополнительно уточнять пользовательские аудитории, связанные со стандартными или специально настроенными событиями. Подробнее о специально настроенных конверсиях см. на ресурсе Blueprint.

Поскольку в специально настроенных конверсиях используются полные или частичные URL, действия посетителей необходимо определять исключительно на основании уникальных строк в URL страниц вашего сайта.

Создание специально настроенных конверсий

Специально настроенные конверсии можно создавать только в Events Manager. Подробные сведения об этом см. в статье Справочного центра для бизнеса.

Специально настроенные конверсии на основе правил

Вы можете выполнять оптимизацию для действий и отслеживать их, не добавляя ничего в базовый код пикселя Meta. Эта возможность не ограничена 17 стандартными событиями.

  1. Создайте специально настроенную конверсию в /{AD_ACCOUNT_ID}/customconversions.
  2. Укажите полный или частичный URL, представляющий событие, в поле pixel_rule. Например, это может быть URL страницы thankyou.html, которая открывается после покупки.

Следующий код будет регистрировать конверсию PURCHASE при открытии страницы 'thankyou.html':

use FacebookAds\Object\CustomConversion;
use FacebookAds\Object\Fields\CustomConversionFields;

$custom_conversion = new CustomConversion(null, 'act_<AD_ACCOUNT_ID>');
$custom_conversion->setData(array(
  CustomConversionFields::NAME => 'Example Custom conversion',
  CustomConversionFields::PIXEL_ID => <PIXEL_ID>,
  CustomConversionFields::PIXEL_RULE => array(
    'url' => array('i_contains' => 'thank-you.html'),
  ),
  CustomConversionFields::CUSTOM_EVENT_TYPE => 'PURCHASE',
));
$custom_conversion->create();
from facebookads.adobjects.customconversion import CustomConversion

    custom_conversion = CustomConversion(parent_id='act_<AD_ACCOUNT_ID>')
    custom_conversion.update({
        CustomConversion.Field.name: 'Example Custom Conversion',
        CustomConversion.Field.pixel_id: <PIXEL_ID>,
        CustomConversion.Field.pixel_rule: {
            'url': {'i_contains': 'thankyou.html'},
        },
        CustomConversion.Field.custom_event_type: 'PURCHASE',
    })

    custom_conversion.remote_create()
curl \
  -F 'name=Example Custom conversion' \
  -F 'pixel_id=<PIXEL_ID>' \
  -F 'pixel_rule={"url":{"i_contains":"thank-you.html"}}' \
  -F 'custom_event_type=PURCHASE' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/customconversions

После этого можно создать кампанию с целью CONVERSIONS.

На уровне группы объявлений укажите эту же специально настроенную конверсию (pixel_id, pixel_rule, custom_event_type) в promoted_object.

Статистика по специально настроенным конверсиям

Ads Insights возвращает информацию о специально настроенных конверсиях:

curl -i -G \
-d 'fields=actions,action_values' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.7/<AD_ID>/insights

Возвращаются как стандартные, так и специально настроенные конверсии:

{
  "data": [
    {
      "actions": [
        {
          "action_type": "offsite_conversion.custom.17067367629523",
          "value": 1225
        },
        {
          "action_type": "offsite_conversion.fb_pixel_purchase",
          "value": 205
        }
      ],
      "action_values": [
        {
          "action_type": "offsite_conversion.custom.1706736762929507",
          "value": 29390.89
        },
        {
          "action_type": "offsite_conversion.fb_pixel_purchase",
          "value": 29390.89
        }
      ],
      "date_start": "2016-07-28",
      "date_stop": "2016-08-26"
    }
  ],
  "paging": {
    "cursors": {
      "before": "MAZDZD",
      "after": "MjQZD"
    },
    "next": "https://graph.facebook.com/v2.7/<AD_ID>/insights?access_token=<ACCESS_TOKEN>&amp;pretty=0&amp;fields=actions%2Caction_values&amp;date_preset=last_30_days&amp;level=adset&amp;limit=25&amp;after=MjQZD"
  }
}

Специально настроенные конверсии имеет уникальные ID. По нему можно запросить конкретную конверсию (например, основанную на правиле):

curl -i -G \
-d 'fields=name,pixel,pixel_aggregation_rule' \
-d 'access_token=ACCESS-TOKEN' \
https://graph.facebook.com/v2.7/<CUSTOM_CONVERSION_ID>

Ограничения в отношении специально настроенных конверсий

В одном рекламном аккаунте может быть не более 100 специально настроенных конверсий. Если вы используете API Ads Insights для получения метрик специально настроенных конверсий:

  • разбивка по ID товара не поддерживается;
  • подсчет уникальных действий не поддерживается.

Отслеживание конверсий за пределами сайта

Чтобы отслеживать конверсии за пределами своего сайта с помощью пикселей, добавьте в параметр tracking_spec своего рекламного объявления поле fb_pixel. Подробную информацию см. в этом разделе.

use FacebookAds\Object\Ad;
use FacebookAds\Object\Fields\AdFields;

$ad = new Ad(null, 'act_<AD_ACCOUNT_ID>');
$ad->setData(array(
  AdFields::ADSET_ID => <AD_SET_ID>,
  AdFields::CREATIVE => array(
    'creative_id' => <CREATIVE_ID>,
  ),
  AdFields::NAME => 'Offsite Conversions Ad',
  AdFields::TRACKING_SPECS => array(array(
    'action.type' => 'offsite_conversion',
    'fb_pixel' => <PIXEL_ID>,
  )),
));

$ad->create();
from facebookads.adobjects.ad import Ad

ad = Ad(parent_id='act_<AD_ACCOUNT_ID>')
ad.update({
    Ad.Field.adset_id: <AD_SET_ID>,
    Ad.Field.name: 'Offsite Conversions Ad',
    Ad.Field.creative: {
        'creative_id': <CREATIVE_ID>,
    },
    Ad.Field.tracking_specs: [
        {
            'action.type': 'offsite_conversion',
            'fb_pixel': <PIXEL_ID>,
        },
    ],
})
ad.remote_create(params={
    'status': Ad.Status.paused,
})
Ad ad = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAd()
  .setAdsetId(<AD_SET_ID>)
  .setCreative(
    new AdCreative()
      .setFieldId(<CREATIVE_ID>)
  )
  .setName("Offsite Conversions Ad")
  .setTrackingSpecs("{\"action.type\":\"offsite_conversion\",\"fb_pixel\":\"" + <PIXEL_ID> + "\"}")
  .execute();
String ad_id = ad.getId();
curl \
  -F 'adset_id=<AD_SET_ID>' \
  -F 'creative={"creative_id":"<CREATIVE_ID>"}' \
  -F 'name=Offsite Conversions Ad' \
  -F 'tracking_specs=[{"action.type":"offsite_conversion","fb_pixel":"<PIXEL_ID>"}]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/ads

Параметры

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

Чтобы добавить параметр в стандартное или специально настроенное событие, отформатируйте его данные в виде объекта JSON и добавьте этот объект в качестве третьего параметра при вызове функции fbq('track') или fbq('trackCustom').

Предположим, вы хотите отслеживать посетителей, которые купили несколько товаров в результате промоакции. Это можно сделать следующим образом:

fbq('track', 'Purchase',
  // begin parameter object data
  {
    value: 115.00,
    currency: 'USD',
    contents: [
      {
        id: '301',
        quantity: 1
      },
      {
        id: '401',
        quantity: 2
      }],
    content_type: 'product'
  }
  // end parameter object data
);

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

Свойства объектов

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

Ключ свойстваТип значенияОписание параметра

content_category

Строка

Категория страницы или товара.

content_ids

Массив целых чисел или строк

ID товаров, связанные с событием (например, номера SKU). Пример: ['ABC123', 'XYZ789'].

content_name

Строка

Название страницы или товара.

content_type

Строка

product или product_group в зависимости от передаваемого значения параметра content_ids или contents. Если в параметре content_ids или contents передаются ID товаров, требуется значение product. Если передаются ID групп товаров, требуется значение product_group.

contents

Массив объектов

Массив объектов JSON, содержащий международные артикулы (EAN) или другие идентификаторы товаров (контента), связанные с событием, а также сведения о количестве товаров и их ценах. Обязательные значения: id и quantity.

Пример: [{'id': 'ABC123', 'quantity': 2}, {'id': 'XYZ789', 'quantity': 2}]

currency

Строка

Валюта, в которой указывается значение value.

delivery_category

Строка

Способ доставки покупки. Поддерживаемые значения:

  • in_store — самовывоз из магазина;
  • curbside — самовывоз из пункта выдачи;
  • home_delivery — доставка на дом.

num_items

Целое число

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

predicted_ltv

Целое число, число с плавающей точкой

Прогнозируемая рекламодателем пожизненная ценность подписчика, которая выражается точным значением.

search_string

Строка

Поисковый запрос, введенный пользователем. Используется с событием Search.

status

Логическое значение

Используется с событием CompleteRegistration для указания состояния регистрации.

value

Целое число или число с плавающей запятой

Требуется для событий покупки и любых событий, в которых используется оптимизация стоимости. Числовое значение, связанное с событием. Это должна быть денежная сумма.

Пользовательские свойства

Если определенных нами стандартных свойств объектов недостаточно, вы можете добавить свои свойства. Их можно использовать как со стандартными, так и со специально настроенными событиями для уточнения пользовательских аудиторий.

Предположим, вы хотите отслеживать посетителей, которые купили несколько товаров, предварительно сравнив их с другими позициями. Это можно сделать следующим образом:

fbq('track', 'Purchase',
  // begin parameter object data
  {
    value: 115.00,
    currency: 'USD',
    contents: [
      {
        id: '301',
        quantity: 1
      },
      {
        id: '401',
        quantity: 2
      }],
    content_type: 'product',
    compared_product: 'recommended-banner-shoes',  // custom property
    delivery_category: 'in_store'
  }
  // end parameter object data
);

Дальнейшие действия

Используйте отслеживание конверсий для создания пользовательских аудиторий. Это поможет оптимизировать рекламу для получения конверсий на сайте.

Дополнительная информация

  • Подробнее об отслеживании конверсий см. на ресурсе Blueprint.