Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

R - мова програмування для статистичної обробки даних і роботи з графікою, а також вільна програмне середовище обчислень з відкритим вихідним кодом в рамках проекту GNU. Користувачі щодня викладають в вільний доступ нові корисні пакети, тому бібліотека пакетів R багата і значно розширює базові можливості мови.

Я написав ряд функцій для роботи з API Facebook і їх зібрав в пакет rfacebookstat. доступний у вільному доступі на GitHub.

1. Створіть додаток в Facebook

1.1. Щоб почати роботу з API Facebook, потрібно додати новий додаток. Для цього перейдіть в ліве меню і в розділі «Розробник» виберіть команду «Управління додатками».

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

1.2. У кабінеті розробника натисніть кнопку «+ Додати новий додаток».

1.3. Далі ви потрапите в меню «Установка і настройка продукту». Натисніть на кнопку «Почати» навпроти пункту «Вхід через Facebook».

1.4. Перейдіть в налаштування програми. У вкладці «Основне» знаходиться інформація по ID і секрету додатки, яка знадобиться для роботи з API.

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

На цій вкладці також заповніть поля:

Можна вказати довільну назву додаток, а решта поля заповнити як на прикладі нижче.

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

1.5. У нижній частині вікна натисніть «Додати платформу».

Зі списку запропонованих платформ виберіть веб-сайт.

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

Якщо вам знадобиться повний доступ до API, докладна інструкція знаходиться тут.

2. Встановіть пакет rfacebookstat

Пакет rfacebookstat доступний у вільному доступі в репозиторії GitHub.

2.1. Для установки пакетів з GitHub попередньо встановіть пакет devtools за допомогою стандартної команди install.packages.

2.2. Підключіть пакет devtools і встановіть його за допомогою пакет rfacebookstat.

3. Отримайте токен для роботи з API Facebook

Для початку роботи з API Facebook залишилося отримати токен доступу. Для цього використовуйте функцію fbGetToken в пакеті rfacebookstat.

3.1. На вкладці «Налаштування» -> «Основне» отримаєте ID вашого застосування і введіть його в прикладі нижче замість 00000000000000.

3.2. Можливо, вперше отримуючи токен, ви потрапите на сторінку з попередженням, що деякі дозволу ще не схвалені для використання Facebook. Пропустіть це попередження за допомогою кнопки «Продовжити як. ».

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

Підтвердіть вхід через Facebook.

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

Вставте токен в консоль R в якості відповіді на запит «Enter your token».

Як завантажити статистику рекламних кампаній з api facebook за допомогою мови r

Отриманий токен буде діяти протягом декількох годин, але ви можете змінити його на довгостроковий токен за допомогою функції fbGetLongTimeToken.

3.4. Підставте ваш ClientID і секрет додатки, а також об'єкт, в який зберегли отриманий токена. У наведеному прикладі я створював об'єкт token.

Довгостроковий токен буде дійсний протягом двох місяців.

Ми завершили підготовчий етап і можемо перейти безпосередньо до імпорту даних.

4.1. синтаксис

4.2. аргументи функції

4.2.2. sorting - cортіровка даних. Необов'язковий аргумент. На вході приймає список полів і напрямок сортування (за зростанням або за спаданням). Приклад: reach_descending, impressions_ascending.

4.2.3. level - рівень деталізації даних. Обов'язковий аргумент. Приймає значення ad, adset, campaign, account. Приклад - level = "account".

4.2.4. fields - список полів, за якими ви плануєте отримати дані. Обов'язковий аргумент. Приклад: fields = "account_id, account_name, campaign_name, impressions, unique_impressions, clicks, unique_clicks, reach, spend".

Список доступних полів у версії API 2.8. дивіться в таблиці нижче або офіційної документації.

4.2.5. breakdowns - аргумент, за допомогою якого можна отримати дані в розбивці на різні сегменти. Можна розбивати інформацію по наступним зрізах:

  • age;
  • country;
  • gender;
  • frequency_value;
  • hourly_stats_aggregated_by_advertiser_time_zone;
  • hourly_stats_aggregated_by_audience_time_zone;
  • impression_device;
  • place_page_id;
  • placement;
  • device_platform;
  • product_id;
  • region;
  • actions;
  • publisher_platform;
  • platform_position;
  • impression_device.

