NetPeak Biz Tech    


Как загрузить данные из API Google ***ytics в R: часть 2

Как загрузить данные из API Google ***ytics в R: часть 2

< >

Как получить данные из Google ***ytics в R и загрузить в Power BI Несколько лет назад я уже рассказывал о том как работать с API Google ***ytics на языке R с помощью пакета RGA. Пакет RGA всем хорош, но он работает только с Google ***ytics Core Reporting API v3, а уже давно вышла четвертая версия, у которой функционал намного шире.

Мы рассмотрим пакет google***yticsR, написанный Марком Эдмондсом. Марк ведет личный блог и сайт с документацией к пакету, о котором пойдет речь.

В этой статье много примеров кода взято с официального сайта пакета google***yticsR.

Какие дополнительные функции есть в google***yticsR

Самые интересные функции пакета google***yticsR:

  • автоматическая авторизация с помощью переменных среды;
  • User Activity API, который дает вам возможность запрашивать сырые данные;
  • расширенные возможности по сегментации данных;
  • управление пользователями Google ***ytics;
  • продвинутая технология обхода семплирования;
  • когортный анализ;
  • возможность сравнивать данные за два указанных периода;
  • пакетная отправка запросов;
  • вычисляемые показатели.

Перед тем, как сделать свой первый запрос к API Google ***ytics, необходимо пройти несколько подготовительных шагов.

  1. Выбрать наиболее подходящий способ авторизации.
  2. При необходимости создать проект в Google Cloud, если его у вас до сих пор нет.
  3. Создать ключ сервисного аккаунта или обычные учетные данные.
  4. Если создали сервисный аккаунт, дать на его почтовый адрес доступ к нужным аккаунтам Google ***ytics.
  5. При необходимости создать переменные среды.
  6. Включить API Google ***ytics.

В каждом из этих этапов есть свои нюансы, поэтому рассмотрим блоки подробно.

Авторизация

Работа с любым API начинается с авторизации. В google***yticsR существуют такие способы:

  1. Авторизация со стандартными параметрами пакета.
  2. Авторизация через собственное приложение, созданное в Google Cloud Console.
  3. Авторизация через сервисный аккаунт.

1. Авторизация через стандартные параметры

Самый простой способ прохождения авторизации — использование ga_auth() со стандартными значениями аргументов, которые установлены по умолчанию.

Пакет google***yticsR довольно активно используется, и большинство пользователей проходят авторизацию таким способом. В связи с этим вы можете столкнуться с лимитом 50000 запросов к API из одного приложения в сутки.

Поэтому я рекомендую использовать один из двух описанных ниже способов авторизации.

2. Авторизация через собственное приложение

Для авторизации через свое приложение необходимо зайти в Google Cloud Console и зарегистрировать его.

  1. Если у вас на данный момент не создан ни один проект, создаем его, нажав “+”.
  2. Переходим в «Основное меню» > «API и сервисы» > «Учетные данные».
  3. «Создать учетные данные» > «Идентификатор клиента OAuth».
  4. Вводим название.
  5. Далее будет сгенерирован id и secret вашего приложения, и для дальнейшей работы вам необходимо скачать JSON файл со сгенерированными данными.

После того, как вы создали приложение и скачали в JSON формате учетные данные, можете использовать его для авторизации:

