Выгружаем данные из 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 в маркетинге
Свежее
Обзор изменений в GA4: различие между ключевыми событиями (Key events) и конверсиями (Conversions)
Увидели оповещение в GA4 об изменении в конверсиях? Давайте разбираться что именно изменилось и как это повлияет на вашу аналитику
Как добиться роста органического трафика на 195% за полгода в высококонкурентной нише — кейс BAYADERA
Показываем на практике как повысить видимость сайта и небрендовый органический трафик
Кто такой конечный пользователь, и Почему он важен
Он нужен не только для настройки рекламы, но и при разработке продукта или услуги. Разбираемся, кто он такой и как его найти