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 и другие.

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



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

Как повысить продажи брендовых украшений на 8-е марта. Кейс Pandora

Как повысить продажи брендовых украшений на 8-е марта. Кейс Pandora Стратегия продвижения, благодаря которой удалось снизить стоимость заявки от покупателей. Рассказываем об особенностях проведения акций в нише. Узнать больше!...

14 10 2026 10:21:48

SEO-продвижение сайта eda.ua — рост органического трафика на 331,5% за шесть месяцев

SEO-продвижение сайта eda.ua — рост органического трафика на 331,5% за шесть месяцев SEO-продвижение онлайн-сервиса доставки еды с новым сайтом. Цели продвижения, составление семантического ядра, формирование URL, поддомены, карточки товаров, тексты, внешняя оптимизация, дополнительные работы, а также полученные результаты...

13 10 2026 12:36:45

Сколько заpaбатывают маркетологи — ежегодное исследование Serpstat

Сколько заpaбатывают маркетологи — ежегодное исследование Serpstat Как распредляются зарплаты по грейдам и специализации: ежегодное исследование Serpstat....

12 10 2026 13:22:20

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

Как настроить ретаргетинг в Яндекс.Директ — подробное руководство для новичков Как установить счетчик Метрики, грамотно настроить цели, сегменты и запустить рекламную кампанию по ретаргетингу в Яндекс.Директ...

11 10 2026 5:46:43

Как настроить динамические объявления в Яндекс.Директ

Объясняем по пунктам, как создать и правильно настроить DSA c таргетингом на фид и содержание сайта...

10 10 2026 19:18:59

Как настроить отслеживание событий в Google ***ytics 4

Как настроить отслеживание событий в Google ***ytics 4 Подробное руководство по настройке отслеживания событий в GA4...

09 10 2026 5:44:38

Веб-студии vs конструкторы сайтов: что выбрать для интернет-магазина?

Веб-студии vs конструкторы сайтов: что выбрать для интернет-магазина? Чем работа веб-студий отличается от конструкторов сайтов, как выбрать веб-студию и пять базовых понятий, которые должен знать каждый, кто решил создать сайт....

08 10 2026 23:18:45

Как составить контент-план на год

Как составить контент-план на год Пример того, как составить маркетинговый контент-план, анализируя успешных конкурентов...

07 10 2026 3:51:20

Ведем паблик Facebook в режиме новостного медиа. MVP-эксперимент Netpeak Journal

Ведем паблик Facebook в режиме новостного медиа. MVP-эксперимент Netpeak Journal У нас было 500 вечнозеленых постов и желание понять алгоритм ленты Facebook....

06 10 2026 14:13:29

Как пользователь идет к покупке — подробное руководство по ассоциированным конверсиям и моделям атрибуции

Как пользователь идет к покупке — подробное руководство по ассоциированным конверсиям и моделям атрибуции Зачем нужно работать с отчетами по ассоциированным конверсиям и сравнивать различные модели атрибуции?...

05 10 2026 8:21:44

Как ускорить сайт с помощью сервиса CDN — краш-тест Айри

Как ускорить сайт с помощью сервиса CDN — краш-тест Айри Как трафик CDN повлиял на систему интернет-магазина — палим кейсы...

04 10 2026 21:58:52

Xsolla — антикейс с увольнением 150 сотрудников. И при чем здесь пунктуация

Xsolla — антикейс с увольнением 150 сотрудников. И при чем здесь пунктуация Мнение Сергея Петренко, CEO компании Odesseya....

03 10 2026 22:56:32

Рекламные кампании для масштабирования бизнеса в интернете

Рекламные кампании для масштабирования бизнеса в интернете Главные вопросы при запуске и настройке любых кампаний: «чего я хочу достичь?», «помогает ли текущая кампания достичь желаемых результатов?», «влияет ли кампания на эффективность других кампаний и источников?». Узнать больше....

02 10 2026 7:48:38

10 онлайн способов улучшить контент

10 онлайн способов улучшить контент Как преодолеть онлайн писательский ступор, разобраться с рутиной и освободить время для экспериментов...

01 10 2026 12:54:21

Аналитический инструмент для сервиса заказа билетов — контролируем бюджеты сотен мероприятий в реальном времени

