NetPeak Biz Tech    


«Металл профиль» — как мы запустили кастомный коннектор для загрузки данных из API Google ***ytics в Microsoft SQL Server

«Металл профиль» — как мы запустили кастомный коннектор для загрузки данных из API Google ***ytics в Microsoft SQL Server

< >

Расскажу, как с помощью инструментов веб-аналитики мы получили расширенные данные о посещениях сайта для нашего клиента — компании «Металл профиль», производителя тонколистовых кровельных и стеновых материалов на территории России и СНГ.

Задача

Большая часть данных клиента уже собиралась в развернутом на базе Microsoft SQL Server хранилище. Наша задача — расширить эти данные на основе информации о посещениях сайта, полученной из API Google ***ytics.

То есть необходимо разработать инструмент, с помощью которого «Металл профиль» мог бы отправлять любое количество пользовательских запросов к API Google ***ytics. И не просто отправлять, а делать это с использованием любых параметров и показателей, которые возможно запрашивать в рамках одного запроса. А затем — записывать полученные данные в MS SQL.

Это решение помогает обогатить внутренние данные из базы данных заказчика (в том числе о продажах) данными из Google ***ytics о поведении пользователей сайта. В первую очередь это нужно, чтобы увидеть полноценную картину оффлайн- и онлайн-заказов.

Это только один из примеров использования коннектора. Финальный результат кастомизированной веб-аналитики зависит от конкретных пожеланий клиента и четкого технического задания.

API периодически дает сбои, поэтому дополнительно нужна проверка наличия данных за прошлый период. Для каждого запроса период проверки наличия данных важно задавать индивидуально. Также в каждом запросе индивидуально нужно уметь указывать представление Google ***ytics, из которого требуется получить данные.

Данные за текущий день необходимо обновлять раз в час. Утром необходимо обновить данные за предыдущий день и проверить наличие данных за указанный под каждый запрос период. При необходимости — загрузить данные (если они отсутствуют за какой-либо из прошедших дней).

Инструменты

Язык R в веб-аналитике и интернет-маркетинге — интервью с Алексеем Селезневым Коннектор, разработанный под решение поставленной задачи, полностью написан на языке R с использованием дополнительных пакетов:

  • google***yticsR — интерфейс для работы с API Google ***ytics;
  • odbc — подключение к Microsoft SQL Server через ODBC интерфейс;
  • jsonlite — чтение JSON-структур;
  • dplyr — манипуляция с данными.

Схема работы коннектора ga2mssql

  1. В R загружаются настройки коннектора из файла конфигурации, который содержит описание всех запросов и других требуемых настроек в JSON-структуре.
  2. По очереди каждый запрос отправляется в API Google ***ytics. Полученный результат дополнительно обpaбатывается в R.
  3. Полученные данные передаются в Microsoft SQL Server.

Настройка коннектора

В коннекторе ga2mssql нет графического пользовательского интерфейса. Для настройки и управления загрузкой с его помощью изначально необходимо внести все настройки в файл конфигурации. У файла конфигурации такая JSON-структура:

