Если Вы читаете данную статью, значит Вы столкнулись со сложностями трекинга событий Facebook Pixel и их учёта на устройствах IOS 14+.
Об отслеживании событий на устройствах IOS 14+ мы говорили ранее в нашей статье. А сегодня мы поговорим о параллельном отслеживании событий через Conversions API.
Conversions API Facebook - это возможность передачи данных о событиях пользователей напрямую с сервера сайта в обход браузера и запретов на использование cookies.
Conversions API Facebook это дополнение трекинга данных пользователей к Facebook Pixel, которое по факту может собрать данные, которые не собрал пиксель из-за ограничений iOS 14+.
Facebook Pixel не нужно будет удалять, эти две системы работают параллельно. Одинаковые данные рекламный кабинет склеивает и не допускает двойного учета. На языке Facebook этот процесс называют - дедупликация. Собственно это основа. В интернете много информации на эту тему, но мы собрали для Вас самые главные моменты, то есть суть, без бла-бла-бла. Как настроить и запустить.
Шаги настройки API Conversions Facebook
➊ Подключение API Conversions в Events Manager Facebook

В настройках событий выбираем - Добавить события 🠖 Использование API Conversions:

Facebook предложит Вам 2 варианта настройки:
👉 внедрить API вручную;
👉 использовать партнерскую интеграцию.

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

☝ Немного об API Conversions через Google Tag Manager
Мы тестировали вариант настройки API Conversions через Google Tag Manager. Будьте готовы, что необходимо будет:
- предоставить доступ к Tag Manager;
- создать серверный контейнер;
- опубликовать тег “Facebook Conversions API Tag” ;
- иметь Google Analytics 4.
Примерные шаги настройки Conversions API через Tag Manager будут выглядеть так:

Что самое невероятное, то что Facebook в данном процессе активно взаимодействует с тегами Google Analytics, хотя это 2 конкурирующие компании.
* Мы настоятельно рекомендуем внедрять CAPI путем ручной имплементации на сервере сайта, тогда Вы будете самостоятельно контролировать процесс отправки данных. Если же делать это через GTM, то нужно будет соединить воедино 3 составляющих: серверный контейнер GTM, GA4 и FB Pixel. И малейший глюк в одной из систем может привести к немыслимым потерям времени. Кроме того, серверный контейнер прописывается через Google Cloud Platform, пользование которой связано с дополнительными денежными затратами.
Дальше мы рассмотрим вариант самостоятельной настройки, так как в основном мы имеем дело с кастомными проектами, а не готовыми CMS.
API Conversions - внедрение вручную
Самостоятельное внедрение API Conversions делится на 2 этапа, а именно:
- Настройка персональных параметров на стороне Events Manager.
- Отправка данных по API.
👉 выбор учитываемых событий;
👉 выбор пользовательских параметров передаваемых вместе с событием.
Здесь все предельно просто

На данном шаге веб-интерфейс заканчивается и идет отправка инструкции на Facebook - “мол ждите, когда Ваш программист выполнит”. Но, как показывает практика, самостоятельно никто ничего изучать не станет, программист в итоге будет ждать уточненное техническое задание. На данном шаге 90% статей в интернете заканчиваются, а мы пойдем дальше и глубже.

➋ Построение запросов и отправка через Conversions API
Необходимо сразу понимать, что отправлять запросы придется с сервера сайта, аналогично тому, как мы уже обсуждали в Google Measurement Protocol.
Для начала Вам необходимо сгенерировать токен, который в будущем пригодится для отправки запроса

Затем конструируем запрос с помощью помощника по полезным данным.

Сразу скажем, здесь готового решения нет, поэтому все подбирается индивидуально, в зависимости от данных, которые Вам необходимы. В помощь Вам пригодится:
- список стандартных событий;
- параметры событий;
- параметры пользовательских данных;
- разъяснения по параметрам событий.
После того как Вы построите запрос следует поработать над его отправкой и тестированием. Дополнительно, запрос можно построить в Graph API Explorer.

➌ Отправка запросов Conversions API
Способ отправки:
👉 согласно регламента API запросы должны отправляться способом POST, хотя в тестировщике предлагает все 3 варианта - POST, GET, DELETE.
Путь отправки:
В фигурные скобки вставляете данные своего аккаунта.
Запрос и его структура
Ну и соответственно строите свой запрос, который может выглядеть примерно так:
curl -X POST \
-F 'data=[
{
"event_name": "Purchase",
"event_time": 1636712168,
"user_data": {
"em": [
"309a0a5c3e211326ae75ca18196d301a9bdbd1a882a4d2569511033da23f0abd"
],
"ph": [
"254aa248acb47dd654ca3ea53f48c2c26d641d23d7e2e93a1ec56258df7674c4",
"6f4fcb9deaeadc8f9746ae76d97ce1239e98b404efe5da3ee0b7149740f89ad6"
],
"client_ip_address": "123.123.123.123",
"client_user_agent": "$CLIENT_USER_AGENT",
"fbc": "fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890",
"fbp": "fb.1.1558571054389.1098115397"
},
"contents": [
{
"id": "product123",
"quantity": 1,
"delivery_category": "home_delivery"
}
],
"custom_data": {
"currency": "usd",
"value": 123.45
},
"event_source_url": "http://jaspers-market.com/product/123",
"action_source": "website"
}
]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v12.0/<PIXEL_ID>/events
И самым главным уточнением построения запроса будет хэширование (кодирование) данных, а именно - все пользовательские параметры должны быть хэшированы с использованием функции SHA256.
Также Вы можете воспользоваться помощником по пользовательским данным.
➍ Тестирование отправки запроса
Тестирование отправки запроса доступно несколькими способами, а именно:
- Через сервис - Graph API Explorer;
- Через сервис - Payload Helper;
- Через инструмент тестирования событий - Events Manager;
- Через Ваш сервер, добавляя специальный идентификатор тестового события - “test_event_code”.
Выбираете тот, который Вам удобнее.
➎ Дедупликация (склеивание событий)
Итак, после настройки Conversions API события у Вас будут поступать из двух каналов. Система в данном случае будет склеивать повторяющиеся события, а неучтенные дополнять. Данный процесс принято называть дедупликацией.
Дедупликация работает исходя из сверки данных Facebook Pixel и Api Conversions. Дополнительно Facebook может запросить модифицировать события пикселя и Conversions API, добавив сверяемый ID, так как хешированных данных может быть недостаточно.
Ну и, важная цитата из документации:
"Если в течение 48 часов на один и тот же ID пикселя будут отправлены события с одинаковыми значениями параметров сервера (event_id и event_name) и одинаковыми значениями параметров браузера (eventID и event), события браузера будут отброшены. Исключение - если события сервера и браузера получены примерно в одно и то же время (интервал между ними составляет не более пяти минут), предпочтение отдается событию браузера."
В результате дедупликации мы получим сообщение от системы о том, что события успешно сопоставляются:


По состоянию на 2023 год, вопрос API Conversions становится более чем актуальным, так как все больше пользователей IOS отказывается от учета событий на своих устройствах. На одном из последних кейсов это получение дополнительно от 40 до 60% конверсий.

В дополнение к статье рекомендуем посмотреть наше видео про Conversion API Facebook.
В принципе, это пока все, что необходимо знать о запуске Conversions API Facebook.
В целом, этот инструмент достаточно похож на Measurement Protocol Google и имеет много сходства в алгоритмах своей работы.