В одному запиті можна комбінувати кілька зрізів. На даний момент доступні наступні комбінації:

Поля, позначені зірочкою «*», за окремим запитом разом з action_type, action_target_id і action_destination.

  • action_type *;
  • action_target_id *;
  • action_device *;
  • action_device, placement *;
  • action_device, placement, impression_device *;
  • action_device, publisher_platform *;
  • action_device, publisher_platform, impression_device *;
  • action_device, publisher_platform, platform_position *;
  • action_device, publisher_platform, platform_position, impression_device *;
  • action_reaction;
  • action_type, action_reaction;
  • age *;
  • gender *;
  • age, gender *;
  • country *;
  • region *;
  • placement *;
  • placement, impression_device *;
  • publisher_platform *;
  • publisher_platform, impression_device *;
  • publisher_platform, platform_position *;
  • publisher_platform, platform_position, impression_device *;
  • product_id *;
  • hourly_stats_aggregated_by_advertiser_time_zone *;
  • hourly_stats_aggregated_by_audience_time_zone *;
  • action_carousel_card_id / action_carousel_card_name;
  • action_carousel_card_id / action_carousel_card_name, placement;
  • action_carousel_card_id / action_carousel_card_name, placement, impression_device;
  • action_carousel_card_id / action_carousel_card_name, country;
  • action_carousel_card_id / action_carousel_card_name, age;
  • action_carousel_card_id / action_carousel_card_name, gender;
  • action_carousel_card_id / action_carousel_card_name, age, gender.

Приклад: breakdowns = "region"

4.2.6. filtering - фільтр даних. Необов'язковий аргумент. Фільтри задаються у вигляді JSON об'єктів «ключ: значення». Необхідно прописати три властивості:

  • field - поле, по якому буде здійснюватися фільтрація;
  • operator - оператор логічного значення ( 'EQUAL', 'NOT_EQUAL', 'GREATER_THAN', 'GREATER_THAN_OR_EQUAL', 'LESS_THAN', 'LESS_THAN_OR_EQUAL', 'IN_RANGE', 'NOT_IN_RANGE', 'CONTAIN', 'NOT_CONTAIN', 'IN', 'NOT_IN', 'ANY', 'ALL', 'NONE');
  • value - значення, за яким буде фільтруватися вказане поле.

4.2.7. date_start - початкова дата звітного періоду в форматі YYYY-MM-DDD.

4.2.8. date_stop - кінцева дата звітного періоду в форматі YYYY-MM-DDD.

4.2.9. api_version - версія API Facebook.

4.2.10. access_token - токен доступу.

5. Приклади використання функції fbGetMarketingStat

5.1. Перед тим як запускати описані нижче приклади, згенеруйте API-токен і збережіть його в об'єкт token.

5.3. Отримайте статистику по кількості унікальних показів і унікальних кліків, з фільтром за віковими групами «18-24», «25-34» та сортуванням даних в порядку зменшення кількості унікальних показів (поле unique_impressions).

Використовуючи API Facebook і пакет функцій на мові R rfacebookstat, ви зможете:

Привіт Олексій. Дякую за статтю. Тільки освоюю R studio.Подскажіте ласка. Як отримувати дані про переходи?

Тобто на сайті є піксель Фейсбук і в ньому вже є івенти, це все успішно відслідковується. Але я не можу зрозуміти як брати по API дані.

Ось приклад функції

CampaignStat <- fbGetMarketingStat( accounts_id = "act_00000000000",

access_token = longtime_token)
Трохи погуглити я знайшов що потрібно брати дані як то через action_type або через actions: offsite_conversion.fb_pixel_purchase

Загалом буду дуже вдячний якщо підкажете шматок коду де потрібно вставити щоб тягнути конверсії.

Добрий день, з конверсіями там складніше якщо вам треба їх розбивати по типу, тобто якщо треба цілком все конверсії отримати то просто додайте поле actions в аргумент fields.

Для того що б можна було розбити конверсії за типом через breakdowns треба допрацьовувати функцію, можливо як з'явиться трохи вільного часу я це зроблю.

Спасибі за відмінну статтю. У мене таке питання, Ads Manager пише що ctr = 7,45%, а в RStudio ctr того ж едсета дорівнює 9%. Кому вірити?