Увеличение количества трафика на вашем сайте увеличивает вероятность того, что Google Analytics начнет экономить ресурсы и ваше время, чтобы выгрузить отчеты в своем интерфейсе. А это приводит к семплированию данных.
Что такое семплинг?
Для того, чтобы отображать статистику в отчетах при большом количестве хитов на вашем сайте, Google Analytics вместо всего объема данных берет только их часть.
Встречали такое?
Это значит, что Google Analytics взял только 10,21% от каждого дня в диапазоне дат, который вы выбрали и на основании этой выборки построил отчет так, будто 100% событий имеют такую же характеристику, как и 10,21% реальных данных. Проще говоря, GA домножил эту выборку на 10, чтобы получить 100%. А как же учесть 90% оставшихся данных?
Выгрузка по дням с помощью R
Семплинг появляется, если в выгружаемом отчете за период:
- Более 500 000 сеансов пользователей на уровне ресурса;
- Более 1 000 000 уникальных строк.
Логично, что нужно уменьшать выгружаемый период, чтобы сократить, например, количество сеансов в отчете, поэтому из Google Analytics можно выгрузить данные по дням с помощью R. Итак, что для этого нужно:
- Установите классический R.
- Установите RStudio. Это всего лишь удобная красивая графическая оболочка к R. Суровые брутальные программисты могут вполне обойтись и без нее. 🙂 Если вдруг вы столкнулись с проблемами при установке, посмотрите это видео.
- Далее подключаем и запускаем пакет RGA.
install.packages("RGA") library("RGA")
- Теперь нужно пройти процесс аутентификации, для этого заходим под своей учетной записью в Google Cloud Platform. Затем выбираем вкладку API и сервисы -> Библиотека.
В поиске ищем Analytics API и подключаем этот блок.
- Переходим во вкладку Учетные данные. Создаем Новые учетные данные -> Идентификатор клиента OAuth -> Другие типы.
Вбиваем название идентификатора и получаем всплывающее окно с идентификатором и секретом клиента.
- Используем их в коде.
ga_token <- authorize(client.id = "96326888811-ga6hnjhna4iejbtdv1beb6q2iag4k74m.apps.googleusercontent.com", client.secret = "yCoCCXLL67EO55689ZjF3c_nTi")
- А теперь привязываемся к представлению в Google Analytics, из которого будем выгружать данные и формируем запрос. Запрос формируем из метрик и показателей, которые указаны здесь.
# представление ID <- "170396756" # временной отрезок date.start <- "2018-03-25" date.end <- "2018-04-02" dates <- seq(as.Date(date.start), as.Date(date.end), by = "days") # выгрузка без семплирования данных sum.data <- do.call(rbind, lapply(dates, function(d) { print(d) get_ga(profileId = ID, start.date = d, end.date = d, dimensions = "ga:date", metrics = "ga:sessions, ga:users, ga:bounces, ga:transactions, ga:transactionRevenue") }))
- И последнее, сохраняем нашу выгрузку в csv-файл.
write.csv(sum.data, file = "D:/Выгрузка_данных_без_семплинга.csv")
Обратите внимание, что слеши прописываются в обратную сторону.
Дополнение
Не забывайте, что выгрузка идет по дням, поэтому вычисляемые показатели (показатель отказов, % выходов и т.д.) выгружать таким способом нельзя. Вы можете выгрузить отдельно необходимые показатели для их расчета и вычислить их сами за нужный вам период.