{ \"mssql_con\": { \"Driver\": \"SQL Server\", \"Server\": \"localhost\", \"Database\": \"my_database_name\", \"UID\": \"my_username\", \"PWD\": \"my_password\", \"Port\": 1433 }, \"google_***ytics_con\": { \"googleAuthR.client_id\": \"000000000000-xxxxxxxxxxxxxxxxx.apps.googleusercontent.com\", \"googleAuthR.client_secret\": \"xxxxxxxxxxxxxxxxxxxxx\", \"googleAuthR.scopes.selected\": [\"https://www.googleapis.com/auth/***ytics.edit\", \"https://www.googleapis.com/auth/***ytics\"] }, \"google_***ytics_report\": [ { \"days\": 15, \"ms_table\": \"table_1\", \"view_id\": \"ga:0000000000\", \"dimensions\": [\"ga:channelGrouping\", \"ga:day\", \"ga:date\", \"ga:region\", \"ga:country\", \"ga:medium\"], \"metrics\": [\"ga:sessions\", \"ga:bounceRate\", \"ga:hits\", \"ga:uniquePageviews\", \"ga:timeOnPage\", \"ga:totalEvents\", \"ga:uniqueEvents\", \"ga:transactions\", \"ga:itemQuantity\", \"ga:quantityAddedToCart\", \"ga:quantityRemovedFromCart\", \"ga:itemRevenue\", \"ga:totalValue\", \"ga:users\", \"ga:newUsers\", \"ga:bounces\", \"ga:sessionDuration\", \"ga:avgSessionDuration\", \"ga:transactionsPerSession\", \"ga:transactionRevenue\", \"ga:revenuePerTransaction\", \"ga:transactionRevenuePerSession\", \"ga:uniquePurchases\", \"ga:revenuePerItem\", \"ga:itemsPerPurchase\", \"ga:productAddsToCart\", \"ga:productCheckouts\", \"ga:quantityCheckedOut\", \"ga:refundAmount\", \"ga:revenuePerUser\", \"ga:totalRefunds\", \"ga:transactionsPerUser\"] }, { \"days\": 7, \"ms_table\": \"table_2\", \"view_id\": \"ga:00000000000\", \"dimensions\": [\"ga:channelGrouping\", \"ga:date\", \"ga:source\", \"ga:campaign\", \"ga:sessionDurationBucket\"], \"metrics\": [\"ga:sessions\", \"ga:bounceRate\", \"ga:hits\", \"ga:uniquePageviews\", \"ga:timeOnPage\", \"ga:totalEvents\", \"ga:uniqueEvents\", \"ga:itemQuantity\", \"ga:quantityAddedToCart\", \"ga:quantityRemovedFromCart\", \"ga:itemRevenue\", \"ga:users\", \"ga:newUsers\", \"ga:bounces\", \"ga:sessionDuration\", \"ga:avgSessionDuration\", \"ga:uniquePurchases\", \"ga:revenuePerItem\", \"ga:itemsPerPurchase\", \"ga:productAddsToCart\", \"ga:productCheckouts\", \"ga:quantityCheckedOut\"] }, { \"days\": 15, \"ms_table\": \"table_3\", \"view_id\": \"ga:000000000\", \"dimensions\": [\"ga:date\", \"ga:source\", \"ga:sessionDurationBucket\"], \"metrics\": [\"ga:pageLoadTime\", \"ga:bounceRate\", \"ga:transactions\", \"ga:users\", \"ga:transactionsPerSession\", \"ga:transactionRevenue\", \"ga:revenuePerTransaction\", \"ga:transactionRevenuePerSession\", \"ga:refundAmount\", \"ga:revenuePerUser\", \"ga:totalRefunds\", \"ga:transactionsPerUser\"] }, { \"days\": 15, \"ms_table\": \"table_4\", \"view_id\": \"ga:00000000\", \"dimensions\": [\"ga:date\"], \"metrics\": [\"ga:pageLoadTime\"] } ]}

Описание всех узлов файла конфигурации:

mssql_con — параметры подключения к Microsoft SQL Server;

  • PWD — пароль пользователя;
  • Database — имя базы данных;
  • Driver — название ODBC-драйвера (посмотреть название можно в диспетчере ODBC-источников данных) ;
  • Server — IP сервера, на котором развернут SQL Server;
  • UID — имя пользователя;
  • Port — порт подключения;

google_***ytics_con — учетные данные приложения в Google Cloud Console;

google_***ytics_report — описание запросов к API Google ***ytics (количество запросов не ограничено)

  • dimensions — параметры, запрашиваемые в запросе. Можно указывать до 7 параметров в одном запросе. При этом необходимо предварительно проверить сочетание всех параметров между собой и выбранными показателями. Для проверки используйте специальный инструмент от Google. Среди запрашиваемых параметров обязательно должен присутствовать ga:date;
  • ms_table — название таблицы, в которую будут записаны данные по запросу;
  • days — количество дней, за который необходимо проверять наличие данных в базе;
  • view_id — ID представления в Google ***ytics, из которого будут запрашиваться данные;
  • metrics — набор показателей, которые вы хотите получить из Google ***ytics. Необходимо указать как минимум одну метрику в запросе. При этом ограничения на их максимальное количество нет. Все запрашиваемые показатели должны сочетаться между собой и со всеми указанными параметрами. Проверить это можно с помощью специального инструмента от Google.

Добавлять новые запросы необходимо в узел google_***ytics_report, взяв за основу описанную выше структуру..

Состав коннектора ga2mssql

Коннектор состоит из архива файлов:

  • GA2MSSQL.bat — запускной файл коннектора для сбора и проверки данных за прошлый период;
  • GA2MSSQL_today.bat — запускной файл коннектора для сбора данных за текущий день;
  • config.json — файл конфигурации и управления коннектором;
  • package_installer.bat — файл для установки необходимых пакетов;
  • auth.rds — файл для хранения учетных данных для доступа к Google ***ytics;
  • ga2mssql_scr.R — код коннектора для загрузки и проверки наличия данных за прошлый период;
  • ga2mssql_scr.Rout — лог последнего запуска скрипта ga2mssql_scr.R;
  • ga2mssql_today_scr.R — код коннектора для загрузки и проверки наличия данных за текущий день;
  • ga2mssql_today_scr.Rout — лог последнего запуска скрипта ga2mssql_today_scr.R.

Установка и настройка расписания сбора данных через коннектор

Коннектор ga2mssql — кроссплатформенный. Он будет работать на Windows, Unix и MacOS и других операционных системах.

В нашем случае коннектор установили на Windows Server.

Для установки коннектора на Windows нужно:

  1. Язык R в интернет-маркетинге — дайджест полезных публикаций Установить язык R.

  2. Прописать в переменную окружения PATH путь к папке bin (в директорию, куда был установлен Язык R). По умолчанию для версии R 3.6.1 путь будет «C:\Program Files\R\R-3.6.1\bin».
  3. Распаковать архив с коннектором ga2mssql.zip в корень диска C. Путь к коннектору: «C:\ga2mssql».
  4. Перед настройкой коннектора запустить от имени администратора файл package_installer.bat для установки требуемых пакетов.
  5. Предоставить пользователю, указанному в файле конфигурации в узле mssql_con:UID в Microsoft SQL Server, права на запись и редактирование данных, а также на создания таблиц.

Далее в планировщике заданий Windows необходимо создать задачи:

  • ежедневный запуск файла GA2MSSQL.bat для сбора данных за прошлый период;
  • ежечасный запуск файла GA2MSSQL_today.bat для обновления данных за текущий день.

Комментарий клиента

Анастасия Чистова, ведущий менеджер-аналитик в компании «Металл профиль»

Запуск коннектора мы встроили в общее расписание заданий MSSQL с запуском ежечасно для получения актуальной информации и раз в день. На протяжении двух недель тестирования коннектор отработал без сбоев и обеспечил загрузку полного объема данных, определенных настроенным представлением. Также мы настроили дополнительные запросы данных Google ***ytics по трафику — благодаря структуре коннектора это выполнено достаточно гибко.

Выводы

Существуют готовые решения по сбору данных из API Google ***ytics в Microsoft SQL Server, но их стоимость достаточно высокая. Как правило, нужны регулярные оплаты подписки в течении всего периода использования.

Преимущества коннектора ga2mssql:

  1. Вы самостоятельно задаете расписание обновления данных.
  2. Можно задать любое количество собственных, пользовательских запросов в API Google ***ytics.
  3. Коннектор обходит ограничение в 10 показателей на 1 запрос к API.
  4. ga2mssql — кроссплатформенный, разница состоит только в настройке расписания запуска.
  5. Достаточно легко переключить коннектор ga2mssql на работу с любой другой базой данных, включая MySQL, PostgreSQL, BigQuery, ClickHouse и другие.

Хочу быстро найти клиентов онлайн



Комментарии:

Почему мы играем или не играем в игры

Почему мы играем или не играем в игры Николь Лаззаро из XEODesign провела исследование о том, почему мы играем или не играем в игры....

23 07 2026 22:26:42

Мониторинг ошибок 404 с помощью специальных отчетов в Google ***ytics

Мониторинг ошибок 404 с помощью специальных отчетов в Google ***ytics Простой способ отслеживания как внутренних, так и внешних битых ссылок. Узнать больше!...

22 07 2026 21:56:14

10 способов увеличить количество заявок с корпоративного сайта

10 способов увеличить количество заявок с корпоративного сайта Чтобы увеличить количество заявок и получить волну новых заказов, нужен комплексный подход...

21 07 2026 22:11:54

10 лучших книг о маркетинге

Это не автобиографические романы, не бесплатные учебники и не подборка книжек, чтобы скачать в epub. Это интересная топ литература о маркетинге, которую мы хотим вам посоветовать....

20 07 2026 13:50:40

Удалённая работа: как перевести сотрудников из офиса домой без потери эффективности

Удалённая работа: как перевести сотрудников из офиса домой без потери эффективности Мы рассмотрим, почему сотрудники на удалёнке стали менее эффективными и как руководить комaндой из дома, чтобы её результаты не падали....

19 07 2026 18:22:21

Праздничные рассылки: примеры триггерных рассылок к праздникам

Праздничные рассылки: примеры триггерных рассылок к праздникам Как сделать приятно подписчику в день его рождения, на Новый год и в любой другой праздник....

17 07 2026 2:42:27

Дополнительные ссылки в Google Рекламе

Быстрый инструмент для повышения CTR — дополнительные ссылки Google Рекламы...

16 07 2026 18:23:58

Синдром самозванца. Откуда берется и как с ним можно справиться

Синдром самозванца. Откуда берется и как с ним можно справиться Все успешные люди немного сомневаются в своих достижениях и рефлексируют о большом количестве ошибок. Не ок, когда сомнения затягивают и разрушают самооценку, создают постоянное напряжение. Давайте разбираться с синдромом самозванца....

15 07 2026 1:58:31

Создание простой темы для WordPress

Простые пошаговые советы о том, как самому сделать верстку шаблона Wordpress. От вас не требуется знание PHP, но хорошо если вы владеете Photoshop и CSS для создания дизайна. Узнать больше!...

14 07 2026 6:24:22

Атрибуция Facebook: для чего нужна и как настроить

Атрибуция Facebook: для чего нужна и как настроить Как отслеживать конверсии при многокaнaльном взаимодействии покупателя с вашим сайтом? Читайте далее...

13 07 2026 23:21:53

Как увеличить коэффициент конверсии до 3,53% благодаря массовым рассылкам — кейс Artbooks

Как увеличить коэффициент конверсии до 3,53% благодаря массовым рассылкам — кейс Artbooks Мы запустили email с нуля и стали получать стабильный ежемecячный доход....

12 07 2026 14:53:29

Как активизировать подписчиков по Франку Керну

Как активизировать подписчиков по Франку Керну Как превратить неактивных подписчиков в вовлеченную аудиторию....

11 07 2026 5:46:35

Как COVID-19 повлиял на результаты рекламы в Google для 21 отрасли

Выборка из 15 759 учетных записей клиентов WordStream в США по всем вертикалям, которые до размещали рекламу в поиске Google в 2020 году...

10 07 2026 1:51:55

Кейсы: как отзывы о товарах увеличили конверсию интернет-магазина на 14% и трафик на 200%

Кейсы: как отзывы о товарах увеличили конверсию интернет-магазина на 14% и трафик на 200% Наличие или отсутствие в карточках отзывов о товарах интернет магазина сказывается на продажах, а также оказывает влияние на SEO. Об этом, а также о пользе автоматизированного сбора отзывов о товарах мы расскажем в этой статье....

09 07 2026 15:52:51

Как перенести кампании в Google Рекламу и Яндекс.Директ — подробное руководство для новичков

Как перенести кампании в Google Рекламу и Яндекс.Директ — подробное руководство для новичков Не хотите настраивать объявление в Google Рекламе и Яндекс.Директ по отдельности? Узнайте, как сделать экспорт кампании и сэкономить время....

07 07 2026 4:38:49

Email-маркетинг для интернет-магазина — как настроить, чтобы получить от 7 до 15% общего дохода

Email-маркетинг для интернет-магазина — как настроить, чтобы получить от 7 до 15% общего дохода Email-маркетинг увеличивает частоту транзакций. Показываем как это происходит и за счет чего. Делимся кейсом email-маркетинга для книжного интернет-магазина. Читать дальше....

06 07 2026 9:27:41

10 SEO-требований к сайту

Советы и даже требования SEO-специалистов к разработчикам сайтов....

05 07 2026 3:17:21

Исследование о ценности доброжелательного лидерства

Исследование о ценности доброжелательного лидерства Так называемый Humankindex (доброжелательный стиль управления) способствует инновациям в компании....

04 07 2026 3:15:16

A/B тестирование в email-маркетинге: что это, типы, и топ идеи для сплит тестирования

Как понять, что именно нравится подписчикам в вашей рассылке...

03 07 2026 5:56:53

Кейс: как провести анализ конкурентов с помощью SimilarWeb

Кейс: как провести анализ конкурентов с помощью SimilarWeb Определение, исследование и проверка конкурентов в Similarweb — первый шаг перед запуском и масштабированием проекта...

02 07 2026 1:42:10

Карты знаний для ваших специалистов — IT и маркетинг

Карты знаний для ваших специалистов — IT и маркетинг Используйте и интерпретируйте карты знаний Netpeak Group, чтобы экономить свои силы и время на создании собственных карт с нуля. Узнать больше!...

01 07 2026 4:30:25

Качество связи в телефонии для продаж — как проверить и исправить

Качество связи в телефонии для продаж — как проверить и исправить Какую связь можно назвать «качественной» и как улучшить работу телефонии — советы от платформы Ringostat в новом посте....

30 06 2026 21:45:11

SEO-продвижение интернет-магазина по продаже аксессуаров для путешествий: ROMI 743%

SEO-продвижение интернет-магазина по продаже аксессуаров для путешествий: ROMI 743% Результаты грамотного внедрения технического SEO-аудита...

29 06 2026 2:43:41

20 инструментов SEO-копирайтинга — полезные программы и сервисы

20 инструментов SEO-копирайтинга — полезные программы и сервисы 20 сервисов для прокачки контента под SEO. Штуки, которые будут полезны новичкам и экспертам....

28 06 2026 2:24:23

Как выбрать сервис email-рассылок за 15 дней — кейс агентства Netpeak

Как выбрать сервис email-рассылок за 15 дней — кейс агентства Netpeak У нас на руках оказались все карты для создания собственного мини-рейтинга популярных сервисов email-рассылок....

27 06 2026 12:18:49

17 полезных кейсов от спикеров 8P

17 полезных кейсов от спикеров 8P Нашим решением было трaнcлировать хотя бы часть опыта спикеров 8P, составив дайджест лучших, на их взгляд, кейсов, о которых они узнали за этот год....

26 06 2026 1:58:30

Что такое SMM и как работает маркетинг в социальных сетях

Всё что нужно знать про SMM...

25 06 2026 3:38:41

Алгоритм LSA для поиска похожих документов

Алгоритм LSA для поиска похожих документов Наши сотрудники смогли составить разбор непростых вещей, дать им определение и рассказать о них простым языком....

24 06 2026 2:28:50

Как получить подписчиков в Telegram. Лучшие рекламные источники — кейс канала Артёма Бородатюка

Как получить подписчиков в Telegram. Лучшие рекламные источники — кейс канала Артёма Бородатюка Полтора года работы и 32 тысячи привлеченных подписчиков. Рассказываем о плюсах и минусах продвижения телеграм-канала....

23 06 2026 10:42:10

45 советов по мобильному маркетингу от Mobile Growth Experts

45 советов по мобильному маркетингу от Mobile Growth Experts Лучшие фишки продвижения мобильных приложений в адаптированном переводе отчета Branch.io...

22 06 2026 18:51:10

Где бесплатно скачать иконки для сайта (пиктограммы)

Где бесплатно скачать иконки для сайта (пиктограммы) Иконки отличаются между собой размером, формой, весом, количеством оттенков и объемом. Наиболее популярными считаются векторные пиктограммы...

21 06 2026 22:16:10

Чем отличается адвокат бренда от посла бренда?

Чем отличается адвокат бренда от посла бренда? Что такое посол бренда и чем он отличается от адвоката бренда?...

20 06 2026 18:25:20

Офлайн — новый онлайн? Зачем онлайн-бизнес открывает торговые точки

Офлайн — новый онлайн? Зачем онлайн-бизнес открывает торговые точки Как бизнес подстраивается под новые привычки покупателей в стиле фиджитал и O2O2O....

18 06 2026 14:33:44

Как работать с Excel в рекламной кампании — дайджест публикаций Алексея Селезнева

Дайджест-путеводитель по серии постов о работе с редакторами электронных таблиц для PPC-специалистов....

17 06 2026 17:27:40

Высокие ставки в Google Рекламе — почему и как их уменьшить?

Высокие ставки в Google Рекламе — почему и как их уменьшить? Как тратить на ставки меньше денег и почему вырастает цена за клик, а также о том, как ее сделать ниже. Плюс список факторов, которые влияют на ставку для первой страницы для ключевого слова...

16 06 2026 3:10:49

Контекстная реклама — что это, как выглядит, как работает.

Контекстная реклама — что это, как выглядит, как работает. Всё что нужно знать про контекстную рекламу — Как выглядит, какая бывает, сколько стоит, популярные сервисы и др....

15 06 2026 16:14:51

Отделяем мух от котлет в контент-маркетинге

Отделяем мух от котлет в контент-маркетинге Пpaктическая информация о том, что и куда нужно постить....

14 06 2026 5:15:38

Корпоративная культура Blizzard: как выглядит офис гeйм-гиганта и зачем сотрудникам дарят мечи и перстни

Как Blizzard реализует тимбилдинг, мотивирует сотрудников и превращает офис в музей...

13 06 2026 15:18:15

Почему я уволился из SEO-агентства

Почему я уволился из SEO-агентства Перед обращением за услугами продвижения задайте себе вопрос: готов ли я выделить львиную долю своего времени и сил на серьезное развитие проекта? При отрицательном ответе не стоит и начинать. И другие вопросы о SEO-продвижении...

12 06 2026 11:40:37

Цистерны и насосы — задача по теории ограничений систем Голдратта

Цистерны и насосы — задача по теории ограничений систем Голдратта Используйте методы Элияху Голдратта для оптимизации процессов в жизни и на работе...

11 06 2026 18:21:11

Кто такой контент-маркетолог и зачем он бизнесу

Кто такой контент-маркетолог и зачем он бизнесу Не путайте с контент-менеджером, пожалуйста....

10 06 2026 7:38:35

Как с помощью коллтрекинга снизить стоимость конверсии на 47% — кейс в тематике «металлопластиковые окна»

Как с помощью коллтрекинга снизить стоимость конверсии на 47% — кейс в тематике «металлопластиковые окна» Как обнаружить слабые места бизнеса и улучшить продажи с помощью технологии Call Tracking....

09 06 2026 13:26:38

Как бренды по-злому шутят в рекламе

Как бренды по-злому шутят в рекламе 5 примеров маркетингового троллинга. Сатира, ирония, пародия — все эти приемы в рекламе помогают брендам выделиться среди конкурентов. Если их правильно использовать, конечно, это отличный способ привлечь клиентов и создать запоминающийся образ бренда...

08 06 2026 18:26:18

Как вывести коммерческую страницу и домен из бана Facebook

Кейс SMM-специалиста Edu-CASH.com о том, что делать, если Facebook страница заблокирована. И почему могут забанить аккаунт даже популярного бренда. Узнайте в статье!...

07 06 2026 2:46:19

Бизнес и экология. В компании Herman Miller наняли на работу пчёл

Бизнес и экология. В компании Herman Miller наняли на работу пчёл Сортировка мусора, использование велосипедов вместо автомобилей, озеленение города... В Украине, как правило, так представляют экофрендли бизнес. Зарубежные компании идут дальше....

06 06 2026 15:14:43

Дополнительные функции Zoom

Дополнительные функции Zoom Как обойти «Зал ожидания» и другие неочевидные фишки...

05 06 2026 20:23:37

Советы от Google для бизнеса — как вести себя в период неопределенности

Рекомендации от Google для бизнеса о поведении в период распространения коронавируса....

04 06 2026 14:54:26

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::