«Металл профиль» — как мы запустили кастомный коннектор для загрузки данных из API Google ***ytics в Microsoft SQL Server > NetPeak - Независимость и осознанность
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 и другие.

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



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

Как делать email-рассылку без попадания в спам и что делать, если это случилось

Как делать email-рассылку без попадания в спам и что делать, если это случилось Легче запомнить алгоритм правильной отправки писем, чем потом вытягивать их из папки со спамом....

28 09 2022 8:46:45

Netpeak Agency SEO Tool: обзор и фишки для специалистов

Netpeak Agency SEO Tool: обзор и фишки для специалистов Как расширение от Netpeak может облегчить работу над важными SEO-задачами....

27 09 2022 2:54:59

Четыре полезных оповещения в Google ***ytics

Бывают случаи, когда код Google ***ytics перестает вообще собирать статистику. Чтобы выявить сбой вовремя, обязательно настройте эти оповещения....

26 09 2022 1:22:38

Как продвигать личный бренд в Instagram в 2021?

Как продвигать личный бренд в Instagram в 2021? Как завоевать Instagram, задавая правильные цели и вопросы. Также в статье делимся табличкой лучшего времени постинга для различных тематических публикаций. Узнать больше!...

25 09 2022 5:43:51

Эффект «Хода королевы» — как выросла популярность и доход шахматных приложений

Эффект «Хода королевы» — как выросла популярность и доход шахматных приложений Сериал «Ход королевы» взорвал интерес к шахматам, и вот насколько сильно...

24 09 2022 5:54:17

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

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

23 09 2022 8:37:59

Правила видеомаркетинга для B2B, B2C-сегмента и кейс с ограниченным бюджетом на 150 тысяч просмотров

Правила видеомаркетинга для B2B, B2C-сегмента и кейс с ограниченным бюджетом на 150 тысяч просмотров Интеграция видео в маркетинговую кампанию – решение, которое повысит ценность каждого посетителя сайта....

22 09 2022 6:58:29

Зачем нужен медиаплан и как его составить?

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

21 09 2022 6:34:46

Продвижение мобильных приложений: анализируем данные в Search Console

Продвижение мобильных приложений: анализируем данные в Search Console Отслеживаем эффективность приложения в Search Console на примере OLX.KZ...

20 09 2022 6:37:20

Seznam, откройся: подробное руководство по настройке контекстной рекламы в Чехии

Seznam, откройся: подробное руководство по настройке контекстной рекламы в Чехии Seznam.cz — одна из пяти поисковых систем в мире, сумевших в отдельно взятой стране стать популярнее Google...

19 09 2022 18:50:45

Блокировка сайтов по требованию РКН: как работают хостинги — опрос

Блокировка сайтов по требованию РКН: как работают хостинги — опрос Чтобы понять, как работает Роскомнадзор, пришлось разбираться в деталях и делать опрос по топовым хостингам. Ответы и выводы читайте в статье....

18 09 2022 3:42:13

11 этапов SEO-продвижения сайта

11 этапов SEO-продвижения сайта Не знаешь как раскрутить сайт? Мы подготовили 11 этапов SEO-продвижения сайтов в поисковых системах....

17 09 2022 14:45:37

Как открыть офис в Индии и не облажаться

История Affise от фаундера компании, рассказанная на SaaS Nation....

16 09 2022 15:12:45

Настраиваем отслеживание печати страниц в Google ***ytics

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

15 09 2022 21:54:45

Microsoft Power BI в интернет-маркетинге — дайджест полезных публикаций

Microsoft Power BI в интернет-маркетинге — дайджест полезных публикаций Как связать данные, полученные из множества различных источников, и визуализировать их в виде удобных интеpaктивных отчетов...

14 09 2022 23:42:12

Как продвигаться в Instagram, если у вас B2B-бизнес

