Налаштування Facebook Conversion API, або як правильно скласти ТЗ на CApi
У 2021 році всі ми зіткнулися з посиленням збору даних, пов'язаних зі змінами політики конфіденційності Apple і збору даних про користувача на IOS 14. Ці зміни сильно вплинули безпосередньо на сам збір подій через інструменти Facebook піксель і Facebook SDK, зміну вікна атрибуції, а також на охоплення аудиторії з продукцією Apple.
Звичайно, все це призвело до збільшення ціни за конверсію та некоректний аналіз наших рекламних кампаній. Щоб виправити ситуацію, Facebook запроваджує такий інструмент, як Conversion API. Зараз розберемося, що це таке.
Ось що пише сам Фейсбук:
“API Conversions забезпечує прямий та надійний зв'язок між соціальною мережею та маркетинговими даними (наприклад, подіями на веб-сторінці та офлайн-конверсіями) з вашого серверу, сайту або з системи CRM. Ці дані допомагають виконувати персоналізацію та оптимізацію рекламної діяльності, а також вимірювати результати на Facebook. Так ви зможете показувати оголошення людям, які з більшою ймовірністю ними зацікавляться.
Якщо говорити простіше, інструмент СApi допомагає нам зібрати дані про користувача, які не вдалося зібрати за допомогою пікселя Facebook і Facebook SDK, і передає їх Facebook із сервера. За допомогою цих даних реклама швидше оптимізуватиметься та розумітиме, хто наш потенційний покупець.
Як бачимо, Conversion Api — дуже корисний інструмент, і, у зв'язку з останніми змінами IOS 14, він став просто необхідним до використання.
Як же налаштувати CApi та де його знайти? Перед початком перевірте, що Facebook Pixel та події пікселя вже встановлені.
Перейдемо до практичної частини
Переходимо до Event Manager
Додаємо подію “Використання API Conversions”
Обираємо спосіб налаштування, “Використання API вручну” або “Використовувати партнерську інтеграцію”. Щоб переглянути, на яких платформах можлива партнерська інтеграція, необхідно перейти до довідки Facebook за посиланням.
Усі ці налаштування за API Conversions ми також можемо знайти, перейшовши до “Налаштування” Event Manager
На прикладі розглянемо, які події та параметри будемо використовувати за допомогою ручного налаштування. Вибираємо це налаштування, тиснемо "Продовжити".
Вибираємо події, які хочемо відстежити за допомогою Conversions API. Є також можливість додати додаткові події. Вибрали, тиснемо "Продовжити".
Ми перейшли до вибору параметрів. На прикладі покажу налаштування параметрів для трьох основних подій в e-commerce. За цими подіями оптимізуватиметься наша реклама. Інші параметри налаштовуються за таким самим принципом.
Важливо: Щоб не повертатися в майбутньому до цього розділу, випишіть у таблиці вибрані події та всі параметри, налаштовані для кожної події. Вони будуть потрібні для складання ТЗ.
- Add to Cart (Додати до корзини).
- Initiate Checkout (Початок оформлення замовлення).
- Purchase (Покупка).
Деякі параметри інформації про подію вже стандартно розставлені. Важливо виділити такі, як ID події (цей ID використовується для видалення дублікатів однієї і тієї ж події, відправленої і з серверу, і з браузеру), Скасування підписки (якщо для події необхідна оптимізація показу реклами, цей параметр не вибираємо).
Щодо параметрів інформації про клієнта, тут теж все просто. Потрібно зібрати дані клієнта, щоб соц. мережа могла застосовувати їх з метою показу реклами тим, хто з більшою ймовірністю здійснить конверсію.
Все потрібне можна знайти:
Огляд стандартних подій пікселя Facebook
Параметри серверних подій
Параметри даних користувача
Після вибору подій та їхніх параметрів ми перейшли до заключного етапу. Нам пропонується надіслати інструкцію девелоперу або реалізувати API самостійно. Якщо формуватимемо та відправлятимемо ТЗ розробникам, можемо сміливо натиснути “Завершити”.
Якщо ми хочемо самостійно реалізувати, то відповідно вибираємо самостійне налаштування, та нам відкриється керування.
У посібнику нам важливо буде згенерувати маркер доступу, зробити його копію та зберегти.
Якщо ви не вибирали самостійну реалізацію, то знайти та згенерувати маркер доступу можна в “Event Manager”, “Налаштування”.
Тестування подій через API
Для тестування відповіді серверу потрібно скласти тіло запиту. Для цього знадобиться інструмент Payload Helper. Цей інструмент дозволяє згенерувати готовий код. Для цього вказуємо потрібні параметри нашого типу події. Код не повинен видавати помилок. Готовий код копіюємо, він нам знадобиться далі.
Наступний інструмент, який нам потрібен, це Facebook Graph API Explorer. Він допомагає виконувати API запити та відстежувати отриману у відповідь інформацію. Перейшли. Вибираємо останню версію API та створюємо новий Post реквест.
Далі нам знадобиться додати до рядку ID нашого Facebook пікселя/events. Знайти ID пікселя вийде у “Event Manager”, “Налаштування”.
- Додаємо до рядку ID пікселя/events.
- У "Маркер доступу" прописуємо згенерований маркер.
- Перемикаємося на JSON.
- Вставляємо раніше скопійований код тіла запиту.
Тепер потрібно відкрити розділ “Тестування подій” у “Events Manager” та скопіювати значення TEST.
Перед значенням TEST слід вказати параметр "test_event_code" і вставити після ] у тілі запиту. Виглядає це так:
Натискаємо “Відправити”, і всередині вікна з'явиться інформація про отриману подію. Це означає, що ми зробили все правильно.
Повертаємось до “Events Manager” у розділі “Тестування подій” і повинні побачити завершену обробку.
Як правильно скласти ТЗ на CAPI для розробника
Отже, ми протестували серверний запит на тестову подію, переконалися, що все працює. Тепер слід грамотно скласти наше ТЗ для розробника. Принцип буде схожим на складання ТЗ для пікселя Facebook. Нижче наведу приклад готового ТЗ для Pixel Facebook і Conversion API. На цьому етапі нам знадобиться таблиця з даними подій і параметрів, які ми виписали раніше.
№ | Етапи та події | Тригер | Місце активації тригеру | Параметри події Facebook Pixel | Параметри події під CAPI |
1 | Pageview | Всі веб-сторінки сайту | https://yoursite. com | <!-- Facebook Pixel Code --> | Event parameters: Event time Event name Event source URL Action source Event ID Opt out Customer information parameters: Email address First name Surname Phone number Postcode Client IP address – do not hash Client user agent – do not hash Browser ID (fbp) cookie – do not hash Subscription ID – do not hash Click ID (fbc) cookie – do not hash |
2 | Search | Запит у строку пошуку на сайті | Попап строки пошуку після підтвердження вводу | <script > | Event parameters: Event time Event name Event source URL Action source Event ID Opt out Search string Customer information parameters: E-mail address Name Name Surname Phone number Postcode Client IP address – do not hash Client user agent – do not hash Browser ID (fbp) cookie – do not hash Subscription ID – do not hash Click ID (fbc) cookie – do not hash |
3 | ViewContent | Спрацьовує щоразу, коли користувач заходить на картку товару | https://yoursite. com/productname | <script> fbq('track', 'ViewContent', { value: ?, currency: '?', content_ids: '?', content_name: '?', content_category: '?', content_type: '?' , eventID: '?', }); </script> | Event parameters: Content type Content IDs Event time Event name Event source URL Action source Event ID Opt out Content category Currency Value Content name Customer information parameters: Email address First name Surname Phone number Postcode Client IP address – do not hash Client user agent – do not hash Browser ID (fbp) cookie – do not hash Subscription ID – do not hash Click ID (fbc) cookie – do not hash |
4 | Contact | Всі натискання користувачем за номерами телефону, поштою на сайті | https://yoursite. com | "<script> fbq('track', 'Contact', { eventID: '?', }); </script> " | Event parameters: Event time Event name Event source URL Action source Event ID Opt out Customer information parameters: Email address First name Phone number Postcode Client IP address – do not hash Client user agent – do not hash Browser ID (fbp) cookie – do not hash Subscription ID – do not hash Click ID (fbc) cookie – do not hash |
5 | Complete Registration | Спрацьовує за успішної реєстрації користувача на сайті | https://yoursite. com/account | """<script> fbq('track', 'Registration', { eventID: '?', }); </script> """ | Event parameters: Event time Event name Event source URL Action source Event ID Customer information parameters: Email address First name Surname Phone number Postcode Client IP address – do not hash Client user agent – do not hash Browser ID (fbp) cookie – do not hash Subscription ID – do not hash Click ID (fbc) cookie – do not hash |
6 | AddToCart | Спрацьовує при кожному додаванні користувачем товару до кошика | https://yoursite. com | "<script> fbq('track', 'AddToCart', { value: ?, currency: '?', content_ids: '?', content_name: '?', content_category: '?', content_type: '?', eventID: '?', }); </script> " | Event parameters: Event ID Content type Action source Event name Event source URL Currency Value Content name Event time Content IDs Customer information parameters: Email address First name Surname Phone number Postcode Client IP address – do not hash Client user agent – do not hash Browser ID (fbp) cookie – do not hash Subscription ID – do not hash Click ID (fbc) cookie – do not hash |
7 | Initiate Chechout | Спрацьовує при переході на сторінку оформлення замовлення | https: //Yoursite. com/checkout/ | "<script> fbq('track', 'InitiateCheckout', { value: ?, currency: '?', content_ids: '?', content_name: '?', content_category: '?', content_type: ' ?', eventID: '?', }); </script> " | Event parameters: Event time Event name Event source URL Action source Event ID Content type Number of items Currency Value Content IDs Customer information parameters: Email address First name Surname Phone number Postcode Client IP-адреса – do not hash Client user agent – do not hash Browser ID (fbp) cookie – do not hash Subscription ID – do not hash Click ID (fbc) cookie – do not hash |
8 | Purchase | Спрацьовує для всіх видів покупки ( покупка через чекаут, покупка в 1 клік) | https://yoursite. com/success | "<script> fbq('track', 'Purchase', { value: ?, currency: '?', content_ids: '?', content_name: '?', content_category: '?', content_type: '? ', eventID: '?', }); </script> " | Event parameters: Content type Content IDs Event time Event name Event source URL Action source Event ID Number of items Currency Value Customer information parameters: Email address First name Surname Phone number Postcode Client IP address – do not hash Client user agent – do not hash Browser ID (fbp) cookie – do not hash Subscription ID – do not hash Click ID (fbc) cookie – do not hash |
Маркер доступу — EAANMIiifQgIBAHZBGzzqZA8WVUUM8a3PDZCXsPK2OjMhTt6NE9gpCi4tdX6yIihZAm4eiQZANuG6h NhYDrZCZCISix1tIZBpxv4EDZAz3sIB6s8eu0ZBNKPD96O6DJZAXsQUa9UTQLjIjlQWT3fpSgE4qA3IhTMvyPrOGwmtgy8GMSly0LT |
Ось у такому вигляді ми можемо передати наші умови ведення реалізації. Якщо складно самостійно перекладати параметри англійською мовою, просто змініть мову інтерфейсу в налаштуваннях Facebook сторінки. Таблицю можна доповнювати ще скринами з місцем спрацювання подій на сайті або іншою важливою інформацією.
Якщо на сайті вже реалізований Facebook Pixel та події, то в них необхідно додати параметр eventID (ID події), щоб уникнути дублювання подій.
Про дедуплікацію подій
Щоб уникнути дублювання подій, що надсилаються з браузерного пікселя Facebook та серверного Conversions API, необхідні параметри EventID та Event name. Значення eventID, яке отримується від пікселя, має співпадати зі значенням event_id, що отримується від сервера.
Дедуплікація виконується, якщо:
- Значення eventID події пікселя Facebook збігається з event_id на сервері.
- Значення event події пікселя Facebook збігається з event_name на сервері.
Якщо для пари подій виконані обидві ці умови, перша з подій зберігається, а відправлене після нього видаляється. Якщо події сервера та браузера отримані приблизно в той самий час (інтервал між ними становить не більше п'яти хвилин), перевага віддається події браузера.
Дедуплікація подій пікселя та серверних подійВисновки
- Щоб відстежувати всі конверсії, потрібно впровадити серверні конверсії API (Facebook з АPI). Це прямо впливає на оптимізатор конверсій, і, як наслідок, на ціну за конверсію та проходження етапу навчання рекламної кампанії.
- Впровадження сAPI стало особливо актуальним із апдейтом iOS 14.4+. сAPI дозволяє відслідковувати тих, хто заборонив відстеження на iOS пристроях, тих, хто користується Адблокером на пк, і ті випадки, коли веб-піксель не встиг провантажитися в js коді з якихось причин.
- Залежно від гео об’єм втрат даних може сягати від 20% до 60% на майданчику Facebook. А це означає, що ви ніколи не досягнете окупності з підходом без cAPI.