Выгружаем данные из 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 в маркетинге
По теме
Шесть способов проверить индексацию сайта или страницы
Быстрая индексация: как оперативно узнать, попала ли важная для вас страница в поисковую систему.
11 этапов SEO-продвижения сайта
Не знаешь как раскрутить сайт? Мы подготовили 11 этапов SEO-продвижения сайтов в поисковых системах.
Как делать outreach. Взгляд изнутри на работу завода по производству ссылок
Кратко об аутрич-продвижении? Размещайте полезный контент с ссылками на ваш сайт на качественных ресурсах. Хотите подробности — читайте новую статью.
Свежее
История успеха приложения OkTalk: рост количества загрузок на рынке США и Франции
Мы получили увеличение установок в США на 130% и во Франции на 700%
Оптимизация страниц пагинации интернет-магазина — подробная инструкция
Как правильно оптимизировать страницы пагинации, чтобы не допустить проседание целевого трафика
Больше чем созвоны. Что такое услуга CMO on demand
Почти год назад сооснователь Netpeak Андрей Чумаченко начал разрабатывать новую услугу CMO on demand. Прочитайте, как это работает.