Как продвигаться в Instagram, если у вас B2B-бизнес Распространенные ошибки продвижения B2B-компаний + стратегии того, как наращивать число активных подписчиков и потенциальных клиентов....

13 09 2022 3:18:26

Как запустить рекламную кампанию Discovery Ads

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

12 09 2022 20:31:45

Не злите голодных людей — оптимизируйте сайт и рекламу с помощью специальной PPC-стратегии

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

11 09 2022 17:24:52

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

Как работать с закладками в Power BI — подробное руководство В этой статье я покажу пример визуальной работы с закладкой и пошагово разберу процесс их создания и применения для удобства визуализации данных...

10 09 2022 6:20:36

Как эффективно использовать Network в Chrome DevTools

Как эффективно использовать Network в Chrome DevTools Чем полезна вкладка Network в DevTools для SEO-специалиста...

08 09 2022 4:17:14

Кейс по email-маркетингу: как мы привлекали авторов в программу для блогеров от GetResponse

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

07 09 2022 6:22:33

Трудности перевода: как найти общий язык с зарубежными SEO-специалистами

Трудности перевода: как найти общий язык с зарубежными SEO-специалистами Профессиональная лексика SEO-специалистов в буржунете и в рунете формируется в одном поле: Google-то общий. Но когда специалисты Востока и Запада встречаются, им сложно понять друг друга. Это неудивительно, так как язык отражает само восприятие SEO. А под...

06 09 2022 15:49:50

Реклама мобильного приложения в Facebook: 10 советов по снижению стоимости трафика

Реклама мобильного приложения в Facebook: 10 советов по снижению стоимости трафика Как сэкономить на рекламе мобильных приложений в Facebook...

05 09 2022 15:21:50

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

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

04 09 2022 17:58:50

Как улучшить показатель качества в Google Ads

Как улучшить показатель качества в Google Ads Раскрываем тайны показателя качества в рекламе гугл с помощью API...

03 09 2022 6:14:12

Почему трудоголики — не герои: ломаем стереотипы с «Rework»

Почему трудоголики — не герои: ломаем стереотипы с «Rework» «Rework» — одна из самых любимых книг нетпиковцев....

02 09 2022 23:27:45

Кейс по выводу из фильтра Google Panda интернет-магазина отопительной и водоснабжающей техники: ROMI 338%

Кейс по выводу из фильтра Google Panda интернет-магазина отопительной и водоснабжающей техники: ROMI 338% Признаки того, что магазин находится под фильтром и шаги по выводу из него...

01 09 2022 19:58:47

Топ-50 самых дорогих ключевых слов Google Рекламы в Казахстане

Топ-50 самых дорогих ключевых слов Google Рекламы в Казахстане Как правильно распределить рекламный бюджет? Читайте топ-50 самых дорогих ключевых слов Google Рекламы в Казахстане по версии Serpstat...

31 08 2022 16:38:58

Как быстро найти ошибки SEO-оптимизации с помощью Netpeak Spider

Как быстро найти ошибки SEO-оптимизации с помощью Netpeak Spider Сохраняем время и ресурсы для проверки типичных задач и тратим его на реализацию креативных идей по оптимизации сайта....

30 08 2022 7:33:23

Карантин 2020 — как сохранить здоровую психику

Карантин 2020 — как сохранить здоровую психику Самопомощь по тревоге во время карантина и экономического кризиса...

29 08 2022 4:28:57

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

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

28 08 2022 1:40:28

Шесть принципов виральности, или Как работает вирусный маркетинг

Шесть принципов виральности, или Как работает вирусный маркетинг Автор книги о вирусном маркетинге «Заразительный. Психология сарафанного радио» Йона Бергер пришел к выводу, что у виральности всего шесть принципов....

27 08 2022 7:38:13

Двенадцать фишек для онлайн-бизнеса — круглый стол 8P 2016