Аналитический инструмент для сервиса заказа билетов — контролируем бюджеты сотен мероприятий в реальном времени Как автоматизировать целый участок в работе комaнды специалистов по контекстной рекламе — кейс concert.ua...

30 09 2026 6:43:59

10 ошибок молодого бизнеса в Instagram

10 ошибок молодого бизнеса в Instagram Как не нужно делать, запуская свой профиль и таргетированную рекламу в Instagram...

29 09 2026 15:25:20

Netpeak Spider — помощник при составлении технического аудита сайта

Netpeak Spider — помощник при составлении технического аудита сайта Мы запустили еще один полезный инструмент: Netpeak Spider....

28 09 2026 14:22:37

Где лучше заказывать контент для сайта и соцсетей

Где лучше заказывать контент для сайта и соцсетей Как и где найти хорошего автора для вашего сайта: сравнение платформ копирайтинга, форматы оплаты (объем или качество), фишки по выбору фрилансера. Читать дальше!...

27 09 2026 0:32:58

Белое и черное SEO, алгоритм Google и будущее интернета — простые ответы от Артема Бородатюка

Белое и черное SEO, алгоритм Google и будущее интернета — простые ответы от Артема Бородатюка Как работают SEO-специалисты, что нужно знать о принципах работы алгоритмов Гугл, как продвигать мобильные приложения и каким образом может монетизироваться Телеграм. Узнать больше!...

26 09 2026 5:56:39

Как загрузить фото в Instagram с компьютера

В статье описан ручной и самый безопасный из существующих метод...

25 09 2026 20:54:45

Контекстная реклама недвижимости на Кипре — в 5 раз больше лидов за 3 месяца

Контекстная реклама недвижимости на Кипре — в 5 раз больше лидов за 3 месяца Почему в высококонкурентных тематиках важно оптимизировать поведенческие показатели...

24 09 2026 11:15:40

Что такое Progressive Web Apps и какие возможности они открывают для вашего бизнеса

Определение сайта нового типа. Захочет ли бизнес интернета перевести свои веб-приложения на более прогрессивные рельсы?...

23 09 2026 17:14:33

Алгоритмы соцсетей — зло. Так считает экс-президент Facebook и вот почему

Алгоритмы соцсетей — зло. Так считает экс-президент Facebook и вот почему Создатели алгоритмов соцсетей используют слабые места человеческого мозга. Случайно или намеренно, но они это делают. Как нам с этим жить?...

22 09 2026 4:47:53

Всё, что вы хотели узнать про краудфандинг, но стеснялись спросить

Всё, что вы хотели узнать про краудфандинг, но стеснялись спросить Проведение краудфандинговых кампаний — это бизнес. Это отдельный и вполне серьёзный рынок с уймой заточенных под ваши нужды услуг. Раньше нужно было ждать, пока проект пройдет обязательную проверку сотрудником Kickstarter, сейчас можно запускать кампанию...

21 09 2026 20:51:42

Действие зеркальных нейронов

Действие зеркальных нейронов зеркальные нейроны и сознание. как они влияют на наше поведение?...

20 09 2026 6:10:38

О чем снять первое видео начинающему видеоблогеру

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

19 09 2026 7:29:10

Расширения объявлений Google Рекламы — краткий обзор

Расширения объявлений Google Рекламы — краткий обзор 11 типов расширений и результат их внедрения на примере запущенных рекламных кампаний...

18 09 2026 3:34:12

Реклама в Telegram — кому она нужна. Мнение эксперта

Реклама в Telegram — кому она нужна. Мнение эксперта 160 символов — размер рекламного сообщения, 2 млн евро — минимальный бюджет для запуска. Уже интересно?...

17 09 2026 17:53:26

Импорт данных из Google ***ytics в Excel с помощью ***ytics Edge — подробное руководство

Импорт из Google ***ytics в Excel — manual по ***ytics Edge....

16 09 2026 3:18:32

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

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

15 09 2026 11:33:30

Как создать рекламную видеозаставку с помощью Bumper Machine

Как создать рекламную видеозаставку с помощью Bumper Machine Создание даже короткого ролика может стоить дорого. Поэтому можно использовать бесплатный инструмент Bumper Machine от Google....

14 09 2026 5:40:59

