Как получить данные из Google ***ytics в R и загрузить в Power BI
Импорт данных из Google ***ytics в Excel с помощью ***ytics Edge — подробное руководство Дополнение Google ***ytics для Google Taблиц — подробное руководство Как cделать красивую визуализацию в Google Data Studio — подробное руководство В предыдущих статьях я неоднократно упоминал, что Google ***ytics — отличный инструмент для сбора данных о посещениях сайта, но в плане визуализации данных, на мой взгляд, далеко не самый удачный вариант. Именно поэтому ранее я уже писал статьи о сборе и визуализации данных с помощью
В этой статье расскажу, как получить и обработать данные из Google ***ytics с помощью языка R, а также в качестве бонуса в конце статьи опишу, как использовать эти скрипты для загрузки данных в Microsoft Power BI и получить больше возможностей по сравнению с тем, что предоставляет встроенный коннектор Google ***ytics.
Преимущества пакета RGA для работы с Google ***ytics API
- Снижение (а в большинстве случаев и обход) семплирования данных.
- Загрузка полного объема данных без ограничений в 100 000 строк на 1 запрос.
- Поддержка работы не только с Core API, но так же и с Multi-Channel Funnels Reporting API и Real Time Reporting API.
Установка пакета RGA
Установить пакет RGA можно как из основного репозитория CRAN, так и непосредственно из репозитория автора пакета Артема Клевцова на GitHub.
Для установки пакета из репозитория CRAN воспользуйтесь комaндой:
install.packages(\"RGA\")
Для установки пакета из GitHub предварительно установите пакет devtools. Затем с помощью комaнды install_github установите актуальную версию пакета.
install_github(\"RGA\")
После установки подключите пакет RGA с помощью комaнды:
library(\"RGA\")
Аутентификация в Google ***ytics
Для прохождения процесса аутентификации в Google ***ytics в пакете RGA предназначена функция authorize. Функция требует учетных данных, созданных в Google Cloud Platform.
1. Перейдите на своем Google-аккаунте в консоль Google Cloud Platform.
2. В основном меню выберите «Диспетчер API» и нажмите «Учетные данные».
3. Нажмите «Создать учетные данные» и затем «Идентификатор клиента OAuth».
4. Выберите тип приложения «Другие», укажите название приложения и нажмите «Создать».
5. Появится диалоговое окно «Клиент OAuth» с вашими учетными данными.
Чтобы пройти процесс аутентификации с помощью функции authorize, укажите в качестве ее аргументов полученные учетные данные.
client.id — ваш идентификатор клиента.
client.secret — ваш секрет клиента.
rga_auth <- authorize(client.id = \"Ваш идентификатор клиента\", client.secret = \"Ваш секрет клиента\")
После запуска комaнды в консоле появится URL-адрес. Откройте его в браузере для завершения процесса аутентификации.
После предоставления доступа к данным система сгенерирует авторизационный код для предварительно созданного пользователя в браузере.
Вставьте код в консоль R на запрос «Enter authorization code:».
Как получить список доступных Google ***ytics аккаунтов, ресурсов и представлений с их различными свойствами, настройками и параметрами в R
Воспользуйтесь одной из функций в пакете RGA:
- list_accounts для получения списка аккаунтов.
Единственный обязательный аргумент функции — token, в который необходимо передать полученные ранее учетные данные, сохраненные в объект rga_auth.accs <- list_accounts(token = rga_auth)
- list_webproperties для списка доступных ресурсов с различными параметрами.
Аналогично с предыдущим примером передайте в token полученные ранее учетные данные. С помощью аргумента accountId можно указать ID конкретного аккаунта, из которого вы планируете получить список доступных ресурсов. По умолчанию установлено значение \"~all\", что означает получить все доступные ресурсы.prop <- list_webproperties(token = rga_auth)
- list_profiles для списка доступных представлений с их различными настройками и параметрами.
Token, как и прежде, обязательный аргумент фукции. С помощью аргументов accountId и webPropertyId можно указать определенный аккаунт или ресурс, из которого вы планируете получить список представлений. По умолчанию оба аргумента равны \"~all\".views <- list_profiles(token = rga_auth)
Как получить данные из Core API Google ***ytics в R
Core API, на мой взгляд, самый используемый API-сервис из доступных в Google ***ytics.
Из официальной документации:
Core Reporting API обеспечивает доступ к данным большинства отчетов Google ***ytics и позволяет:- создавать специальные сводки для просмотра данных Google ***ytics data.
- автоматизировать работу со сложными отчетами;
- использовать данные Google ***ytics в других бизнес-приложениях.
Для работы с Core API в пакете RGA представлена функция get_ga().
Аргументы функции get_ga:
- profileId — ID представления Google ***ytics, из которого необходимо получить данные (пример: \"ga:0000000000\"), найти ID представления также можно в интерфейсе Google ***ytics. Перейдите в панель «Администратор» и нажмите «Настройки представления».
- start.date — начальная дата в формате ГГГГ-ММ-ДД, этот аргумент так же принимает относительные значения даты («today», «yesterday», or «7daysAgo»), значение по умолчанию «7daysAgo»;
- end.date — конечная дата в формате ГГГГ-ММ-ДД, этот аргумент так же принимает относительные значения даты («today», «yesterday», or «7daysAgo»), значение по умолчанию «7daysAgo»;
- metrics — список показателей через запятую, в одном запросе допускается не более 10 показателей.
Пример:\"ga:sessions,ga:impressions,ga:adCost,ga:transactions”
Все доступные в Core API показатели и допустимые сочетания показателей указаны в справке Google ***ytics; - dimensions — список параметров, перечисленных через запятую, в одном запросе допускается не более 7 параметров.
Пример:\"ga:sessions,ga:impressions,ga:adCost,ga:transactions”
Список всех доступных в Core API параметров и допустимые сочетания показателей смотрите аналогично; - sort — список полей (параметров или показателей) по которым необходимо сортировать полученный массив данных.
Пример:\"-ga:sessions\"
- filters — список полей и их значений для фильтрации данных.
Пример:\"ga:medium==cpc,ga:source==google\"
Синтаксис фильтра: ga:name operator expression
- name — имя параметра или показателя, по которому производится фильтрация. Например, параметр ga:pageviews позволяет выполнить фильтрацию по количеству просмотров страниц;
- operator — определяет тип соответствия фильтру. Операторы зависят от параметров или показателей;
- expression — определяет значения, включаемые в результаты. В выражениях используется синтаксис регулярных выражений.
Описание операторов для фильтрации по показателям:
Оператор | Описание | Примеры |
== | Равно | Возвращает результаты, в которых время нахождения на странице точно равно десяти секундам: filters=ga:timeOnPage==10 |
!= | Не равно | Возвращает результаты, в которых время нахождения на странице не равно десяти секундам: |
> | Больше | Возвращает результаты, в которых время нахождения на странице строго больше десяти секунд: |
< | Меньше | Возвращает результаты, в которых время нахождения на странице строго меньше десяти секунд: |
>= | Больше или равно | Возвращает результаты, в которых время нахождения на странице больше или равно десяти секундам: |
<= | Меньше или равно | Возвращает результаты, в которых время нахождения на странице меньше или равно десяти секундам: |
Описание операторов для фильтрации по параметрам:
Оператор | Описание | Примеры |
== | Точное соответствие | Сводные показатели для города Irvine: filters=ga:city==Irvine |
!= | Не соответствует | Сводные показатели для любого города, кроме Irvine: filters=ga:city!=Irvine |
=@ | Содержит подстроку | Сводные показатели для городов, в названии которых содержится слово York: filters=ga:city=@York |
!@ | Не содержит подстроку | Сводные показатели для городов, в названии которых нет слова York: filters=ga:city!@York |
=~ | Содержит совпадение для регулярного выражения | Сводные показатели для городов, название которых начинается со слова New: filters=ga:city=~^New.* |
!~ | Не соответствует регулярному выражению | Сводные показатели для городов, название которых не начинается со слова New: filters=ga:city!~^New.* |
- segment — аргумент нужен для обращения к расширенным сегментам Google ***ytics.
Обратиться можно как к созданному ранее в интерфейсе Google ***ytics сегменту с его ID (пример: \"gaid::-4\"), который можно получить с помощью функции list_segments.
Пример работы с функцией list_segments:seg <- list_segments( token = rga_auth)
Или же пропишите динамический сегмент Google ***ytics.
Пример:\"sessions::condition::ga:medium==organic\"
Операторы сравнения в сегментах полностью соответствуют операторам сравнения в фильтрах; - samplingLevel — уровень семплирования, поддерживаемые значения \"DEFAULT\" — по умолчанию средняя скорость получения данных и средний уровень точности данных, \"FASTER\" — самая высокая скорость обработки и минимальная точность в данных, \"HIGHER_PRECISION\" — высокая точность данных при маленькой скорости получения данных;
- start.index — числовое значение, которое используется для обхода ограничения в 10 000 строк на один запрос, начальный индекс строки в результате запроса;
- max.results — числовое значение, максимальное количество строк в результате запроса.
- include.empty.rows — логическое значение TRUE или FALSE, с помощью этого аргумента вы можете включать или исключать пустые строки из запроса;
- fetch.by — параметр позволяет разделить запрос на части по временному отрезку. Принимает значения «day», «week», «month», «quarter», «year» и используется для обхода семплирования. При этом значительно увеличивается время, необходимое на получение данных. При использовании аргумента значения показателей ga:users и ga:NdayUsers могут быть некорректными;
- token — аргумент, в который необходимо передать объект с содержанием учетных данных. В нашем примере это объект rga_auth.
Пример получения данных из Google ***ytics Core API:
Ниже я приведу пример запроса, который вернет данные в разрезе дат и каналов по таким показателям:
dimensions = \"ga:date, ga:medium\"
- количество сеансов;
- количество транзакций;
- объем дохода;
- количество отказов;
- общая длительность времени, проведенному всеми пользователями на сайте, в секундах;
- общее количество просмотренных страниц (metrics = \"ga:sessions,ga:transactions,ga:transactionRevenue,ga:bounces,ga:sessionDuration,ga:pageviews\").
В запросе мы обращаемся к динамическому сегменту на уровне сеансов, которые были совершены по CPC каналу:
(segment = \"sessions::condition::ga:medium==cpc\")
В нашем примере мы взяли условный диапазон дат за последние 15 дней, (start.date = \"15daysAgo\", end.date = \"yesterday\").
Для обхода семплирования разбиваем запрос по дням (fetch.by = \"day\").
При этом устанавливаем минимальный уровень семплирования с помощью аргумента samplingLevel = \"HIGHER_PRECISION\".
gaData <- get_ga(profileId = \"ga:1111111111\", start.date = \"15daysAgo\", end.date = \"yesterday\", dimensions = \"ga:date, ga:medium\", metrics = \"ga:sessions,ga:transactions,ga:transactionRevenue,ga:bounces, ga:sessionDuration,ga:pageviews\", segment = \"sessions::condition::ga:medium==cpc\", fetch.by = \"day\", sampli IGHER_PRECISION\", max.results = 10000, token = rga_auth)
Как получить данные из Multi-Channel Funnels Reporting API в R
Согласно справке Google ***ytics:Multi-Channel Funnels Reporting API позволяет запрашивать данные о многокaнaльных последовательностях для прошедшего аутентификацию пользователя. Они демонстрируют, каким образом пользователь взаимодействовал с разными источниками данных в ходе нескольких сеансов на пути к конверсии, и позволяют анализировать вклад различных маркетинговых каналов.
Multi-Channel Funnels Reporting API позволяет:
- создавать собственные отчеты на основе данных многокaнaльных последовательностей.
В отчете «Основные пути конверсии» описываются различные атрибуты, например, относительное положение взаимодействия на пути к конверсии; - интегрировать данные многокaнaльных последовательностей и бизнес-данные.
Например, вы можете соотнести данные по конверсиям онлайн и по продажам в офлайн-магазинах с информацией о расходах по каналам, чтобы сформировать общую картину рентабельности инвестиций; - показывать многокaнaльные последовательности в новых средах различными способами (например, графическими) и представлять данные по вкладу различных маркетинговых каналов в общее количество конверсий.
Для работы с Multi-Channel Funnels Reporting API в пакете RGA представлена функция get_mcf().
Аргументы функции get_mcf по большей части дублируют аргументы представленной выше функции get_ga:
- profileId — ID представления Google ***ytics, из которого необходимо получить данные (пример: \"ga:0000000000\"), для поиска ID представления в интерфейсе Google ***ytics перейдите в панель «Администратор» и нажмите «Настройки представления;.
- start.date — начальная дата в формате ГГГГ-ММ-ДД. Аргумент принимает относительные значения даты («today», «yesterday», or «7daysAgo»), значение по умолчанию «7daysAgo»;
- end.date — конечная дата в формате ГГГГ-ММ-ДД. Аргумент принимает относительные значения даты («today», «yesterday», or «7daysAgo»), значение по умолчанию «yesterday»;
- metrics — список показателей через запятую, в одном запросе допускается не более 10 показателей (пример: \"mcf:totalConversions,mcf:totalConversionValue\"). Список всех доступных в MCF API показателей и их допустимые сочетания находятся в справке Google ***ytics;
- dimensions — список параметров перечисленных через запятую, в одном запросе допускается не более 7 параметров (пример: \"mcf:source,mcf:medium\"). Список всех доступных в MCF API показателей и их допустимые сочетания находятся в справке Google ***ytics.
- sort — список полей (параметров или показателей) по которым необходимо сортировать полученный массив данных (пример: \"-mcf:totalConversions\") ;
- filters — список полей и их значений для фильтрации данных (пример: \"mcf:medium==cpc\") ;
- samplingLevel — уровень семплирования, поддерживаемые значения \"DEFAULT\" — по умолчанию средняя скорость получения данных и средний уровень точности данных, \"FASTER\" - наивысшая скорость обработки и минимальная точность в данных, \"HIGHER_PRECISION\" - высокая точность данных при маленькой скорости получения данных;
- start.index — числовое значение, используется для обхода ограничения в 10000 строк на один запрос, начальный индекс строки в результате запроса;
- max.results — числовое значение, максимальное количество строк в результате запроса;
- fetch.by — параметр, который помогает разделить запрос на части по временному отрезку, принимает значения «day», «week», «month», «quarter», «year». Параметр используется для обхода семплирования, при этом значительно увеличивается время необходимое на получение данных, при использовании данного аргумента значения показателей ga:users и ga:NdayUsers могут быть некорректными;
- token — аргумент, в который необходимо передать объект, содержащий учетные данные, в нашем примере это объект rga_auth.
Пример получения данных из Google ***ytics Multi-Channel Funnels Reporting API:
Рассмотрим на примере кода, с помощью которого можно получить данные в разрезе даты совершения конверсии и полного пути взаимодействия на уровне каналов (dimensions = \"mcf:conversionDate, mcf:mediumPath\") и по количеству ассоциированных конверсий (metrics = \"mcf:assistedConversions\").
Диапазон дат, как и в примере выше, мы взяли относительный — за прошедшие 15 дней (start.date = \"15daysAgo\", end.date = \"yesterday\").
Для обхода семплирования данных мы разбиваем запрос по дням (fetch.by = \"day\").
Также для снижения вероятности семплирования в рамках дня мы указали в запросе приоритет на высокую точность данных (samplingLevel = \"HIGHER_PRECISION\").
mcfData <- get_mcf(profileId = \"ga:111111111\", start.date = \"15daysAgo\", end.date = \"yesterday\", dimensions = \"mcf:conversionDate, mcf:mediumPath\", metrics = \"mcf:assistedConversions\", fetch.by = \"day\", samplingLevel = \"HIGHER_PRECISION\", max.results = 10000, token = rga_auth)
Как получить данные из Real Time Reporting API в R
Согласно справке Google ***ytics:
Real Time Reporting API позволяет запрашивать данные в режиме реального времени для аутентифицированных пользователей.
Real Time Reporting API позволяет:
- показывать число посетителей, просматривающих страницу, и стимулировать продажи, демонстрируя ограниченные запасы товаров в реальном времени;
- показывать самый популярный контент, например, 10 самых активных страниц;
- создавать и показывать сводки в реальном времени.
Для работы с Real Time Reporting API в пакете RGA представлена функция get_realtime().
По сравнению с описанными выше функциями, get_realtime имеет меньшее количество аргументов:
- profileId — ID представления Google ***ytics из которого необходимо получить данные (пример: \"ga:0000000000\"). Для поиска ID представления зайдите в интерфейсе Google ***ytics в панель «Администратор» и нажмите «Настройки представления;
- metrics — список показателей через запятую, в одном запросе допускается не более 10 показателей (пример: \"rt:activeUsers\"). Список всех доступных в RT API показателей и допустимые сочетания показателей смотрите аналогично;
- dimensions — список параметров перечисленных через запятую, в одном запросе допускается не более 7 параметров (пример: \"rt:medium,rt:city\"). Список всех доступных в RT API показателей и допустимые сочетания показателей смотрите аналогично;
- sort — список полей (параметров или показателей), по которым необходимо сортировать полученный массив данных (пример: \"-rt:activeUsers\") ;
- filters — список полей и их значений для фильтрации данных (пример: \"rt:medium==cpc\") ;
- max.results — числовое значение, максимальное количество строк в результате запроса;
- token — аргумент, в который необходимо передать объект с содержанием учетных данных. В нашем примере это объект rga_auth.
Пример получения данных из Google ***ytics Multi-Channel Funnels Reporting API
Ниже представлен пример кода с помощью которого можно получить к-во активных пользователей на сайте в текущей момент (metrics = \"rt:activeUsers\"), в разрезе источника, канала и страны (\"rt:source, rt:medium, rt:country\").
Запрос вернёт данные отсортированные в порядке убывания по количеству активных пользователей (sort = \"-rt:activeUsers\").
mcfData <- get_mcf(profileId = \"ga:111111111\", start.date = \"15daysAgo\", end.date = \"yesterday\", dimensions = \"mcf:conversionDate, mcf:mediumPath\", metrics = \"mcf:assistedConversions\", fetch.by = \"day\", samplingLevel = \"HIGHER_PRECISION\", max.results = 10000, token = rga_auth)
Как загрузить данные из любых API сервисов Google ***ytics в Power BI
В коробке Microsoft Power BI есть встроенный коннектор к Core Reporting API, но его возможности достаточно ограничены: он не умеет обходить семплирование и нельзя указать диапазон дат или какие либо другие фильтры или сегменты данных. Поэтому вкратце опишу способы использования описанного в статье функционала для загрузки данных в Power BI.
Чтобы запущенный из Power BI R скрипт корректно прошел аутентификацию и успешно получил данные из API Google ***ytics, создайте на диске C папку с любым названием. Рекомендую не использовать в названии папки пробелы и кириллические символы. Например, назовем папку «rga_test».
Откройте R Studio или консоль R и с помощью комaнды setwd (\"C:/rga_test\") пропишите путь к созданной папке\"C:/rga_test\". Затем перейдите в рабочую папку и пройдите весь процесс аутентификации по описанию в начале статьи.
Если все прошло успешно, в вашей папке появится файл с учетными данными.
Чтобы загрузить данные из Google ***ytics в Power BI с более широкими возможностями, необходимо воспользоваться коннектором «R-скрипт».
В открывшемся диалоговом окне вы увидите R-скрипт:
- В начале скрипта перейдите в рабочую папку, которую создали в предыдущем пункте с помощью комaнды setwd(\"C:/rga_test\"), при этом укажите путь к вашей папке.
- Подключите пакет RGA с помощью комaнды library(“RGA”).
- Используя функцию authorize и ваши учетные данные, созданные в Google Cloud Platform, пропишите процедуру аутентификации в API Google ***ytics.
- Далее напишите код запроса к одному из сервисов API Google ***ytics, используя одну из функций пакета RGA для работы с API сервисами (get_ga, get_mcf, get_realtime), и укажите все необходимые аргументы выбранной функции.
- Нажмите «ОК» — начнется процесс загрузки данных, и система перенаправит вас в окно «Навигатор».
В окне «Навигатор» выделите галочкой нужную таблицу и нажмите «Загрузить».
На этом процесс интеграции между Power BI и API Google ***ytics завершен. Для актуализации данных нажмите «Обновить» в интерфейсе Power BI.
Пример дашборда, построенного в Power BI на основе данных из RealTime API Google ***ytics
Выводы
Замечу, что не стоит воспринимать статью полным описанием или руководством к пакету RGA — в реальности его инструментарий значительно шире. Я представил вашему вниманию самый полезный и часто используемый функционал, который позволяет:
- получать данные из любого сервиса API Google ***ytics для дальнейшей работы с ними в R;
- обходить семплирование данных;
- загружать данные из Google ***ytics в одну из наиболее популярных BI платформ Microsoft Power BI, обойдя все ограничения и недоработки стандартного коннектора Google ***ytics.
Как загрузить данные из API Google ***ytics в R: часть 2 p.s. Готова вторая часть поста по работе с новым пакетом
Комментарии:
Как узнать слабые места ваших рекламных кампаний с помощью бесплатного скрипта....
13 05 2025 7:46:28
Правила преобразования фидов в Google Merchant Center помогут сегментировать товары и сделать вашу рекламу более эффективной...
12 05 2025 23:36:54
Бизнесу следует позаботиться о том, чтобы представить отзывы на всех площадках (как минимум на тех, которые есть на трех страницах выдачи), где только может искать информацию пользователь. Узнать больше!...
11 05 2025 8:34:47
Доля органического трафика увеличилась с 14% до 44%, а небрендового — на 184%....
10 05 2025 12:44:34
Как автоматически формировать и выгружать готовые рекламные кампании для Яндекс.Директ и Google Ads со структурой «одна группа объявлений — один key»...
09 05 2025 0:56:18
Обновление от Google, запущенный в октябре 2015 года. Это просто веб-страницы, но в их основе находится AMP HTML, формат для максимального ускорения загрузки на телефонах...
08 05 2025 15:57:14
Еще организовали новую онлайн-конференцию, запустили опрос онлайн-покупателей, создали SEO-услугу для крупного бизнеса, рассказали, как вести В2С и В2В аккаунты в Instagram и ввели консультации SMM-специалистов....
07 05 2025 8:56:44
Плейсменты, требования, запоминаемость...
06 05 2025 12:10:43
Как с помощью ботов ControllerBot и BotFather упростить управление каналами и разнообразить контент....
05 05 2025 10:35:18
Данные из контента страницы и основного заголовка h1 вместо метатега title. Что показало исследование Serpstat....
04 05 2025 23:51:28
Сезонность — повторяющиеся колебания трафика сайта в зависимости от различных внешних факторов....
03 05 2025 15:17:55
Сегодня именно тот день, когда пора решиться и отправить своё резюме в нашу компанию....
02 05 2025 8:45:22
Как увеличить количество транзакциий, сохранив прибыльность кампании в РСЯ?...
01 05 2025 4:50:55
Можно ли повысить оценку качества целевой страницы , если проставить конечные URL на уровне ключевого слова? Результаты исследования....
30 04 2025 15:45:19
Четыре важных шага для новичка...
29 04 2025 2:38:23
Начинаем серию постов в режиме реалити-шоу о подробностях продвижения крупного игрока бизнеса email- и sms-рассылок — компании UniSender....
28 04 2025 13:36:21
Если вам нужно быстро изменить небольшой объем контента на сайте без доступа к CMS, можно воспользоваться GTM. Как именно, читайте дальше....
27 04 2025 10:26:27
Как перенести сайт с http на https и сохранить трафик, потратив минимум времени....
26 04 2025 21:19:46
Что такое контекстная реклама? Настраиваем рекламу в поиске Google...
25 04 2025 13:13:13
Аудит юзабилити способствует следованию современным тенденциям, пониманию целевого посетителя и увеличению конверсии....
24 04 2025 18:53:29
Как сделать склейку и сохранить трафик, распространенные ошибки при склеивании. Узнать больше!...
23 04 2025 19:45:24
Недавно у меня закончилась видеокампания на ютуб, по которой удалось собрать исследование Brand Lift. Хочу поделиться инсайтами...
22 04 2025 10:12:30
Четыре способа исключить нерелевантные места размещения видеорекламы, а также полезные списки минус-слов и детских YouTube-каналов....
21 04 2025 3:32:11
Что такое контекстная реклама? Словарь терминов для чайников...
20 04 2025 22:49:27
Мы уже писали о Google Shopping, в каких странах он доступен и как его настроить. В этом посте я покажу один из способов создания и загрузки фида данных. Это важный этап подготовки к запуску Google Shopping...
19 04 2025 6:10:23
Быстрая индексация: как оперативно узнать, попала ли важная для вас страница в поисковые системы Google и Яндекс....
18 04 2025 21:41:23
Образ гармонии, почерк и потребности — рецензия на книгу Яна Чихольда «Облик книги»....
17 04 2025 6:21:42
Ссылка с сайта с высоким тИЦ уже не считается качественной. Хороший донор вычисляется по комплексу факторов. Большую часть работы придется делать вручную. Важно найти отличный сайт, с огромным количеством интересного контента, оцененного по достоинству читателями, и гармонично туда вписать свою статью со ссылкой...
16 04 2025 21:20:34
All about internet mail. Примеры того, что стоит внедрить в рассылках почты онлайн....
15 04 2025 20:46:14
Качество передаваемых данных напрямую отражается на качестве решений, принимаемых для бизнеса. Как защититься от таких ошибок?...
14 04 2025 15:58:29
Почему синергия штатных специалистов и рекламное дело агентства SEO/PPC выгодна бизнесу...
13 04 2025 0:15:25
Подробный алгоритм успешного питча на Product Hunt на примере Serpstat...
12 04 2025 14:40:25
Интересные маркетинговые методы, эффективные профессиональные хитрости и много другое прозвучало на круглом столе по фишкам контекстной рекламы...
11 04 2025 16:50:21
Изначально необходимо планировать продолжительное сотрудничество с агентством для достижения поставленных целей. В своей стратегии мы использовали сезонность, чтобы достичь максимальных результатов для клиента...
10 04 2025 12:32:56
Как грамотно раскрутить пиццерию. Сняли фильтр и достигли хороших результатов....
09 04 2025 17:43:49
Работ по оптимизации всегда много, а выделить приоритеты при продвижении онлайн — непросто. Что стоит проверять и исправлять в первую очередь?...
08 04 2025 21:41:47
Каковы интересы вашей аудитории, как люди находят ваш контент. Рассказываем обо всех возможностях от Search Console Insights....
07 04 2025 12:48:13
5 кейсов отлично иллюстрируют правила юзабилити и находки веб-аналитиков....
06 04 2025 15:42:45
Какие регионы и тематики наиболее выгодно продвигать в каждом из представленных рекламных сервисов, где наибольшая доля мобильного трафика, и другая полезная статистика....
05 04 2025 0:42:54
Организаторам мероприятий, коллегам из PR-сферы и невестам о том, как делегировать важные мероприятия внешнему подрядчику...
04 04 2025 1:45:10
Продвижение музыкальной библиотеки. Со старта сотрудничества, трафик и основной ключ сайта клиента вырос в 10 раз. Регион продвижения — США....
03 04 2025 5:10:46
Женский и мужской таргет отличаются друг от друга. Кейс магазина обуви, одежды и аксессуаров....
02 04 2025 18:18:45
C какими сложностями пришлось столкнуться при создании интернет-магазина....
01 04 2025 16:47:37
Чем удивляла, радовала и смешила реклама в социальных сетях в июне 2021 года...
31 03 2025 6:24:21
Все про kpi охват в социальных медиа или как оценивать эффективность работы SMM-специалиста?...
30 03 2025 3:57:44
Мы достигли поставленных на старте продвижения целей: вернули потерянный трафик, получили дальнейший рост видимости сайта и увеличили доход....
29 03 2025 17:27:31
Деловой этикет в переписке с бизнес-партнерами, сотрудниками, клиентами. Как заручиться доверием, укрепить деловые отношение и мотивировать подчиненных. Узнать!...
28 03 2025 23:47:24
Как рекламировать смартфоны в YouTube — советы крупному бизнесу по настройке и запуску эффективной рекламы. Важно: корректный анализ результатов. Узнайте как его сделать!...
27 03 2025 4:50:18
Как контролировать множество сайтов — полезные сервисы и советы для вебмастеров. Одно дело — несколько десятков сайтов, а что если сотни или тысячи? Как раз это подробно и разберем....
26 03 2025 1:12:42
Директор «1С-Битрикс» в Казахстане Сармантай Касенов о кейсах, развитии и образовательной миссии компании...
25 03 2025 18:48:56
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::