Двенадцать фишек для онлайн-бизнеса — круглый стол 8P 2016 2013, 2014, 2015 — годы, когда конференция 8p радовала все сео-сообщество СНГ. Прошла она и в 2016 году. Мы собрали лучшие советы интернет-магазинам от экспертов и участников круглого стола на конференции 8P 2016....

26 08 2022 14:10:47

История успеха компании Innocent drinks

История успеха компании Innocent drinks В основе каждой великой компании – хорошо рассказанная история....

24 08 2022 12:21:45

Google BigQuery — зачем нужна облачная база данных

Google BigQuery — зачем нужна облачная база данных Как бесплатно пользоваться преимуществами, особенностями и дополнительными инструментами сервиса...

23 08 2022 19:30:12

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

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

22 08 2022 4:49:19

Какими должны быть креативы для Facebook, Instagram, Stories: требования, советы, примеры.

Плейсменты, требования, запоминаемость...

21 08 2022 10:23:38

Дополнение Google ***ytics для Google Taблиц — подробное руководство

Стартовый урок о том, как настроить визуализацию данных из Google ***ytics с помощью Google Spreadsheets...

20 08 2022 13:53:44

Core Web Vitals: что это такое и как работает

Core Web Vitals: что это такое и как работает В мае прошлого года Google анонсировал выход нового Core Web Vitals. Что это и как будет работать рассмотрим в статье...

19 08 2022 1:39:48

Кто такой аккаунт-менеджер Netpeak

Кто такой аккаунт-менеджер Netpeak Аккаунт менеджеры это... Быть лицом компании, проводником между заказчиком и комaндой агентства, ментором для коллег и суперменом, готовым прийти на помощь клиенту в любой час дня и ночи… Эти задачи по плечу аккаунт-менеджерам Netpeak...

18 08 2022 12:25:46

Продвинутый подход к работе с аудиториями Facebook

Продвинутый подход к работе с аудиториями Facebook В основе продвижения любых продуктов фигурирует ЦА и её потребности. Рассказываем, как с ней работать в разрезе Инстаграм и Facebook так, чтобы РК давала максимальный профит...

17 08 2022 5:48:12

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

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

16 08 2022 12:55:40

Переход на удаленку и положительные тенденции на рынке ecommerce — опыт IT-компании Хорошоп

Переход на удаленку и положительные тенденции на рынке ecommerce — опыт IT-компании Хорошоп О тенденциях на рынке ecommerce и переходе Хорошоп на удалёнку....

15 08 2022 20:23:24

Что слушать за работой — подборка музыки

Что слушать за работой — подборка музыки Под какие треки работают интернет-маркетологи, копирайтеры и другие специалисты digital-рынка....

14 08 2022 6:25:18

Сколько стоил клик в Google Ads в четвертом квартале 2016 — исследование Netpeak

Сколько стоил клик в Google Ads в четвертом квартале 2016 — исследование Netpeak Алексей Селезнев проанализировал 29 млн кликов, и в этой статье вы прочитаете, как дорого обходятся рекламодателям клики в Google Ads....

13 08 2022 18:55:42

11 функций Google Таблиц в помощь SEO-специалистам

11 функций Google Таблиц в помощь SEO-специалистам Нужно разбить ячейку или составить график? Если вы знаете функции, таблицы гугл могут пpaктически заменить отдельные сервисы или дополнения...

12 08 2022 11:23:10

Как с помощью разнообразия контент-плана увеличить доход от рассылок — кейс fatline.com.ua

Как с помощью разнообразия контент-плана увеличить доход от рассылок — кейс fatline.com.ua Новые триггеры, разнообразие рассылок и обновленная форма подписки дали нужный результат....

11 08 2022 23:45:21

Блокчейн, революция контент-маркетинга и cмepть автора

Блокчейн, революция контент-маркетинга и cмepть автора Контент-революция: искусственный интеллект для уникальных текстов с достоверной информацией и контент-платформы на блокчейне для сохранения авторского права. Читайте больше в статье!...

10 08 2022 3:38:41

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