Онбординг-рассылка: как подружить пользователей с продуктом, чтобы они не уходили к конкурентам

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

13 09 2026 5:54:18

Сайт попал под фильтр. Так ли страшен черт, как его малюют?

Сайт попал под фильтр. Так ли страшен черт, как его малюют? Советы специалистов Netpeak: виды фильтров Google, что с этим делать и как снять ручные санкции Google....

12 09 2026 5:21:18

11 полезных сервисов для рассылки по англоязычной аудитории

11 полезных сервисов для рассылки по англоязычной аудитории Список инструментов email-маркетолога для рассылок по англоязычной аудитории....

11 09 2026 16:30:28

Обновление Яндекс.Директ Коммaндер — обзор бета-версии

Обновление Яндекс.Директ Коммaндер — обзор бета-версии В конце октября Яндекс начал открытое бета-тестирование новой версии Коммaндера. Я решила уже сейчас проверить все плюсы и минусы новой версии сервиса...

10 09 2026 21:57:21

Особенности продвижения проектов B2B и B2C

Особенности продвижения проектов B2B и B2C Сравнительная хаpaктеристика B2B и B2C. Как строятся отношения с клиентом, какой объем рынка, особенности сервиса, на чем делать акцент при создании контента. Подробнее....

09 09 2026 3:24:55

Есть идея для бизнеса. С чего стоит начать?

Есть идея для бизнеса. С чего стоит начать? Руководство к действию от основателя Netpeak Group....

08 09 2026 2:33:34

Кейс — как увеличить трафик блога юридического сайта на 50 000% с помощью SEO

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

07 09 2026 1:50:22

Как продавать часы в интернете: методы и фишки

Как продавать часы в интернете: методы и фишки Инструменты интернет-маркетинга, которые вы не используете или используете не на сто процентов....

06 09 2026 7:55:39

«Звездочки» нужны только для повышения CTR поисковой выдачи?

«Звездочки» нужны только для повышения CTR поисковой выдачи? Публикуем тему с закрытого аналитического форума Netpeak про «звездочки» как инструмент оценки релевантности контента....

05 09 2026 21:23:41

Что такое граббер сайтов и как с ним работать

Что такое граббер сайтов и как с ним работать Грабберы — программы, позволяющие автоматизировать процесс сбора и публикации контента. С помощью грабберов, помимо парсинга контента, осуществляют перевод и уникализацию текстов....

04 09 2026 14:36:31

Как я получил 39% ответов после холодной рассылки 100 самым влиятельным экспертам в мире B2B-продаж

Как я получил 39% ответов после холодной рассылки 100 самым влиятельным экспертам в мире B2B-продаж Образец рассылки от создателе Replyapp.io Олег Белозор, на которую ответили самые влиятельные эксперты в мире в2в продаж...

03 09 2026 17:56:47

Google My Business: как локальному бизнесу получать 1000+ бесплатных запросов

Google My Business: как локальному бизнесу получать 1000+ бесплатных запросов 7 советов для оптимизации вашего профиля в Google Мой Бизнес....

02 09 2026 13:24:42

Аудит мобильной версии сайта — подробное руководство

Аудит мобильной версии сайта — подробное руководство О видах мобильных версий, их плюсах и минусах, а также советы по аудиту....

01 09 2026 10:33:27

App Campaign for Engagement. Как работать с кампаниями на взаимодействие с приложением в Google Ads

Человек скачал ваше приложение, воспользовался им один раз и … забыл. Что с этим делать, читайте в Netpeak Journal....

31 08 2026 23:48:29

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

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

30 08 2026 4:56:42

Бесплатный SEO-аудит на примере AIN.ua

Обойдемся без теории, зато покажем пример SEO-аудита...

29 08 2026 22:53:36

Какой сервис автоматического продвижения выбрать

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

28 08 2026 0:11:55

Как выступить с полезным докладом: советы экспертов

Какую тактику выбрать, чтобы написать внятный доклад. Хедлайнеры интернет-маркетинговых конференций делятся опытом...

27 08 2026 1:25:16

Как собрать данные из Google Search Console и построить отчетность с помощью Python и Google BigQuery

Как сохранить статистику переходов из органики Google, а также автоматизировать отчетность: подробное руководство для технического специалиста....

26 08 2026 11:21:48

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