ga_auth(token = \"D:/ga_auth/ga.json\", email = \"yourmail@gmail.com\")

В представленном выше коде вам необходимо изменить путь к скачанному JSON файлу и указать свою почту, под которой есть доступ к нужным аккаунтам Google ***ytics. Далее в браузере подтверждаете разрешение на доступ к данным.

Автоматическая авторизация через свое приложение

Теперь вы можете настроить автоматическую авторизацию, сделать это можно несколькими способами.

Первый заключается в установке переменных окружения с помощью R функции Sys.setenv. Важно прописать переменные до подключения пакета:

Sys.setenv(GAR_CLIENT_JSON = \"D:/ga_auth/ga.json\") Sys.setenv(GARGLE_EMAIL = \"yourmail@gmail.com\") library(google***yticsR)

Если вы сделали все верно, то при подключении пакета в консоли вы увидите сообщение про автоаутентификацию:

Setting your own client.id 2019-09-05 13:02:20> Setting client.id from gar_auth_configure(path = json) Successfully auto-authenticated via yourusername@gmail.com

Второй способ — прописать эти переменные в файл .Renviron. Этот файл считывается при старте каждой R сессии, и позволяет вам задавать необходимые переменные окружения. Находится этот файл в домашнем каталоге языка R, посмотреть расположение домашнего каталога можно с помощью комaнды path.expand(\"~\").

[1] \"C:/Users/Alsey/Documents\"

Если такой файл у вас есть, то изначально он, скорее всего, будет пустой, но даже если это не так, просто добавьте в него две строки. Если файла вообще нет, создайте обычный текстовый файл, впишите в него указанные две строки и переименуйте в .Renviron:

GAR_CLIENT_JSON=\"D:/ga_auth/ga.json\" GARGLE_EMAIL=\"yourusername@gmail.com\"

И последний способ, если вы работаете на Windows — создайте две переменные окружения: GAR_CLIENT_JSON, GARGLE_EMAIL.

Для Windows 10 и Windows 8

  1. В строке «Поиск» выполните поиск: «Система (Панель управления)».
  2. Нажмите на ссылку «Дополнительные параметры системы».
  3. Нажмите «Переменные среды».
  4. В разделе «Переменные среды» нажмите «Создать».
  5. По очереди создайте две переменные.

В случае использования второго и третьего метода установки опций вы будете автоматически авторизованы в Google ***ytics при подключении пакета google***yticsR.

3. Авторизация с помощью сервисного аккаунта

Третий способ авторизации позволяет вам использовать сервисный аккаунт. Для начала необходимо создать сервисный аккаунт, перейдите в Google Cloud Platform и заполните название и описание сервисного аккаунта.

Права доступа для сервисного аккаунта мы будем задавать позже, через веб-интерфейс Google ***ytics, поэтому на следующем шаге просто жмем «Продолжить».

Создаем JSON ключ:

Скачиваем JSON и нажимаем «Готово».

Открываем только что созданный ключ и копируем почту:

Заходим в Google ***ytics и расшариваем доступ к нужным аккаунтам, ресурсам и представлениям на этот электронный адрес.

Далее проходим авторизацию с помощью функции googleAuthR::gar_auth_service, передав в аргумент json_file путь к json файлу с учетными данными.

ga_auth(json_file = \"D:/ga_auth/service.json\") 

Также вы можете настроить автоматическую авторизацию через сервисный аккаунт, создав переменную среды GA_AUTH_FILE и передав в нее путь к скачанному JSON файлу.

Включаем Google ***ytics API

Последний подготовительный шаг — включить в вашем проекте API сервисы Google ***ytics.

Сделать это можно через библиотеку в Google Cloud Platform. Либо перейдите по прямым ссылкам и включите:

Включенные API выглядят так:

На этом все подготовительные работы закончились и можно сделать первый запрос к API Google ***ytics.

Metadata API

Метадата API — самый простой программный интерфейс в Google ***ytics, который предназначен для запроса списка возможных полей.

В google***yticsR для этого API существует две функции, при этом они не требуют передачи каких либо дополнительных аргументов:

  • google_***ytics_meta() — таблица метрик и параметров, с описанием;
  • allowed_metric_dim() — получить вектор с имена всех возможных полей.

Management API

В статье, о которой я говорил в начале поста, я подробно описывал API интерфейсы, поэтому не буду дублировать эту информацию.

Загрузка объектов из иерархии Google ***ytics

  • ga_account_list() — загрузка информации по всем доступным вам аккаунтам, ресурсам и представлениям;
  • ga_accounts() — получить список доступных вам аккаунтов;
  • ga_webproperty_list() — получить список всех ресурсов из одного аккаунта;
  • ga_webproperty() — получить метаданные по одному ресурсу;
  • ga_view_list() — получить список представлений из конкретного ресурса;
  • ga_view() — получить метаданные по одному конкретному представлению.

То есть все перечисленные функции позволяют загрузить различные объекты и метаданные из иерархии Google ***ytics. При этом функция ga_account_list() запрашивает всю иерархию объектов для конкретного пользователя.

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

Все перечисленные функции, кроме ga_account_list(), в зависимости от места в иерархии требуют использования одного или более аргументов:

  • accountId — идентификатор аккаунта;
  • webPropertyId — идентификатор ресурса в формате UA-XXXXX-X;
  • profileId — идентификатор представления.

Идентификация пользователя задается при авторизации, поэтому в функциях указывать логин пользователя не нужно.

Управление пользователями

Пакет googleAnayticsR так же позволяет вам управлять пользователями. Ниже приведен список функций:

  • ga_users_list() — загрузка списка пользователей у которых есть доступ к аккаунту, ресурсу или представлению;
  • ga_users_delete() — удаление доступа для конкретного пользователя;
  • ga_users_delete_linkid() —удаление доступа по LinkID;
  • ga_users_add() — предоставить доступ пользователю;
  • ga_users_update() — редактирование прав доступа определённого пользователя.

Пример кода:

# добавление пользователя ga_users_add(email = c(\"newuser@gmail.com\"), permissions = \"EDIT\", accountId = 12345) # добавляем прав пользователю # список изменений o <- list(permissions = list(local = list(\"MANAGE_USERS\"))) # расширяем права пользователю ga_users_update(\"UA-1112233-1:1234567890123456789\", update_object = o, accountId = 12345, webPropertyId = \"UA-1112233-1\") # удаляем доступ для пользователя ga_users_delete(\"newuser@gmail.com\", accountId = 12345)

LinkId можно получить из таблицы с помощью функции ga_users_list().

В Google ***ytics существуют уровни доступа для пользователей:

  • MANAGE_USERS — позволяет выполнять запросы на запись к API разрешений пользователей;
  • EDIT — позволяет изменять ресурсы управления данными;
  • COLLABORATE — позволяет создавать, изменять и удалять объекты, а также предоставлять доступ к ним;
  • READ_AND_***YZE — позволяет просматривать и использовать отчёты.

Подробнее о каждом можно узнать в Google Справке.

Другие полезные функции для работы с Management API

  • ga_filter_list() — cписок фильтров;
  • ga_experiment_list() — cписок экспериментов;
  • ga_goal_list() — cписок целей;
  • ga_remarketing_list() — cписок ремаркетинговых аудиторий;
  • ga_segment_list() — cписок сегментов.

Google ***ytics Reporting API v4

Reporting API — это основный API, предназначенный для загрузки статистики из Google ***ytics программным путем.

Основная функция для запроса отчетов — google_***ytics. У нее такой набор аргументов:

  • viewId — ID представления Google ***ytics, из которого необходимо экспортировать данные;
  • date_range — отчетный период, задается в формате вектора дат из двух или четырех элементов. Например c (start, end), или c (start1,end1,start2,end2). Даты необходимо указывать в формате «ГГГГ-ММ-ДД»;
  • metrics — список показателей, которые вам необходимо запросить из API;
  • dimensions — список параметров, которые вам необходимо запросить из API;
  • dim_filters, met_filters — аргументы предназначенные для фильтрации данных, о них более подробно будет написано ниже;
  • order — сортировка данных, так же будет рассмотрена более подробно;
  • segments — применение к данным сегментов;
  • pivots — позволяет изменять форму возвращаемых данных;
  • cohorts — запрос данных по когортам;
  • max — максимальное количество строк в запросе, для того, чтобы получить все строки укажите -1;
  • samplingLevel — уровень семплирования;
  • metricFormat — тип данных в возвращаемых метриках;
  • anti_sample — включение механизма обхода семплинга данных;
  • anti_sample_batches — алгоритм обхода семплинга, можно указать auto, или указать количество дней, по которым будет происходить разбивка подзапросов;
  • slow_fetch — механизм замедления отправки запросов, при больших запросах помогает избежать 500-й ошибки;
  • rows_per_call — управляет количеством строк, запрашиваемым за один запрос, не более 100000.

Простой вызов функции будет выглядеть так:

google_***ytics(ga_id, date_range = c(\"2020-01-01\", \"2020-01-10\"), metrics = \"sessions\", dimensions = \"date\")

Вместо ga_id подставьте идентификатор представления, из которого хотите получить данные. Такой запрос вернет вам количество сеансов в разрезе дней с 1 по 10 января 2020 года.

Полный список всех параметров и показателей можно найти в Dimensions & Metrics Explorer, либо запросить с помощью функций, рассмотренных ранее в разделе про Metadata API. Работу с некоторыми аргументами стоит рассмотреть более подробно.

date_range — сравниваем данные за разные периоды

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

google_***ytics(ga_id, date_range = c(\"16daysAgo\", \"9daysAgo\", \"8daysAgo\", \"yesterday\"), dimensions = \"source\", metrics = \"sessions\")

Приведенный выше код сравнит количество сессий по источникам за 7 предыдущих дней с 7 днями, которые были до них.

delta_sess <- order_type(\"sessions\",\"DESCENDING\", \"DELTA\") google_***ytics(ga_id, date_range = c(\"16daysAgo\", \"9daysAgo\", \"8daysAgo\", \"yesterday\"), dimensions = \"source\", metrics = \"sessions\", order = delta_sess)

Также можно отсортировать полученный результат в порядке убывания или возрастания дельты по указанному показателю с помощью функции order_type(). То есть получить рейтинг источников, по которым был максимальный рост или падение трафика.

Фильтрация данных

Для тех, кто привык работать с Core Reporting API v3, можно использовать аргумент filtersехpression.

Но так как google***yticsR работает с более новой версией Core Reporting API v4, рекомендую использовать другой подход.

Для фильтрации данных служит целый набор дополнительных функций:

  • met_filter — создает объект фильтрации для показателей;
  • dim_filter — создает объект фильтрации для параметров;
  • filter_clause_ga4 — конвертирует объекты фильтрации в формат для API v4 и позволяет задать логическую И / ИЛИ связь, если вы одновременно применяете несколько фильтров.

При использовании функции filter_clause_ga4 объекты фильтрации необходимо обвернуть в функцию list.

И аргументы dim_filters и dim_filters.Пример для одного условия фильтрации:

campaign_filter <- dim_filter(dimension=\"campaign\",operator=\"REGEXP\",expressions=\"welcome\") my_filter_clause <- filter_clause_ga4(list(campaign_filter)) data_fetch <- google_***ytics( ga_id,date_range = c(\"2016-01-01\",\"2016-12-31\"), metrics = c(\"itemRevenue\",\"itemQuantity\"), dimensions = c(\"campaign\",\"transactionId\",\"dateHour\"), dim_filters = my_filter_clause) 

Пример применения одновременно нескольких фильтров с указанием логической связи:

mf <- met_filter(\"bounces\", \"GREATER_THAN\", 0) mf2 <- met_filter(\"sessions\", \"GREATER\", 2) df <- dim_filter(\"source\",\"BEGINS_WITH\",\"1\",not = TRUE) df2 <- dim_filter(\"source\",\"BEGINS_WITH\",\"a\",not = TRUE) fc2 <- filter_clause_ga4(list(df, df2), operator = \"AND\") fc <- filter_clause_ga4(list(mf, mf2), operator = \"AND\") ga_data1 <- google_***ytics( ga_id, date_range = c(\"2019-07-30\",\"2019-10-01\"), dimensions=c(\\\'source\\\',\\\'medium\\\'), metrics = c(\\\'sessions\\\',\\\'bounces\\\'), met_filters = fc, dim_filters = fc2)

Вычисляемые показатели

Вы можете вычислять собственные показатели на лету с помощью функции вычисляемых показателей. По смыслу они похожи на вычисляемые показатели в интерфейсе Google ***ytics.

my_custom_metric <- c(visitPerVisitor = \"ga:visits/ga:visitors\") ga_data4 <- google_***ytics(ga_id, date_range = c(\"2019-07-30\", \"2019-10-01\"), dimensions=c(\\\'medium\\\'), metrics = c(my_custom_metric, \\\'bounces\\\'), metricFormat = c(\"FLOAT\",\"INTEGER\"))

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

Аргумент metricFormat позволяет указать для каждой метрики тип данных из поддерживаемых:

  • METRIC_TYPE_UNSPECIFIED — тип показателя не задан;
  • INTEGER — целочисленное значение;
  • FLOAT — число с плавающей точкой;
  • CURRENCY — валюта;
  • PERCENT — проценты;
  • TIME — время в формате ЧЧ:ММ:СС.

Более подробно о каждом типе можно узнать в официальной справке Google ***ytics.

Сегменты

Вы можете использовать устаревший способ обращения к сегментам, позаимствованный из API v3.

segment_def_for_call <- \"sessions::condition::ga:medium=~^(cpc|ppc|cpa|cpm|cpv|cpp)$\" seg_obj <- segment_ga4(\"PaidTraffic\", segment_id = segment_def_for_call) segmented_ga1 <- google_***ytics(ga_id, c(\"2019-07-30\",\"2019-10-01\"), dimensions=c(\\\'source\\\',\\\'medium\\\',\\\'segment\\\'), segments = seg_obj, metrics = c(\\\'sessions\\\',\\\'bounces\\\') )

Но сегменты в API v4 более функциональные, хоть и значительно сложнее.

Для создания сегмента в API v4 следуйте иерархии функций:

  1. segment_element — позволяет задать условия фильтрации (по какой метрике или измерению вы будете определять сегмент). Далее полученный объект необходимо передать либо в функцию segment_vector_simple() либо в segment_vector_sequence() ;
  2. segment_vector_simple() и segment_vector_sequence() — позволяют определить, является ли ваш сегмент последовательностью или нет;
  3. segment_define() — задает логическую последовательность в сегменте;
  4. segment_ga4() — позволяет задать уровень действия сегмента, то есть пользователь или сеанс, а также дать сегменту имя, которое будет отображаться в результирующей таблице при вызове параметра ga:segment.

Пример создания и использования сегмента:

se2 <- segment_element(\"medium\", operator = \"EXACT\", type = \"DIMENSION\", expressions = \"organic\") se3 <- segment_element(\"medium\", operator = \"EXACT\", type = \"DIMENSION\", not = TRUE, expressions = \"organic\") sv_sequence <- segment_vector_sequence(list(list(se2), list(se3))) seq_defined2 <- segment_define(list(sv_sequence)) segment4_seq <- segment_ga4(\"sequence\", user_segment = seq_defined2) segment_seq_example <- google_***ytics(ga_id, c(\"2019-08-01\",\"2019-09-01\"), dimensions=c(\\\'source\\\',\\\'segment\\\'), segments = segment4_seq, metrics = c(\\\'sessions\\\',\\\'bounces\\\') )

Синтаксис сегментов достаточно сложный, поэтому вы можете использовать готовый аддон для RStudio и создавать сегменты с помощью графического интерфейса.

Когортный анализ

Когортный анализ в Google ***ytics: пошаговая инструкция Еще одна функция, недоступная в API v3. Если вы пока не знаете, что такое когортный анализ и как читать этот отчет, рекомендую сначала прочитать нашу статью по теме.

Для получения когортного отчета выполните шаги:

  1. Создайте когорты с помощью функции make_cohort_group().
  2. Используйте аргумент cohort в функции google_***ytics().

Пример создания когортного отчета:

cohort4 <- make_cohort_group(list(\"Oct2019\" = c(\"2019-10-01\", \"2019-10-31\"), \"Feb2019\" = c(\"2019-11-01\", \"2019-11-30\"), \"Dec2019\" = c(\"2019-12-01\", \"2019-12-31\"))) google_***ytics(ga_id, dimensions=c(\\\'cohort\\\',\\\'ga:cohortNthMonth\\\'), metrics = c(\\\'cohortTotalUsers\\\',\\\'ga:cohortActiveUsers\\\'), cohort = cohort4 )

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

User Activity API

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

Чтобы получить сырые данные по пользователям изначально необходимо получить список идентификаторов — client_id всех пользователей. Сделать это можно, запросив параметр clientId.

cids <- google_***ytics(ga_id, date_range = c(\"16DaysAgo\",\"yesterday\"), metrics = \"sessions\", dimensions = \"clientId\")

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

users <- ga_clientid_activity(cids, ga_id, date_range = c(\"16DaysAgo\",\"yesterday\"))

Аргументы функции ga_clientid_activity():

  • ids — вектор содержащий ClientID или UserID;
  • viewId — идентификатор представления;
  • id_type — тип идентификатора, возможные значения: \"CLIENT_ID\", \"USER_ID”;
  • activity_type — фильтрация по типу действий, которые вы хотите получить, возможные значения: \"PAGEVIEW\", \"SCREENVIEW\", \"GOAL\", \"ECOMMERCE\", \"EVENT\";
  • date_range — диапазон дат, за который вы хотите получить данные по посетителям.

В результаты работы функции вы получите объект со всеми сеансами и хитами. Если объект называется как в моем примере users, то обратиться к сеансам или хитам можно так:

users # сеансы users # хиты

Выводы

В этой статье мы подробно рассмотрели основные возможности API Google ***ytics и пакета google***yticsR. Теперь вы умеете:

  • проходить авторизацию в API Google ***ytics различными способами;
  • получать сырые данные из API Google ***ytics;
  • получать данные в разрезе когорт;
  • запрашивать стандартные отчеты из Google ***ytics Core Reporting API.

На самом деле уместить в одну статью весь доступный в google***yticsR функционал довольно сложно, но я постарался описать самый важный. Если у вас возникли вопросы, задавайте в комментариях.



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

Визуализация данных с помощью DataDeck

Визуализация данных с помощью DataDeck Краш-тест сервиса визуализации данных: выбираем задачу, источники, создаём отчет с помощью DataDeck. Бонус в конце — лаконичные списки преимуществ и недостатков этого инструмента и приятный подарок для дочитавших...

30 08 2026 4:53:57

Как настраивать представления в Google ***ytics — подробное руководство

Как настраивать представления в Google ***ytics — подробное руководство Представление — это уровень доступа в аккаунте Google ***ytics. На уровне представления можно предоставить или ограничить доступ пользователей к отчетам и аналитическим инструментам...

29 08 2026 11:31:28

Оптимизация скорости сайта: как уменьшить время ответа сервера

Оптимизация скорости сайта: как уменьшить время ответа сервера Как уменьшить время ответа сервера и повысить общий показатель скорости загрузки сайта...

28 08 2026 8:28:50

Что такое мотивированные установки и стоит ли тратить на них деньги

Что такое мотивированные установки и стоит ли тратить на них деньги Откуда берутся установки и стоит ли тратить деньги на покупку мотивов...

27 08 2026 10:56:43

«Волшебный пинок»: вдохновение от знаменитостей. 11 мотивирующих речей

«Волшебный пинок»: вдохновение от знаменитостей. 11 мотивирующих речей Джефф Безос, Стив Джобс, Билл Гeйтс, Джимм Керри и другие. Собрали для вас подборку крутых выступлений людей, которые знают, как добиться ... в общем-то, всего. Читайте их основные тезисы, а главное — послушайте....

26 08 2026 21:17:22

Что такое академия и как ее использовать для сбора лидов

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

25 08 2026 10:57:38

Как измерять ROI и зачем это делать предпринимателям

О том, как рассчитать коэффициент ROI (ROMI) для выявления эффективности и прибыльности рекламных кампаний...

24 08 2026 16:29:17

Увеличиваем органический трафик — дооптимизация страниц сайта

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

23 08 2026 12:30:33

За авторку замолвите слово. Как и зачем использовать феминитивы

За авторку замолвите слово. Как и зачем использовать феминитивы Прежде чем использовать феминитивы в коммуникации со своими клиентами и сотрудниками, убедитесь, что им это нужно и важно. Впрочем, ждите негатива при любом раскладе. Что с ним делать? Рассказываем....

22 08 2026 22:48:46

Как узнать сколько стоит ваш сайт

Как узнать сколько стоит ваш сайт На что обратить внимание при покупке интернет-ресурса, какие факторы влияют на цену и что помогает определить качество сайта? Ответы на все эти вопросы в статье. Читать!...

21 08 2026 0:50:10

Как настроить отправку писем с помощью языка R

Как настроить отправку писем с помощью языка R и как избежать подводных камней....

20 08 2026 15:53:56

Как запустить онлайн марафон? Бесплатные и платные методы

Как собрать свой онлайн марафон на 500 или 1000 человек? Сколько это стоит и какие сервисы использовать. Давайте разбираться....

19 08 2026 17:58:37

Как работать с перформанс-рекламой

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

18 08 2026 22:48:52

Как анализировать эффективность рекламы в Google ***ytics? Часть первая: персональные сводки

Как анализировать эффективность рекламы в Google ***ytics? Часть первая: персональные сводки Оценить эффективность рекламной кампании с учетом специфики и целей конкретного клиента помогут персональные сводки...

17 08 2026 5:42:26

Что такое LTV и зачем нужен калькулятор lifetime value

Точность и полезность — главные фишки нашего сервиса для расчета показателя LTV (Customer Lifetime Value)....

16 08 2026 4:31:15

Обновление Firebase ***ytics: настраиваем аналитику мобильных приложений и применяем новые фишки

Обновление Firebase ***ytics: настраиваем аналитику мобильных приложений и применяем новые фишки Мониторинг мобильных просмотр статистики Firebase в отчетах Google ***ytics и связь Firebase ***ytics с Google Рекламой...

15 08 2026 13:55:48

Как найти приоритетные запросы для продвижения и избавиться от проблемных страниц — нанокейсы SEMPRO 2016

Как найти приоритетные запросы для продвижения и избавиться от проблемных страниц — нанокейсы SEMPRO 2016 Дмитрий Шахов, Алексей Чекушин и другие эксперты поделились своим опытом решения сложных вопросов SEO на примере больших проектов....

14 08 2026 7:28:35

Видеореклама в Google Ads: как оставить только релевантные площадки

Видеореклама в Google Ads: как оставить только релевантные площадки Четыре способа исключить нерелевантные места размещения видеорекламы, а также полезные списки минус-слов и детских YouTube-каналов....

13 08 2026 10:13:53

Какие товары загружать на маркетплейсы — аналитика Hubber

Какие товары загружать на маркетплейсы — аналитика Hubber Специалисты дропшиппинг-платформы делятся данными по самым продаваемым товарам на крупных онлайн-площадках. Информация для масштабирования бизнеса. Читать!...

12 08 2026 2:22:53

Интеграция Google BigQuery c BI-платформами и электронными таблицами

Интеграция Google BigQuery c BI-платформами и электронными таблицами Подробная инструкция по интеграции с облачной базой данных и сравнение BI-платформ....

11 08 2026 13:27:35

«Покажи свою работу»: Юрий Грузинский, руководитель отдела по работе с крупными клиентами

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

10 08 2026 6:46:43

Кейс по продвижению интернет-магазина детской обуви: ROMI 135%

Кейс по продвижению интернет-магазина детской обуви: ROMI 135% Покажем, как продвигать сайты, продающие детскую обувь...

09 08 2026 3:19:25

5 фишек Google ***ytics для SEO-специалистов

5 фишек Google ***ytics для SEO-специалистов Как прокачать свои знания и навыки использования GA, чтобы оптимизировать сайт и получать больше (намного больше, чем сейчас) трафика, конверсий, вовлечения. Больше!...

08 08 2026 18:19:44

7 идей для онлайн-корпоратива и день рождения компании в зуме. Кейс Netpeak Group

7 идей для онлайн-корпоратива и день рождения компании в зуме. Кейс Netpeak Group Онлайн-корпоративы стали трендом 2020 года, но останутся с нами надолго если не в чистом, то в гибридном формате. Делимся опытом организации дня рождения компании в Zoom....

06 08 2026 17:23:49

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

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

05 08 2026 6:42:22

Как сделать гифку из видео — два способа для новичков

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

04 08 2026 1:33:26

Алгоритм EAT — за квалифицированный контент. Что это значит для SEO

Алгоритм E-A-T теперь следит за экспертностью, авторитетностью и достоверностью контента. Что это значит?...

03 08 2026 21:12:21

Азы типографики — нескучно о шрифтах

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

02 08 2026 21:53:58

Как оптимизировать YouTube-канал

Как оптимизировать YouTube-канал Инструкция по технической подготовке к продвижению...

01 08 2026 10:56:21

Что вы можете сделать со своим пресс-релизом

Что вы можете сделать со своим пресс-релизом Написание и распространение пресс-релизов концептуально устарело. Как привлечь аудиторию читателей СМИ без них?...

31 07 2026 9:38:51

5 способов повысить продажи с помощью социальных доказательств

5 способов повысить продажи с помощью социальных доказательств Чтобы увеличить продажи и улучшить их эффективность в новых условиях необходимо применять «социальные доказательства»....

30 07 2026 13:17:35

SEO в нише онлайн-образования. Исследование Serpstat

SEO в нише онлайн-образования. Исследование Serpstat Комaнда Serpstat проанализировала стратегии продвижения лидеров ниши онлайн-образования. Читайте о главных инсайтах в посте....

29 07 2026 12:19:33

Нестандартные форматы баннеров в Google Marketing Platform

Нестандартные форматы баннеров в Google Marketing Platform Краткий обзор динамических мультимедийных объявлений...

28 07 2026 22:42:45

Рамиль Мухоряпов: «Мы стали драйвером развития электронной коммерции в Казахстане»

Рамиль Мухоряпов: «Мы стали драйвером развития электронной коммерции в Казахстане» История создания и развития холдинга «Choco Family» помогает понять масштабы онлайн-рынка Казахстана, найти точки роста для собственного бизнеса в Казнете. Каково быть пионером ecommerce в стране? Чем казахстанский рынок e­commerce отличается от Рунета и Уанета? Читать!...

27 07 2026 3:25:42

Как заявить права на сайт в Google Merchant Center

Как заявить права на сайт в Google Merchant Center Здесь не нужно часами собирать семантику, прописывать уйму расширений и создавать максимально релевантные объявления под каждый товар, а потому вам нужен этот понятный и короткий мануал! Читайте дальше!...

26 07 2026 2:15:11

Что делать со старыми статьями в блоге

Что делать со старыми статьями в блоге Что делать контент-маркетологам, когда все тексты в интернете начнут генерировать боты? Спойлер: обновлять старый контент....

25 07 2026 6:17:11

Почему в США зарплаты СЕО приводят к дополнительным налогам?

Почему в США зарплаты СЕО приводят к дополнительным налогам? Как борьба с зарплатным неравенством становится трендом...

24 07 2026 3:33:23

Пять важных «зачем» в работе PPC-специалиста над продвинутыми проектами

Пять важных «зачем» в работе PPC-специалиста над продвинутыми проектами Сакральные знания о контекстной рекламе для экспертов и тех, кто с ними сотрудничает....

23 07 2026 20:20:18

Топ расширений Google Chrome для ASO-специалиста

Топ расширений Google Chrome для ASO-специалиста Chrome Extensions экономят время тех, кто продвигает мобильные приложения...

22 07 2026 17:31:26

Гид по SEO для мобильных сайтов: инфографика

Гид по SEO для мобильных сайтов: инфографика Разработка, вёрстка и оптимизация мобильных версий сайтов — популярные темы последнего времени. Мы расскажем, что стоит и что не стоит делать в мобильном SEO....

21 07 2026 17:22:26

Как провести интервью: инсайты и секреты Head of Content Inweb Наты Заяць

Как провести интервью: инсайты и секреты Head of Content Inweb Наты Заяць Как подготовиться и сделать из интервью полноценную историю, которая будет интересна аудитории...

20 07 2026 20:36:54

Как исключить площадки в Google Рекламе и сэкономить деньги — реклама мобильных приложений

Как исключить площадки в Google Рекламе и сэкономить деньги — реклама мобильных приложений Как избежать скликивания, случайных переходов и «пустых» установок при рекламе мобильного приложения...

19 07 2026 11:19:40

Аутсорсинг в Украине — интервью с Женей Розинским о способах развития IT-нации

Аутсорсинг в Украине — интервью с Женей Розинским о способах развития IT-нации Айти эксперт Женя Розинский о том, почему нацию айти развивают продуктовые бизнесы, а не outsourcing сервисы...

18 07 2026 3:12:14

Как выбрать нишу для информационного сайта

Узкие специализированные ниши и широкие, которые, как правило, уже заняты лидерами рынка — в каждой найдется место для онлайн-издания с полезным контентом. Узнать больше!...

17 07 2026 16:38:42

Какую картинку выбрать для Рекламной сети Яндекса — руководство и кейс

Расскажу, как подобрать картинку на рабочий стол объявления в Рекламной сети Яндекса, и приведу небольшой кейс о том, как это делали мы для агентства путешествий...

16 07 2026 5:11:10

15 фишек контекстной рекламы — итоги круглого стола 8P 2019

Работающие способы повысить эффективность рекламных кампаний...

15 07 2026 15:42:41

Как узнать, было ли прочитано ваше письмо адресатом?

Как узнать, было ли прочитано ваше письмо адресатом? Метод не для всех, но увлеченным веб-аналитикой точно понравится!...

14 07 2026 1:46:24

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане в первом квартале 2018 года

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане в первом квартале 2018 года Какие регионы и тематики наиболее выгодно продвигать в каждом из представленных рекламных сервисов, где наибольшая доля мобильного трафика, и другая полезная статистика....

13 07 2026 22:12:48

SEO-продвижение для пиццерии — ROMI 606% за 3 месяца

SEO-продвижение для пиццерии — ROMI 606% за 3 месяца Как грамотно раскрутить пиццерию. Сняли фильтр и достигли хороших результатов....

12 07 2026 2:33:41

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