Как автоматизировать PPC-отчетность с помощью языка R, Google Таблиц и Data Studio

Любому РРС-специалисту знакома ситуация, когда наступает время отчетов и приходится долго и скрупулезно вносить данные в таблицу. Можно, конечно, спихнуть работу на джуниора. Однако потом все равно придется лично все проверять. Кроме того, для некоторых проектов отчетность становится настолько сложной и развернутой, что работой над ней занимается уже целая комaнда.
Проект, которым занимается наша комaнда — это OLX. Несколько стран, десяток направлений деятельности (от детской одежды до недвижимости), тысячи поисковых кампаний в Google Ads и Yandex Direct, а также множество медийных активностей в Facebook. Работа с таким большим проектом требует четкого контроля и подробной отчетности.
В какой-то момент старые методы автоматизации (Supermetrics, прямой парсинг данных в Data Studio, расширения Google Ads и ***ytics для доксов) перестали справляться с объемом данных. Они не давали необходимой чистоты и уровня детализации, а затраты времени на поддержание и контроль этой системы стали стремительно расти. Кроме того, сама структура отчетности устаревала как информационно, так и визуально.
В поиске решения этой проблемы я и пришел к способу, который опишу в цикле статей — «Как автоматизировать РРС-отчетность, не используя платных решений и без глубокого погружения в программирование». Вы читаете первый пост цикла.
Важно: мой способ — не волшебная таблетка, и здесь не будет готовых решений на все случаи жизни.
Итак, что нам понадобится:
- Среда разработки RStudio (да, совсем без программирования никак).
- Google Таблицы.
- Google Data Studio.
Почему именно эти инструменты?
По порядку:
1. Язык R. У него конкретное назначение — это язык программирования для статистической обработки данных и работы с графикой. Почему не Python? Действительно, Python более универсален и с его помощью можно решать больший перечень задач. Но в нашем случае его универсальность и многозадачность скорее минус — дольше разбираться.
Кроме того, конкретно для интернет-маркетологов по R есть множество обучающих материалов от Алексея Селезнева, например, бесплатный курс по основам R, каналы R4marketing в Telegram и на YouTube, множество статей в Netpeak Journal, на GitHub и других ресурсах, а также платный курс по R для тех, кто хочет полноценно разобраться в возможностях этого инструмента для автоматизации сбора данных.
2. Google Таблицы. Во-первых — возможность интеграции с R и Data Studio, во-вторых — привычность и удобство использования. Почему не BigQuery? На старте BigQuery — достаточно сложный инструмент, к тому же платный (хотя и недорогой), и кроме того — не всем нужно работать с большими объемами данных, поэтому возможностей Spreadsheets будет достаточно.
3. Google Data Studio. Простой, удобный и бесплатный инструмент, который позволяет визуализировать и красиво оформлять данные, а также доступен онлайн, благодаря чему отчетами удобно делиться как внутри комaнды, так и с клиентами.
Какие типы задач можно решить с помощью этих инструментов?
Контроль бюджетов
Структура проекта OLX такова, что нашей комaнде из четырех специалистов необходимо контролировать несколько десятков отдельных бюджетов в разных аккаунтах и в разных валютах. При этом из-за больших объемов трафика цена ошибки очень велика. Кроме того, отдельным направлением деятельности является работа с B2B-клиентами OLX, а это, на момент написания статьи, более 70 самостоятельных мини-проектов, каждый со своими отдельными бюджетами, сроками работы и KPI.
Для контроля B2B-проектов с помощью приведенных выше инструментов мы реализовали отчет, который позволяет увидеть все необходимые данные по всем клиентам сразу или по каждому отдельно.
Кому подойдет подобное решение?
- РРС-специалистам с большим количеством проектов;
- тимлидам для контроля трат по проектам комaнды;
- комaндам больших проектов для контроля бюджетов по разным направлениям.
Стандартизированная отчетность для типовых клиентов
Если у вас множество похожих проектов, для них можно создать стандартные отчеты, в которые можно подтягивать скриптом необходимые данные, не тратя время на сбор отчетов для каждого проекта отдельно.
Для тех же B2B-проектов мы реализовали автоматическую ежедневную отчетность по основным показателям.
Кому подойдет подобное решение?
- РРС-специалистам с большим количеством проектов.
- РМ-ам для предоставления быстрой отчетности клиентам.
- тимлидам для проверки результатов по проектам комaнды.
Углубленная отчетность для крупных клиентов
При необходимости можно строить отчеты по десяткам параметров и показателей из разных источников во множестве разрезов. Такие отчеты показывают проблемы или точки роста проекта, поэтому не придется каждый раз проводить исследование, чтобы проверить ту или иную гипотезу.
Например, для OLX мы реализовали развернутый отчет, с помощью которого можно в любой момент получить необходимые данные в нужном разрезе, не тратя время на то, чтобы «добыть» их в разных аккаунтах и системах аналитики.
Разумеется, подобные отчеты необходимы больше специалистам, чем клиенту. Для новичка или не вовлеченного глубоко в проект человека они могут показаться «перегруженными».
Кому подойдет подобное решение?
- комaнде РРС-специалистов на энтерпрайз проектах для поиска проблем и точек роста;
- аналитикам на крупных проектах; специалистам со стороны клиента;
- тимлидам для проверки результатов по проектам комaнды.
Решение повторяющихся задач
Если существует необходимость достать какие-либо данные, и при этом есть вероятность, что данные придется доставать регулярно, лучше реализовать это через скрипт. При должном навыке, написание скрипта займет столько же времени, сколько и заполнение отчета вручную (а может и быстрее). Зато при повторном выполнении задачи нужно будет всего лишь запустить сохраненный скрипт.
Кому подойдет подобное решение?
- любому специалисту, который работает с данными и хочет повысить эффективность своей работы.
С чего начать?
Прежде, чем браться за новое, нужно привести текущие дела в порядок. В нашем случае это значит, что для старта следует привести к единой структуре и общему виду аккаунты, из которых будем тянуть данные.
Тезис кажется очевидным, но это далеко не во всех случаях так. Часто в больших и старых аккаунтах кампании создаются не просто разными специалистами, но и разными «поколениями» специалистов. В итоге структура одних кампаний может сильно отличаться от структуры других, а почему она именно такая, и какая логика в это закладывалась — никто уже не помнит.
Носитель знаний по кампаниям уже сменил десятую работу и состарился. Кампании осталось в текущем виде, потому-что «так исторически сложилось» и ни у кого не доходят руки всё это разгрести. Работает и работает, есть задачи и поважнее, вон срочно нужно запустить акцию.Поэтому, первым делом, необходимо прописать структуру ваших кампаний. То есть натурально взять и расписать на листе бумаги или в онлайн доксе:
- что к чему должно относится в вашем аккаунте;
- зачем всё это здесь;
- как и почему называется именно так.
Затем внимательно просмотрите ваш аккаунт. Когда пропишете структуру так, как вы её понимаете, и посмотрите, как она выглядит на самом деле, скорее всего найдете множество несоответствий, лишнего или недостающего.
Далее нужно браться за чистку «авгиевых конюшен». Если в названии кампаний или групп указывается, например, язык — везде должно быть только «ua» в нижнем регистре, а не «uk», «укр» и «UA» одновременно. Если платформа — везде desktop, каждый разделитель на своем месте, ну и так далее. У вас должна быть возможность выделить любой нужный вам сегмент. И чем меньше для этого нужно указать вариантов написания фильтров — тем лучше.
В идеале — пропишите единые правила нейминга для кампаний, покуда правила не станут для всех как «Отче наш».
Например, нейминг для групп объявлений мы реализовали так:
В процессе создания структуры кампаний, в названия сразу необходимо закладывать составляющие, по которым вы будете строить отчеты.
В идеале все кампании и группы должны попадать под фильтры «без пустого остатка».
Например, в данном примере отчета есть несколько фильтров и какую из комбинаций фильтров не задай, для нее будет свое соответствие. И наоборот, если отключить все варианты в фильтрах — не останется неучтенной кампании.
Установка языка R и среды разработки RStudio
Итак, теперь ваши аккаунты четкие, а это значит, что пришла пора «делать дела».
Начинаем с установки самого языка, так как RStudio — это оболочка R для упрощения работы с ним. Если сделать наоборот, вас всё равно заставят сначала установить R, но окольными путями и с лишними телодвижениями.
Приступим к установке R и RStudio.
- Ссылка для установки языка R. Никаких специальных настроек, просто соглашаемся со всем, что предлагает установщик.
- Ссылка для установки RStudio. Выбираем бесплатную версию RStudio Desktop.
Также соглашаемся со всеми пунктами, улыбаемся и машем.
Когда через секунды полторы вам станет больно от стандартной темы RStudio, откройте на панели инструментов «Tools» — «Global options» — «Appearance» и выберите настройки темы для себя.
Взаимодействие пользователя RStudio с рекламными аккаунтами происходит через их API посредством специальных пакетов R для этих сервисов. Авторизация осуществляется по протоколу OAuth 2.0, вместо логина и пароля используются токены.
Авторизация и доступ к API рекламных сервисов — это отдельная история. Далее я опишу, как получить возможность взаимодействовать с основными рекламными сервисами.
Установка пакета google***yticsR и авторизация
Пакет google***yticsR предназначен для работы с API Google ***ytics.
Работа с любым API начинается с авторизации.
Перед тем, как сделать свой первый запрос к API Google ***ytics, необходимо пройти несколько подготовительных шагов:
- выбрать наиболее подходящий способ авторизации;
- при необходимости создать проект в Google Cloud, если его ещё нет;
- создать ключ сервисного аккаунта или обычные учетные данные;
- если создали сервисный аккаунт, дать на его почтовый адрес доступ к нужным аккаунтам Google ***ytics;
- при необходимости создать переменные среды;
- включить API Google ***ytics.
Существуют такие способы авторизации в google***yticsR:
- со стандартными параметрами пакета;
- через собственное приложение, созданное в Google Cloud Console;
- через сервисный аккаунт.
Самый простой способ авторизации — использование комaнды ga_auth() со стандартными значениями аргументов, установленными по умолчанию. Большинство пользователей проходят авторизацию именно так, но вы можете столкнуться с лимитом 50 000 запросов к API в сутки.
Подключение API ***ytics
Также необходимо включить Google ***ytics API. Сделать это можно через библиотеку в Google Cloud Platform. Либо перейдите по прямым ссылкам и включите там:
1. Google ***ytics Reporting API.
Включенные API выглядят так:
Запуск пакета google***yticsR в RStudio и авторизация
Для установки пакета в R необходимо запустить (Ctrl+Enter) в консоли комaнду install.packages(название пакета). Эту комaнду нужно запустить один раз при установке пакета.
Для запуска пакета запустите комaнду library(название пакета):
install.packages(\"google***yticsR\") # установка библиотеки для работы с Google ***ytics
library(google***yticsR) # запуск библиотеки для работы с Google ***ytics
Для запуска авторизации в R используйте комaнду:
# Авторизация в Google ***ytics
ga_auth(email=\"youremail@gmail.com\")
Далее следуйте инструкциям RStudio.
О более продвинутых способах авторизации (через собственное приложение и через сервисный аккаунт) есть видео на канале R4marketing и статья Алексея Селезнева. Рекомендую вам самостоятельно изучить и опробовать их.
Установка пакета RAdwords и прохождение авторизации
Пакет RAdwords предназначен для работы с API Google Ads.
Прежде, чем мы начнем разбираться с пакетом для работы с Google Ads, предупреждаю, что получить доступ к его API — достаточно длительный и трудный процесс. Большую часть вопросов по Google Ads можно закрыть через парсинг данных из отчетов по Google ***ytics и по Google Ads, куда проще получить доступ.
Если же вам необходимы данные именно из Google Ads, и вы не боитесь трудностей — вперед!
Получение доступа к API Google Ads
Для доступа к API вам необходимо:
- Создать центр клиентов. Перейдите по этой ссылке и зарегистрируйте новый центр клиентов (МСС). Обратите внимание, что центр клиентов можно создать только в том аккаунте Google, к которому ещё не привязан ни один аккаунт Google Ads.
- Подать заявку на доступ к API. Перейдите в «Инструменты» (значок гаечного ключа в правом углу) — «Дополнительные инструменты» — «Центр API». Заполните все поля и примите условия использования. После создания идентификатора заполните заявку на уровень доступа.
Актуальная информация о том, как получить доступ к API Google Ads — в официальной справке.
- Далее вашу заявку рассмотрят и одобрят (но это не точно).
- Создать приложение в Google Cloud.
- войдите в управляющий аккаунт, откройте страницу «Учетные данные» в Google Developers Console и создайте новый проект;
- далее жмём кнопку «Создать учётные данные» и выбираем «Идентификатор клиента OAuth»;
- если система предложит указать название продукта, нажмите «Настроить окно запроса доступа»;
- укажите запрашиваемую информацию и нажмите «Сохранить», чтобы вернуться к экрану «Учетные данные»;
- в разделе «Тип приложения» выберите «Приложение для ПК»;
- укажите название в появившемся поле; нажмите кнопку «Создать». Появятся идентификатор и секретный ключ клиента OAuth2. Скопируйте и сохраните их. На следующем шаге их нужно будет добавить в файл конфигурации.
Запуск пакета RAdwords в RStudio и авторизация
Установка пакета:
install.packages(\"RAdwords\") # установка библиотеки для работы с Google Ads
library(RAdwords) # запуск библиотеки для работы с Google Ads
Если доступы к API получены, вы можете пройти авторизацию в RStudio:
# Авторизация в Google Ads
ads_auth <- doAuth()
# Идентификатор в Google Ads
account_id <- \"123-456-7890\"
Далее следуйте инструкциям RStudio.
Ещё раз подумайте, следует ли вам заморачиваться с заявками на доступ к API, и не хватит ли вам для ваших целей возможностей Google Аналитики.
Установка пакета rfacebookstat и прохождение авторизации
Пакет rfacebookstat предназначен для работы с API Facebook.
Авторизация через fbAuth()
Самый простой способ авторизации в rfacebookstat — через запуск комaнды fbAuth() и встроенное в пакет приложение. Предоставив необходимые разрешения пакету, вы перенаправитесь на страницу rfacebookstat на github, где сгенерируется краткосрочный токен.
Этот токен вы копируете и вставляете в консоль R для прохождения авторизации. Далее вам предложат сохранить токен, и он станет долгосрочным.
Авторизация через собственное приложение
Ещё один вариант авторизации — через создание собственного приложения в Facebook.
- Создайте приложение в веб-интерфейсе Facebook, перейдя по ссылке.
- Нажмите кнопку «Создать приложение», которая находится в правом углу.
- Выберите назначение «Управление бизнес-интеграциями».
- Заполните необходимые поля.
5. Добавьте продукты «API Marketing» и «Вход через Facebook».
6. В настройках продукта «Вход через Facebook» установите в качестве «Действительные URL» перенаправления для OAuth ссылку — https://selesnow.github.io/rfacebookstat/getToken/get_token.html.
Для авторизации через свое приложение в качестве аргументов функции fbAuth() вам понадобится информация по идентификатору и секрету созданного приложения. Найти эту информацию можно в его настройках, в меню «Основное».
Запуск пакета rfacebookstat в RStudio и авторизация
Установка пакета:
install.packages(\"rfacebookstat\") # установка библиотеки для работы с Facebook
library(rfacebookstat) # запуск библиотеки для работы с Facebook
Авторизация в RStudio через встроенное приложение:
# Авторизация в Facebook fbAuth()
Авторизация в RStudio через собственное приложение:
# Авторизация в Facebook
fbAuth(app_id = 1234567898765432,
app_secret = \"a5b02aabd4a3200346dc6f7895aebce1\")
Теперь вы сможете приступить к работе с пакетом rfacebookstat.
Установка пакета ryandexdirect и авторизация
Пакет ryandexdirect предназначен для работы с API Яндекс.Директ.
Самый простой в авторизации пакет для работы с рекламными системами — ryandexdirect (чего не скажешь про сам Директ). Не нужно никаких заявок, приложений и прочих танцев с бубном. По большому счету, даже комaнда авторизации не обязательна, так как она автоматически запускается при выполнении любой комaнды пакета.
Запуск пакета ryandexdirect в RStudio и авторизация
Установка пакета:
install.packages(\"ryandexdirect\") # установка библиотеки для работы с Яндекс.Директ
library(ryandexdirect) # запуск библиотеки для работы с Яндекс.Директ
Авторизация в RStudio:
# Авторизация в Яндекс.ДиректyadirAuth()
Далее следуйте инструкциям RStudio.
На этом заканчивается первая статья.
Заключение
Это подготовительная статья цикла постов по автоматизации РРС-отчетности. Из неё можно узнать:
- Какие типы задач можно решать с помощью данного метода автоматизации и кому он подойдет.
- Как подготовить аккаунты к автоматизации.
- Как установить язык R и среду Rstudio.
- Установка и авторизация пакетов для работы с рекламными системами.
Что будет в следующей статье:
- Примеры запросов для каждого из пакетов.
- Разбор полей и показателей запросов.
- Посмотрим документацию по API.
- Изучим способы преобразования данных.
- Дополнительные материалы для каждого из пакетов.
Комментарии:
Как узнать слабые места ваших рекламных кампаний с помощью бесплатного скрипта....
16 04 2026 9:18:10
Как сделать склейку и сохранить трафик, распространенные ошибки при склеивании. Узнать больше!...
15 04 2026 16:35:46
Информация для бизнесменов, интернет-маркетологов и всех, кто интересуется продвижением бизнеса в интернете....
14 04 2026 17:21:15
Быстрый инструмент для повышения CTR — дополнительные ссылки Google Рекламы...
13 04 2026 18:58:23
Cтоимость просмотра в Google Ads дешевле как минимум в два раза по сравнению со Smart TV...
12 04 2026 1:57:12
Кто ведет соцсети Netpeak и заказывает мерч для всего агентства...
11 04 2026 5:27:40
Как анализировать конкуренты и делать правильные выводы для развития бизнеса....
10 04 2026 3:39:10
Распределение бюджета на кампании в Google Рекламе. Обозревает Григорий Крутий....
09 04 2026 6:54:46
А ещё у нас появилась новая стратегия SEO-продвижения для ниши доставки еды и продуктов....
08 04 2026 15:58:20
Как Blizzard реализует тимбилдинг, мотивирует сотрудников и превращает офис в музей...
07 04 2026 21:36:52
Подборка для застройщиков, маркетологов и менеджеров по продажам...
06 04 2026 9:16:13
Callback от Ringostat: пример того, как увеличить конверсии с помощью формы заказа обратного звонка...
05 04 2026 13:30:16
Исправление ошибок в тексте возможно с помощью онлайн-инструментов и стационарных программ...
04 04 2026 2:45:22
Снимать скрин нужно красиво и логично, вне зависимости от того, кому вы его покажете: начальнику, другу или многотысячной аудитории блога...
03 04 2026 6:28:47
Что бывает, когда работа над продвижением сайта начинается до его выхода в паблик....
02 04 2026 1:30:38
Вместо легкой пятничной темы, представляю вольный перевод статьи автора книги «Позитивная иррациональность»....
01 04 2026 19:35:15
«Нет, нам нужна раскрутка и точка!» Список маркетинговых пpaктически применимых фишек....
31 03 2026 13:39:43
Вес страниц — один из факторов ранжирования в поисковых системах Google и Яндекс....
30 03 2026 21:46:42
Руководство для всех, кто хочет продать что-то через интернет...
29 03 2026 1:30:36
Если вы не можете улучшить свой уровень конверсий и поднять ставки, оптимизация показателя качества может быть вашим единственным выходом, чтобы сохранить высокий рейтинг без больших затрат. Статья, которая расставляет точки над «i»....
28 03 2026 12:37:29
Академия — набор структурированного контента, интеpaктивных заданий и обучающих курсов, посвященных конкретному продукту или индустрии в целом...
27 03 2026 15:47:12
Бета-версия помогает записывать действия пользователей на сайте и благодаря этому улучшать удобство использования сайта и в перспективе растить продажи. Узнать больше!...
26 03 2026 15:35:54
Новости агентства Netpeak за предыдущий квартал. Появление отдела веб-аналитики. Открыли услугу «Создание и ведение блогов». Добавили мультивалютность. Глобально изменили скрипт Netpeak X-Reference. Запустили серию писем. Что еще?...
25 03 2026 6:19:15
Как автоматизировать выгрузку данных онлайн из Яндекс.Метрики и импортировать полученную статистику для дальнейшего анализа или визуализации....
24 03 2026 16:27:44
Безопасное соединение, которое положительно оценивают не только поисковые роботы, но и пользователи. Особенно, если на сайте предстоит оставить личные данные. Читать!...
23 03 2026 18:30:16
О методах поднять и расширить трафик рассказал руководитель internet-проекта Prom.ua Иван Портной....
22 03 2026 4:28:54
Ликбез по важным понятиям, без которых нельзя начинать бизнес в интернете. Что такое домены второго и третьего уровня, чем они отличаются. Узнать больше!...
21 03 2026 21:31:57
Чтобы создавать удобные отчеты, импортируйте данные из Яндекс.Директ в Microsoft Power BI с помощью язык R...
20 03 2026 21:47:55
Как мы продвигали бизнес-страницы OLX с помощью рекламы в Facebook, TikTok и Viber....
19 03 2026 4:31:29
Небольшой набор секретов по работе с Планировщиком ключевых слов гугла...
18 03 2026 6:31:19
Ссылка с сайта с высоким тИЦ уже не считается качественной. Хороший донор вычисляется по комплексу факторов. Большую часть работы придется делать вручную. Важно найти отличный сайт, с огромным количеством интересного контента, оцененного по достоинству читателями, и гармонично туда вписать свою статью со ссылкой...
17 03 2026 3:59:10
В этом году часть пользователей предпочла вернуться к привычным покупкам в оффлайн-магазинах....
16 03 2026 23:24:51
Данные, приведенные в исследовании, помогут в составлении медиапланов по продвижению в интернете. Понимания стоимость конверсии и необходимое количество конверсий, вы можете прогнозировать, сколько денег на рекламу нужно выделить....
15 03 2026 23:57:20
Эффективность продвинутой сегментации стала заметна уже в первый месяц ее функционирования....
14 03 2026 15:57:11
Чем работа веб-студий отличается от конструкторов сайтов, как выбрать веб-студию и пять базовых понятий, которые должен знать каждый, кто решил создать сайт....
13 03 2026 4:48:43
Личный кабинет на сайте: что нового во внешнем виде, внутренностях и отчетах, функционале и юзабилити, автоматизации работы с оплатами, интернет-представительстве клиента и для специалистов. Узнайте больше!...
12 03 2026 4:16:42
Как улучшить видимость сайта после оптимизаторов-староверов — кейс в тематике «световое и звуковое оборудование»....
11 03 2026 11:32:34
Советы от Agorapulse, Smarp, Readdle, Competera, Leadfeeder, Smartly, Toggl, Grammarly, .Io Media, MacPaw, Depositphotos, Promorepuplic, OWOX, Serpstat, Quokka и TemplateMonster для развития SaaS-продуктов...
10 03 2026 6:36:46
Настройка пикселя TikTok — короткий и понятный мануал. Устанавливаем пиксель вручную: вставка кода на сайт и интеграция через Install pixel code by 3rd party tool. Читать дальше....
09 03 2026 12:59:50
Понадобится всего пару минут, чтобы создать отчет о тратах, количестве конверсий или любых других важных показателях. Понятная инструкция для PPC-специалистов и про возможности и ограничения бесплатной версии расширения. Читайте дальше!...
08 03 2026 21:48:37
Узнай, как бэкофис группы помогает развиваться компаниям, и выиграй iPhone — подбери крутое название для нашей группы....
07 03 2026 18:59:34
О возможностях нестандартного использования поисковых систем для решения важных бизнес-задач...
06 03 2026 11:54:25
Техника безопасности по безукоризненным рекламным кампаниям...
05 03 2026 3:25:45
Недавно у меня закончилась видеокампания на ютуб, по которой удалось собрать исследование Brand Lift. Хочу поделиться инсайтами...
04 03 2026 9:37:41
Забавные и полезные штуки от Google и как их найти...
03 03 2026 11:49:25
Как диагностировать Google Panda, понять, что нужно изменить на своем сайте и сделать пользователей счастливыми....
02 03 2026 1:59:52
Полем битвы стала тематика кроваток, игрушек и прочих детских товаров, основным оружием в бою — контекстная реклама....
01 03 2026 20:53:51
Базовые знания, которые нужны, чтобы ресурс понравился поисковикам и пользователям....
28 02 2026 11:29:31
Как вести успешную рекламную кампанию в Японии, не зная языка....
27 02 2026 9:50:57
Обойдемся без теории, зато покажем пример SEO-аудита...
26 02 2026 11:57:53
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::