Выгружаем данные из Google Analytics для 100+ проектов одновременно — кейс агентства Netpeak
Помните, мы рассказывали о создании ВI-аналитики
В этой статье я покажу, как обойти это ограничение с помощью языка R.
Как открывать доступ к проектам
Доступ к данным Google Analytics для всех проектов можно открыть на обычный аккаунт Google или на сервисный аккаунт.
Авторизация для обычного аккаунта Google
В связи с ограничением по количеству проектов, мы сделали несколько адресов. Когда упираемся в лимит на каком-то из них, начинаем открывать доступ к новым проектам на следующий адрес.
Для авторизации в сервисах Google мы используем библиотеку google AuthR Марка Эдмондсона.
Для обычной авторизации нужно задать область доступа и авторизоваться с помощью функции gar_auth().
Главный недостаток метода — нужно при каждом запуске скрипта авторизоваться с помощью браузера. При этом токен по умолчанию кешируется в файл .httr-oauth. Такой вариант не позволяет использовать автоматический запуск с помощью «Планировщика задач».
Но есть решение. Токен, который мы получаем после авторизации, можно закешировать в файл с нужным названием. При каждом следующем запуске скрипта можем загружать токен из файла без использования браузера.
Пример записи токена в файле:
# задаем название файлаfile_name <- “ga-token”#
задаем в опциях область доступа и имя файла для кеширования токена
options(googleAuthR.scopes.selected =
c("https://www.googleapis.com/auth/analytics",
"https://www.googleapis.com/auth/analytics.readonly"),
googleAuthR.httr_oauth_cache =
file_name)# авторизируемся в GA и получаем токенga_token
<- googleAuthR::gar_auth(new_user = TRUE)
Чтение токена из файла:
auth_token <- readRDS(file_name)
[[1]]options(googleAuthR.scopes.selected =
c("https://www.googleapis.com/auth/analytics",
"https://www.googleapis.com/auth/analytics.readonly"))
googleAuthR::gar_auth(auth_token)
Так мы сохраняем токены всех наших аккаунтов и можем переключаться между ними без авторизации в браузере.
Авторизация для сервисного аккаунта Google
Создание сервисных аккаунтов описано в первом шаге руководства Google по API Google Analytics.
Вкратце:
- Создайте аккаунт.
- Скачайте json файл с секретным ключом.
- Расшарьте Google Analytics на сгенерированный email сервисного аккаунта.
Авторизация в этом случае проще. Нужно всего две строки кода:
# Формируем имя json файлаjson_file <- "file_path.json"#
Авторизация в Google Analyticsgar_auth_service(json_file =
json_file, scope = "https://www.googleapis.com/auth/analytics")
Создаем справочник проектов
У каждого аккаунта Google Analytics может быть множество ресурсов и представлений. В самом начале нужно знать, из каких представлений брать данные. В качестве примера я сделал справочник проектов в таблице Google. А у нас все проекты хранятся в ERP-системе агентства.
Для выгрузки нужен столбец с «domain» и профилем GA «ga_main_view_id».
Скрипт выгрузки данных
Скрипт для выгрузки — по ссылке. Можете скопировать его себе, указать ключ к таблице вашего справочника (пункт 1.3.), названия ваших аккаунтов Google (пункт 2.1.) и работать.
Что делает скрипт:
1. Берет из справочника в таблице Google домены проектов и нужные представления Google Analytics.
2. Выгружает все id представлений, которые расшарены на аккаунты отдела.
3. В цикле по проектам из справочника определяет, расшарен ли id представления на аккаунты отдела.
3.1. Если да, выгружает трафик за прошлый месяц для него.
3.2. Если нет, записывает в список нерасшаренных проектов.
4. Дописывает выгруженные данные в конец листа «ga_db».
5. Перезаписывает лист «Нерасшаренные» и вставляет туда список нерасшаренных проектов.
6. Сохраняет данные с трафиком в CSV-файл.
Можно выгружать любые данные и сохранять в удобном виде. Мы сохраняем в mySQL базу данных, среднесуточный органический трафик, количество транзакций, количество выполнений важных целей и так далее.
Выводы
Как выгружать данные из Google Analytics для 100+ проектов одновременно:
- Расшарить все проекты GA на отдельные аккаунты.
- Сделать справочник проектов и их представлений, чтобы знать откуда выгружать данные.
- Запустить скрипт выгрузки с откомментированным кодом для авторизации (в пункте 2.3. скрипта). Потом откомментировать его, потому что токены будут закешированы в отдельных файлах.
- Поставить скрипт на автозапуск с помощью планировщика задач.
В следующих статьях о BI-решении для SEO: какие данные важно выгружать, как их обрабатывать и хранить.
О других способах применения языка R в маркетинге
По теме
Диджитализация АТБ. Комплексный онлайн-маркетинг для лидера ритейла Украины — кейс
Рассказываем как выстроить комплексную диджитал-стратегию
Где бесплатно разместить ссылки — площадки для продвижения
Как найти релевантный сайт-донор для размещения своей ссылки
Что такое URL — как создать корректный адрес сайта
Понятные людям и роботам URL. Это уникальный набор символов, который дает возможность идентифицировать всевозможные ресурсы в интернете (страницы сайтов, файлы, изображения, видео и так далее). Чтобы узнать больше, читайте далее!
Свежее
Кейс: как увеличить показы и установки приложения на 16% за две недели
Подробно о том, как мы улучшили позиции в топе и видимость в поисковой выдаче
Как легко запомнить пароли, пин-коды, телефоны и все важное
В статье поделюсь несколькими лайфхаками, которые помогут сохранить вашу память (и нервы!) и вовремя вспоминать, наконец, пин-коды банковских карт, исторические даты и другие важные вещи
Как оптимизировать конверсии для страниц приложения в App Store и Google Play
Какие поля и параметры имеют больше значения, и как выжать из них все