Загрузка данных о расходах Фейсбук в аккаунт Google Analytics
В этой статье речь пойдет о том, как импортировать свои расходы по компаниям из рекламного кабинета Facebook в аккаунт Google Analytics.
Способов реализовать данную задачу много, но мы выбрали язык R, поскольку он широко используется в анализе данных и отлично применим к задачам интернет маркетинга.
Если коротко, то наша цель создать небольшой скрипт, который позволит запрашивать данные из API Facebook и передавать их в Google Analytics.
Итак, ниже пошаговая инструкция для достижения поставленного результата:
- Создаем схему данных в Google Analytics.
- Устанавливаем R и RStudio.
- Создаем R-скрипт.
- Проверяем результат выполнения.
Создаем схему данных в Google Analytics
Для начала перейдем в нужный ресурс аккаунта Google Analytics и откроем вкладку «Импорт данных»:
В появившемся окне нажимаем на кнопку «Создать»:
Далее выбираем тип набора данных, который будем импортировать:
Придумываем понятное для него имя и указываем представления, в которые будем передавать данные:
Далее нужно определить саму схему данных:
Обратите внимание, что нужно добавить по крайней мере один столбец из списка в выделенной области:
Но никто не мешает добавить все варианты. Рекомендую включать все доступные варианты из этого списка.
Область ниже включает в себя опциональные столбцы, такие как конечный URL, ключевое слово, поисковой запрос и другие. Так как в этой статье мы будем рассматривать выгрузку стоимости только в разрезе кампании, включим только этот столбец:
В последнем шаге настройки схемы необходимо указать, как именно должны вести себя данные: суммироваться или перезаписываться. По умолчанию выбран первый вариант. Так и оставляем:
Осталось только сохранить нашу схему и мы уже готовы принимать данные!
Теперь на вкладке «Импорт данных» видим созданную нами схему:
На этом этапе можете скопировать идентификатор из столбца «Data Set ID», так как он понадобится при написании R-скрипта.
Установка R и RStudio
О том, как правильно установить R и RStudio, можно узнать, перейдя по первой ссылке соответствующего поискового запроса в Google.
Для удобства, я оставлю ссылки на официальные сайты, где можно скачать все необходимое. Напоминаю, что инструменты абсолютно бесплатны и находятся в открытом доступе для любого желающего.
Официальный сайт R — cran.r-project.org/bin/
RStudio — www.rstudio.com/products/rstudio/download/
Надеюсь, этап установки не вызовет никаких проблем.
Создание R-скрипта
Мы плавно подошли к моменту написания скрипта, который позволит выполнять задачу по загрузке данных из Facebook в Google Analytics. Структура скрипта предельно проста:
- загружаем необходимые пакеты;
- подключаем нужные библиотеки;
- проходим авторизацию в Facebook;
- проходим авторизацию в Google Analytics;
- выгружаем данные из Facebook;
- отправляем данные в Google Analytics.
Итак, нам нужно перейти в интерфейс RStudio. Запускаем программу и видим следующее окно:
Нажимаем на кнопку «File» и создаем файл типа R-script:
В этом поле будем прописывать все необходимые нам команды.
Первым делом подключим и установим необходимые пакеты и нужные библиотеки. Выполним этот фрагмент кода, выделив нужные строки и нажав на кнопку «Run»:
Теперь все необходимое для работы подключено к нашей рабочей области.
Осталось пройти этап авторизации в Facebook и Google.
Начнем нашу авторизацию с Facebook. Это нужно для того, чтобы получить токен для работы с API. В качестве значения параметра «rfacebookstat.username» нужно указать id вашего профиля в Facebook. Его можно получить, перейдя на страницу вашего профиля и выделив часть URL, как в примере:
Теперь везде, где требуется параметр «rfacebookstat.username», будет подставляться идентификатор вашего профиля.
Важно! Вы сможете получать данные только для тех рекламных аккаунтов, доступ на управление к которым имеет указанный профиль.
Выполняем выделенные строчки кода:
Нас переводит на страницу авторизации в Facebook. Здесь нужно авторизоваться под нужным профилем:
Если вы уже авторизованы, то вас сразу переведет на страницу получения токена. Эта страница располагается на Github создателя пакета rfacebookstat. Он понадобится, чтобы работать с API. Копируем выделенный токен:
Вставляем его в консоль внутри RStudio и нажимаем «Enter»:
Теперь нам предлагают сохранить долгосрочный токен в файл в нашей рабочей директории, чтобы не проходить процесс авторизации для данного профиля каждый раз, когда будет выполняться скрипт:
Рекомендую сохранять такой файл. Это упрощает процесс.
Теперь токен успешно сохранен и можно перейти к авторизации в Google Analytics. Для этого нам нужно указать адрес электронной почты, на которую выдан соответствующий доступ к ресурсу Google Analytics. Выполняем следующую строку кода:
В браузере откроется окно для входа в аккаунт Google. Выбираем нужный и даем разрешения на все перечисленные запросы:
Поздравляю, авторизация в Google Analytics успешно пройдена! В консоли можете увидеть соответствующее подтверждение:
Теперь переходим к самой интересной части — работе с данными. Для начала, вызовем функцию fbGetAccounts(), чтобы получить идентификатор нужного рекламного аккаунта. Сохраним данные в переменную my_acc.
Видим, что в нашем окружении появилась новая переменная my_accs с информацией о всех аккаунтах Facebook, к которым у нас есть доступ. Нажмите на эту переменную, чтобы увидеть ее содержимое:
В столбце account_id Вам нужно выбрать id аккаунта, для которого вы хотите сделать экспорт данных.
Далее вызываем функцию fbGetCostData():
Для параметра accounts_id задаем значение идентификатора, который мы получили на прошлом шаге. Далее следует указать диапазон дат, за которые нужно получить статистику. Следующим шагом указываем источник и канал, соответственно тем, которые находятся у вас в utm-метках.
В результате получим таблицу cost_data, которая практически приведена к нужному нам виду:
Но есть один момент, который стоит изменить перед отправкой данных в Google Analytics.
Функция fbGetCostData(), в качестве значений столбца ga:campaign, передает название кампании в интерфейсе рекламного кабинета. Тем временем Google Analytics принимает в качестве названия кампании содержимое параметра utm_campaign. Из-за этого, если вы попробуете загрузить данные, предварительно не заменив значения в столбце ga:campaign на их аналоги из параметра utm_source, то скорее всего получите какую-то несуразицу в отчете о расходах.
После того как устраните это несоответствие, останется только загрузить данные в Google Analytics. Вызываем функцию ga-custom_upload_file(). В качестве параметра accountId указываем идентификатор аккаунта Google Analytics, в параметр webPropertyId передаем идентификатор ресурса. В качестве значения параметра customDataSourceid указываем тот самый идентификатор DataSetId, который мы скопировали после создания схемы данных. И в конце указываем в качестве загружаемого объекта переменную cost_data.
Далее переходим обратно в Google Analytics, на вкладку «Импорт данных». Заходим в управление загрузками для нашей схемы:
В случае, если вы все сделали правильно, то увидите такую картину:
Полный скрипт:
# Устанавливаем нужные пакеты
install.packages("rfacebookstat")
install.packages("googleAnalyticsR")
# Подключаем нужные библиотеки
library(rfacebookstat)
library(googleAnalyticsR)
# Задаем дефолтное значение параметру rfacebookstat.username
# Вместо "11111111111111" нужно вставить идентификатор профиля Facebook
options(rfacebookstat.username = "11111111111111")
# Проходим авторизацию в Facebook и получаем токен для работы с приложением
fbAuth()
# Проходим авторизацию в Google Analytics
# В месте "your_email@gmail.com" указываем адрес электронной почты, которая имеет доступ к нужному ресурсу GA
ga_auth(email = "your_email@gmail.com")
# Получаем список аккаунтов, к которым есть доступ у указанного rfacebook.username
my_accs <- fbGetAdAccounts()
# Получаем данные по расходам в переменную cost_data
cost_data <- fbGetCostData(accounts_id = "xxxxxxxxxxxxx", #Идентификатор аккаунта, с которого нужно получить данные
date_start = "yyyy-mm-dd",
date_stop = "yyyy-mm-dd",
utm_source = "facebook",
utm_medium = "cpc")
# Передаем данные в нужный аккаунт, ресурс и выбранный набор данных
ga_custom_upload_file(accountId = "xxxxxxxxxx", # ID аккаунта в Google Analytics
webPropertyId = "UA-XXXXX", # ID ресурса Google Analytics
customDataSourceId = "yyyyyyyyyyyyyyy", # DataSetId вашего набора данных
cost_data # Таблица с данными о расходах)