Как оценить потерянный доход в Google Ads с помощью языка R

Сколько прибыли вы не получили в Google Ads из-за нехватки бюджета или низкого рейтинга ключевых слов? Стандартные отчеты не позволяют это проанализировать, но я знаю способ, как подсчитать эти данные с помощью языка программирования R.
В октябре 2015-го года в блоге я описывал алгоритм для определения количества потерянных конверсий с помощью Supermetrics (специального дополнения к Google Таблицам). Тогда бесплатного базового функционала Supermetrics было достаточно, но со второй половины февраля 2016 года дополнение стало платным. Скорее всего, далеко не каждому захочется отдавать $99 в месяц за отчёт по потерянным конверсиям, поэтому я нашел другой способ реализации данного алгоритма.
Возможно, изначально этот метод покажется более сложным, но, потратив некоторое время, в дальнейшем вы сможете бесплатно обновлять данные и контролировать потери показов и дохода по всем рекламным кампаниям. К тому же я усовершенствовал алгоритм, теперь он предназначен больше для ecommerce проектов и главная его задача — оценка потерянного дохода, а не конверсий.
Данное решение реализовано на языке R, он предназначен для статистической обработки данных и визуализации информации. Язык R разработан более 20 лет назад непосредственно для академических исследований. Как большинство бесплатных продуктов, R очень быстро стал популярным, в связи с чем к нему было написано множество пакетов, значительно расширяющих его базовый функционал. В этой статье мы рассмотрим ряд пакетов, включая пакеты предназначенные для работы с API Google Ads и Google ***ytics.
Что необходимо для реализации алгоритма?
- Установленный на сайте код отслеживания электронной коммерции, и соответственно в Google ***ytics должны отслеживаться данные о совершенных транзакциях.
- Аккаунт Google ***ytics, связаный с Google Ads.
- На ПК должен быть установлен язык R, для этого пройдите по ссылке, скачайте и установите последнюю версию (видео урок).
- Для более удобной работы в R предлагаю также скачать и установить RStudio, именно в этой среде программирования мы запустим скрипт.
- Developer Client в консоли разработчика Google, более подробно об этом я расскажу далее.
- Токен разработчика Google Ads для доступа к API Google Ads, но это условие не является обязательным.
Если перечисленные пункты вас не смущают, можем двигаться дальше.
Как создать Developer Client в консоли разработчика Google?
В первую очередь нам необходимо зарегистрировать приложение в Google Cloud Console. Для этого выполните описанные ниже шаги:
- Откройте Google Cloud Console.
- Создайте новый проект, если у вас его ещё нет.
- В основном меню перейдите в раздел APIs & Services — Oauth consent screen.
- Заполните все необходимые поля, и перейдите в меню Credentials — Create credentials — OAuth client ID.
- Из выпадающего меню выбираем Desktop app, вводим название приложение и жмём «Create».
- На этом настройка приложения закончена жмём «Оk».
- Для удобства созданное приложение можно сохранить на ПК, название файла при сохранении может быть произвольным, допустим что мы сохранили его с именем app.json по ардесу C:/auth.
- Последнем шагом настройки проекта в Google Cloud необходимо включить Google Ads API, переходим в раздел library.
- В поиске пишем Google Ads.
- Включаем в проекте Google Ads API.
Далее активируйте все API связанные с Google ***ytics.
Мы настроили проект в Google Cloud, теперь необходимо запросить токен разработчика Google Ads.
В учебных целях в пакет rgoogleads уже включены все необходимые компоненты: токен разработчика, client id, secret id. Тем не менее я настоятельно рекомендую вам получить собственные учётные данные.
Токен разработчика можно запросить только из управляющего аккаунта, следуйте инструкциям ниже:
- Создайте новый управляющий аккаунт, если у вас его нет.
- Перейдите в Инструменты и настройки — Настройки — Центр API.
- Заполните сведения о разработчике.
- Нажмите «Подать заявку на базовый доступ».
- Заполните и отправьте анкету.
Далее скорее всего вам потребуется в переписке объяснить поддержке Google Ads API для каких целей вы будете использовать API, после чего вы получите базовый доступ.
В статье мы будем работать с Google Ads API и Google ***ytics API. Подробно рассматривать их мы не будем, но для более глубокого погружения в работу с Google ***ytics API вы можете прочесть статью «Как загрузить данные из API Google ***ytics в R: часть 2» или посмотреть видео доклада «Как работать с API Google ***ytics на языке R с помощью пакета google***yticsR».
Запуск скрипта в RStudio
Для перехода к этому шагу должны быть реализованы шесть пунктов, описанных в начале статьи. На это может уйти несколько дней. Напомню, что наличие собственного OAuth клиента и токена разработчика желательно, но не обязательно.
Подключаем необходимые пакеты R
Пакеты, это дополнительное программное обеспечение, расширяющее базовые возможности языка R. Пакеты состоят из набора готовых функций и данных. Устанавливаются пакеты один раз, как и любое программное обеспечение, и подключаются каждый раз, когда вам нужен функционал какого либо пакета.
Ниже я приведу код установки и подключения нужных нам пакетов.
# установка пакетов install.packages(c(\\\'rgoogleads\\\', \\\'google***yticsR\\\', \\\'dplyr\\\', \\\'tidyr\\\', \\\'ggplot2\\\')) # подключение пакетов library(rgoogleads) library(google***yticsR) library(dplyr) library(tidyr) library(ggplot2)Рассмотрим назначение установленных нами пакетов:
- rgoogleads — пакет для работы с Google Ads API;
- google***yticsR — пакет для работы с Google ***ytics API;
- dplyr — пакет для манипуляции табличными данными в R;
- tidyr — пакет для очистки и преобразования данных;
- ggplot2 — пакет для визуализации данных.
Авторизация в сервисах
Работа пpaктически с любым API начинается с авторизации. Нам для работы изначально надо авторизоваться в Google Ads и Google ***ytics. Используемые нами пакеты включают гибкий и удобный функционал для авторизации.
В этой статье мы рассмотрим самый простой способ авторизации — авторизацию с дефолтными параметрами через вшитые в пакеты учётные данные.
# авторизация ## google ads gads_auth(email = \\\'me@gmail.com\\\') ## google ***ytics ga_auth(email = \\\'me@gmail.com\\\')После запуска каждой из перечисленных выше функций вы будете перенаправлены в бразуер, где нужно дать разрешение на доступ к данным используемым пакетам.
При успешной авторизации вы увидите в браузере сообщение «Authentication complete. Please close this page and return to R.». Увидев это сообщение возвращайтесь в RStudio и продолжайте работу.
Авторизацию через браузер необходимо пройти один раз. После успешной попытки полученные учётные данные кешируются в локальный файл, и в дальнейшем читаются из кеша.
Если вы хотите пройти авторизацию в Google Ads API используя собственные учётные данные: OAuth клиент и токен разработчика почитайте документацию к функции ?gads_auth_configure().
Для использования продвинутой настройки авторизации в Google ***ytics API почитайте документацию.
Загрузка данных из Google Ads и Google ***ytics
Пройдя авторизацию мы можем приступить к основной части работы — загрузке и постобработке данных из API.
# аккаунты ## управляющий аккаунт gads_set_login_customer_id(\\\'xxx-xxx-xxxx\\\') ## рекламный аккаунт gads_set_customer_id(\\\'xxx-xxx-xxxx\\\') # запрос данных из Google Ads ads_data <- gads_get_report( resource = \\\'campaign\\\', fields = c(\\\'campaign.id\\\', \\\'campaign.name\\\', \\\'metrics.impressions\\\', \\\'metrics.clicks\\\', \\\'metrics.cost_micros\\\', \\\'metrics.ctr\\\', \\\'metrics.search_budget_lost_impression_share\\\', \\\'metrics.search_rank_lost_impression_share\\\', \\\'metrics.content_budget_lost_impression_share\\\', \\\'metrics.content_rank_lost_impression_share\\\'), where = \\\'metrics.impressions > 0\\\', during = \\\'LAST_30_DAYS\\\' ) # запрос данных из Google ***ytics ga_data <- google_***ytics( viewId = 247168223, date_range = c(\\\'31daysAgo\\\', \\\'yesterday\\\'), dimensions = c(\"adwordsCampaignID\"), metrics = c(\"transactions\", \"transactionRevenue\"), filtersехpression = \"ga:medium==cpc,ga:source==google\" )В примере кода замените xxx-xxx-xxxx на идентификаторы вашего управляеющего и рекламного аккаунта.
Представленный пример кода загрузит нужные нам для расчётов данные из Google Ads API и Google ***ytics API за последние 30 дней.
Если вы хотите получить данные за какой-то конкретный статичный период, то в функции gads_get_report() используйте аргументы date_from и date_to, передав начальную и конечную дату в формате ГГГГ-ММ-ДД, а в функции google_***ytics() передайте даты начала и завершения в том же формате, вместо пресетов \\\'31daysAgo\\\' и \\\'yesterday\\\'.
Все необходимые данные для расчёта потерянного дохода у нас уже есть, осталось реализовать сами расчёты:
# объединяем данные из Google Ads и Google ***ytics data <- left_join(ads_data, ga_data, by = c(\"campaign_id\" = \"adwordsCampaignID\")) # заполняем пропущенные значения нулями # добавляем все необходимые вычисления data <- mutate(data, across(where(is.numeric), replace_na, 0), lost_impression_by_budget_search = round(impressions / (1 - search_budget_lost_impression_share) - impressions, 0), lost_impression_by_rank_search = round(impressions / (1 - search_rank_lost_impression_share) - impressions, 0), lost_impression_by_budget_display = round(impressions / (1 - content_budget_lost_impression_share) - impressions, 0), lost_impression_by_rank_display = round(impressions / (1 - content_rank_lost_impression_share) - impressions,0), lost_impression_by_budget = lost_impression_by_budget_search + lost_impression_by_budget_display, lost_impression_by_rank = lost_impression_by_rank_search + lost_impression_by_rank_display, lost_clicks_by_budget = round(lost_impression_by_budget * ctr, 0), lost_clicks_by_rank = round(lost_impression_by_rank * ctr, 0), lost_transactions_by_budget = ifelse(is.nan(round(lost_clicks_by_budget * (transactions / clicks), 0)), 0, round(lost_clicks_by_budget * (transactions / clicks), 0)), lost_transactions_by_rank = ifelse(is.nan(round(lost_clicks_by_rank * (transactions / clicks), 0)), 0, round(lost_clicks_by_rank * (transactions / clicks), 0)), lost_transactions = lost_transactions_by_budget + lost_transactions_by_rank, lost_revenue_by_budget = ifelse(is.nan(round(lost_transactions_by_budget * (transactionRevenue / transactions), 0)), 0,round(lost_transactions_by_budget * (transactionRevenue / transactions), 0)), lost_revenue_by_rank = ifelse(is.nan(round(lost_transactions_by_rank * (transactionRevenue / transactions), 0)), 0, round(lost_transactions_by_rank * (transactionRevenue / transactions), 0)), lost_revenue = lost_revenue_by_budget + lost_revenue_by_rank )На этом этапе у нас реализованы расчёты всех необходимых метрик, включая потерянный доход.
Визуализация данных
Для начала можем оценить общие потери дохода по аккаунту, построив круговую диаграмму:
# круговая диаграмма res <- tibble( type = c(\"полученный доход\", \"потерянный по бюджету\", \"потерянный по рейтингу\"), value = c(sum(data), sum(data), sum(data)) ) res %>% ggplot( aes(x = 1, y = value, fill = type) ) + geom_col(position = position_stack(reverse = T)) + scale_fill_manual(values = c(\"green\", \"red\", \"firebrick\")) + coord_polar(theta = \"y\")
Как видно по диаграмме, мы потеряли приблизительно треть, от возможного дохода. Большая часть потерь связана с дефицитом бюджета, меньшая с проигранными аукционами.
Посмотрим данные в более глубокой детализации, разбив их по кампаниям:
# Потерянный доход в разрезе кампаний data %>% filter(transactionRevenue > 0) %>% select(campaign_name, transactionRevenue, lost_revenue_by_budget, lost_revenue_by_rank) %>% pivot_longer( c(\\\'transactionRevenue\\\', \\\'lost_revenue_by_budget\\\', \\\'lost_revenue_by_rank\\\'), names_to = \\\'type\\\', values_to = \\\'value\\\' ) %>% ggplot( aes(x = campaign_name, y = value, fill = type) ) + geom_col(position = \\\'fill\\\')+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5, size = 9)) + scale_fill_manual(values = c(transactionRevenue = \"forestgreen\", lost_revenue_by_budget = \"firebrick1\", lost_revenue_by_rank = \"tan1\")) + ggtitle(\"Lost Revenue\") + xlab(\\\'Campaign\\\') + ylab(\\\'Lost Revenue, %\\\')Какие действия можно предпринять по данным диаграммам
На данном этапе мы визуализировали данные о потерянном доходе, как глядя на диаграммы минимизировать эти потери?
Потерянный доход у нас разбит на 2 части:
- Доход потерянный в связи с низким рейтингом объявлений и проигранными аукционами.
- Доход потерянный в связи дефицитом бюджета.
В первом случае можно поднять ставки, если вам позволяет CPO, или проработать над показателем качества. О том как анализировать, и поднимать показатель качества я рассказывал в статье «Как визуализировать показатель качества ключевых слов — рецепт скрипта на языке R».
Во втором случае, потери можно минимизировать если вовремя и в полном объёме пополнять баланс вашего рекламного аккаунта.
Download a free checklist. Are Your Site Sales Dropping?Here is what to do! Get the checklist
Работаем с данными в CSV-файле
С языком R знакомы не все, возможно вы захотите построить на основе полученных данных какие-то другие диаграммы, или выполнить дополнительные расчёты. В таком случае возможно вам захочется прибегнуть к более привычным инструментам, например процессорам электронных таблиц.
Одной строкой кода вы можете сохранить полученные данные в csv файл:
# выгрузка в csv write.table( data, file = \\\'lostRevenue.csv\\\', sep = \";\", dec = \",\", row.names = FALSE, fileEncoding = \\\'1251\\\' )Полученный csv файл можно открыть в Excel, или загрузить в Google Spreadsheets и, уже используя их функционал, строить визуализации:
Ниже приведу описание полей csv файла:
Поле | Описание |
campaign_id | ID рекламной кампании |
campaign_name | Название рекламной кампании |
transactions | Количество полученных транзакций по рекламной кампании |
transactionRevenue | Сумма полученного дохода от рекламной кампании в валюте аккаунта Google ***ytics |
impressions | Количество полученных показов |
clicks | Количество полученных кликов |
cost | Сумма, потраченная на рекламную кампанию в валюте аккаунта Google Ads |
ctr | Кликабельность рекламной кампании |
search_budget_lost_impression_share | Процент потерянных показов в поиске в связи с преждевременным расходованием дневного бюджета |
search_rank_lost_impression_share | Процент потерянных показов в поиске в связи с низким рейтингом |
content_budget_lost_impression_share | Процент потерянных показов в контекстно медийной сети в связи с преждевременным расходованием дневного бюджета |
content_rank_lost_impression_share | Процент потерянных показов в контекстно медийной сети в связи с низком рейтингом |
lost_impression_by_budget_search | Количество потерянных показов в поиске в связи с преждевременным расходованием дневного бюджета |
lost_impression_by_rank_search | Количество потерянных показов в поиске в связи с низким рейтингом |
lost_impression_by_budget_display | Количество потерянных показов в контекстно медийной сети в связи с преждевременным расходованием дневного бюджета |
lost_impression_by_rank_display | Количество потерянных показов в контекстно медийной сети в связи с низком рейтингом |
lost_impression_by_budget | Общее количество потерянных показов в связи с преждевременным расходованием дневного бюджета |
lost_impression_by_rank | Общее количество потерянных показов в связи с низким рейтингом |
lost_clicks_by_budget | Общее количество потерянных кликов в связи с преждевременным расходованием дневного бюджета |
lost_clicks_by_rank | Общее количество потерянных кликов в связи с низким рейтингом |
lost_transactions_by_budget | Общее количество потерянных транзакций в связи с преждевременным расходованием дневного бюджета |
lost_transactions_by_rank | Общее количество потерянных транзакций в связи с низким рейтингом |
lost_transactions | Общее количество потерянных транзакций |
lost_revenue_by_budget | Общая сумма потерянного дохода в связи с преждевременным расходованием дневного бюджета |
lost_revenue_by_rank | Общая сумма потерянного дохода в связи с низким рейтингом |
lost_revenue | Общая сумма потерянного дохода |
Выводы
- Для реализации алгоритма необходимо:
- настроенное отслеживание транзакций в Google ***ytics;
- установленная связь между Google ***ytics и Google Ads;
- установленный язык R на ПК и инструмент для работы с ним — RStudio;
- Developer Client в консоли разработчика Google;
- токен разработчика Google Ads для доступа к API Google Ads.
- Чтобы запустить скрипт в RStudio, нужно:
- подключить пакеты «rgoogleads», «google***yticsR», «dplyr», «tidyr» и «ggplot2»;
- пройти аутентификацию в Google ***ytics и Google Ads;
- запустить скрипт.
- Чтобы визуализировать информацию, нужно освоить язык R или скачать данные в формате CSV-файла и обработать их в привычном редакторе таблиц.
Используя полученную информацию, можно определить, в каких рекламных кампаниях и по какой причине теряется доход. А на основании этой информации — перераспределить бюджет, изменить ставки или проработать ключевые слова с целью повышения показателя качества. Кстати, более подробно о том, как повысить показатель качества, можно узнать в этой статье.
Если вы делаете первые шаги в изучении языка R, то рекомендую начать его изучение с моего бесплатного курса “Язык R для пользователей Excel”. Также наверняка вам будет полезен мой telegram и youtube канал R4marketing, большая часть контента которого состоит из обучающих материалов по языку R.
Буду рад ответить на ваши вопросы в комментариях!
Комментарии:
Глоссарий глупых ошибок в аудите от топовых SEO-агентств...
15 10 2026 19:59:25
Узнай, как бэкофис группы помогает развиваться компаниям, и выиграй iPhone — подбери крутое название для нашей группы....
14 10 2026 8:26:16
Что поможет написать объявление без грамматических ошибок? В недрах агентства Netpeak рождается новый полезный сервис...
13 10 2026 14:45:54
Краткое сравнение двух инструментов и третьего на закуску....
12 10 2026 11:44:21
Какие регионы и тематики наиболее выгодно продвигать в каждом из представленных рекламных сервисов, где наибольшая доля мобильного трафика, и другая полезная статистика....
11 10 2026 13:39:36
Чат-боты упрощают процесс покупки продуктов онлайн. Netflix, Adidas, British Airways и другие крупные компании уже внедрили ботов в свои маркетинговые системы. Так ли это эффективно, если компании начинают отказываться от операторов в пользу ботов?...
10 10 2026 19:53:31
Оплата покупок в Facebook и Instagram через платежные ссылки...
09 10 2026 12:24:10
Мы собрали топ обидных промахов в сборе семантики, влияющих на качество и эффективность продвижения проекта...
08 10 2026 6:56:34
Как превратить неактивных подписчиков в вовлеченную аудиторию....
07 10 2026 23:48:10
Руководитель отдела HR, Ольга Пачесная, написала пост о главном — людях, которые выбрали работу в Netpeak....
06 10 2026 15:35:41
Как составить список, работа с которым займет меньше времени, чем обычно. На примере обработки запросов в ювелирной тематике....
05 10 2026 18:33:37
Какие шаги стоит сделать, чтобы обойти ямы профессионального влогинга и как заработать на его вершинах...
04 10 2026 11:20:25
Небольшой набор секретов по работе с Планировщиком ключевых слов гугла...
03 10 2026 19:39:17
Оставить заявку на горячей линии МОЗ — это только вершина айсберга. Необходимо провести опрос среди сотрудников компании. И не один. А ещё подготовить несколько помещений для вакцинации и отдыха. Узнать больше!...
02 10 2026 9:27:17
Расскажем про ошибки интернет-магазинов, которые трудно найти соответствующими программами и сервисами проверки...
01 10 2026 1:55:39
Как обойти «Зал ожидания» и другие неочевидные фишки...
30 09 2026 3:44:52
Раскрутить телеграм-канал с нуля до тысячи — реально. Раскрываем пошаговый алгоритм и даем рекомендации для SMM-специалистов....
29 09 2026 13:27:57
О чем стоит задуматься владельцам бизнеса и пользователям больших сайтов и почему Марку Цукербергу надо брать пример с телефонных сетей...
28 09 2026 23:49:35
Уроки, написанные понятным и доступным языком экспертами по контекстной рекламе, поисковому продвижению, SMM....
27 09 2026 2:30:36
Если на вашем смартфоне установлен только стандартный набор Uber, Glovo, 2ГИС и нескольких мессенджеров — смотрите подборку необычных и смешных приложений....
26 09 2026 15:35:54
Успешный блог помогает продавать товары и услуги, формировать сильный личный бренд, делиться своим опытом и задавать тренды. Осталось выбрать цель. Узнать как!...
25 09 2026 11:31:59
Персональный чек-лист автора десятков рассылок: три года опыта и регулярное общение с техподдержкой почтовых сервисов. Всё о том, как не попасть в спам и как из него спасаться. А может и не всё. Можете дополнить этот пост своими фишками? Делитесь!...
24 09 2026 20:33:59
All about internet mail. Примеры того, что стоит внедрить в рассылках почты онлайн....
23 09 2026 16:14:21
Метод не для всех, но увлеченным веб-аналитикой точно понравится!...
22 09 2026 23:28:37
Главные вопросы при запуске и настройке любых кампаний: «чего я хочу достичь?», «помогает ли текущая кампания достичь желаемых результатов?», «влияет ли кампания на эффективность других кампаний и источников?». Узнать больше....
21 09 2026 0:13:34
Динамический ремаркетинг: как вернуть посетителя на сайт и продать, когда человеку «надо ещё подумать»....
20 09 2026 1:40:44
Как помешать фейковым 404 страницам испортить статистику вашего сайта?...
19 09 2026 0:42:23
Как операторы поисковых запросов Google помогают при продвижении сайта и анализе конкурентов....
18 09 2026 11:15:17
Первое подробное руководство по работе с оконными функциями в Google BigQuery....
17 09 2026 2:28:32
Изначально необходимо планировать продолжительное сотрудничество с агентством для достижения поставленных целей. В своей стратегии мы использовали сезонность, чтобы достичь максимальных результатов для клиента...
16 09 2026 7:51:25
Проседание русскоязычной версии и риск потери трафика из-за дубля страниц — вот чего опасаются при внедрении украинской версии по умолчанию. Как этого избежать, читайте дальше....
15 09 2026 0:49:39
Обзор полезных сервисов и программ, которые увеличат эффективность работы из дома и улучшат организацию бизнес-комaнды...
14 09 2026 1:17:23
Как избежать скликивания — инструкция...
13 09 2026 9:43:38
Минимизация пропущенных звонков и ускорение обработки заявок с наглядными примерами из сервиса...
12 09 2026 0:23:32
Как начать бизнес в институте и масштабировать его до международной группы компаний. Собрали все самое интересное из интервью фаундера «Техно Ёж» Алексея Гулыя на конференции 8P....
11 09 2026 23:13:41
Как найти индивидуальный подход к аудитории на каждом этапе воронки продаж? В этом вам поможет правильно составленная стратегия контекстной рекламы....
10 09 2026 14:47:40
Футпринт — это признак, по которому можно спалить PBN-сетку сайтов. Это как родинки. Если взять двух парней с родинкой на щеке, то не факт, что они братья. Но если родинки совпадают на щеке, локте и колене, то тут что-то подозрительное...
09 09 2026 20:49:52
Благодаря внедрению интеpaктивной формы подписки увеличили количество ежемecячных подписок на 100%, доход — на 51%, а коэффициент транзакций — на 71%....
08 09 2026 0:13:50
Реклама Facebook для вовлечения пользователей помогает привлечь внимание к приложению и удержать пользователей в условиях перенасыщенного рынка....
07 09 2026 13:54:27
Проведение краудфандинговых кампаний — это бизнес. Это отдельный и вполне серьёзный рынок с уймой заточенных под ваши нужды услуг. Раньше нужно было ждать, пока проект пройдет обязательную проверку сотрудником Kickstarter, сейчас можно запускать кампанию...
06 09 2026 14:28:29
Почему нельзя просто взять и перевести. В худшем случае специализированный текст на иностранном языке должен стать для переводчика дорожной картой, в лучшем — источником вдохновения. Почему? Читайте об этом!...
05 09 2026 15:51:23
Чтобы создавать удобные отчеты, импортируйте данные из Яндекс.Директ в Microsoft Power BI с помощью язык R...
04 09 2026 23:17:49
Мы хотим найти и купить локальную комaнду SEO или PPC-специалистов. Как обычно, делаем предложение нестандартно — в блоге...
03 09 2026 3:18:20
У вас фирма с филиалами по всей стране? Короткий инструктаж по массовой загрузке адресов...
02 09 2026 13:21:53
Собирательный опыт сотрудников Netpeak. Мы изучали много всего в стиле «купить парковку в аэропорту Гатвика в Лондоне» и тому подобное. Но все, кроме описанного ниже, показалось сложным и ненадежным. Поэтому рассказываем про спокойные варианты....
01 09 2026 15:47:54
Отключение и удаление элементов, расширенные настройки, интересные дополнения и многое другое в нашем материале про мир SEO расширений....
31 08 2026 21:52:17
Если вы не можете улучшить свой уровень конверсий и поднять ставки, оптимизация показателя качества может быть вашим единственным выходом, чтобы сохранить высокий рейтинг без больших затрат. Статья, которая расставляет точки над «i»....
30 08 2026 1:43:29
SEO для цветочных магазинов с оплатой за трафик и полученные результаты...
29 08 2026 2:46:51
Прогнозирование с помощью «Планировщика ключевых слов»....
28 08 2026 17:20:55
Правильное распределение кодов ответов сервера позволяет поисковым системам экономить ресурсы на работу с сайтом. Поисковые роботы будут получать только необходимую информацию...
27 08 2026 23:39:27
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::