Инженерный хаб

AdSense в Казахстане приносит копейки? Как мы сделали x3 к RPM, скормив GA4 Predictive Audiences в Google Ad Manager

13.08.2026
Шарафутдинов Р.

Если вы владелец контентного проекта в Казахстане, вы знаете это чувство. Вы открываете дашборд Google AdSense в конце месяца, смотрите на трафик (сотни тысяч уникальных пользователей!), а затем смотрите на доход. И плачете. RPM (Revenue Per Mille — доход на тысячу показов) болтается где-то на уровне $0.15 - $0.30. Вы зарабатываете копейки, в то время как ваши серверы жрут бюджет на AWS или GCP с аппетитом голодного студента.

AdSense — это отличный инструмент для старта. Вставил один скрипт в <head>, включил Auto Ads и пошел пить кофе. Но за эту простоту вы платите огромную цену. AdSense — это "черный ящик", который продает ваш инвентарь (рекламные места) рекламодателям по остаточному принципу. Вы находитесь на самом дне пищевой цепи programmatic-рекламы.

Несколько месяцев назад к нам в OZAT пришел крупный казахстанский медиа-паблишер с болью: «У нас миллион уников в месяц. AdSense приносит слезы. Помогите монетизировать это нормально, не увешивая сайт баннерами букмекерских контор». Мы приняли вызов. Наш ответ — отказ от дефолтного AdSense, переход на Google Ad Manager (GAM) и внедрение магии машинного обучения через GA4 Predictive Audiences. Итог? Увеличение RPM в 3.5 раза за два месяца.

Почему AdSense в Казахстане работает плохо?

Давайте разберем механику. Когда вы используете обычный AdSense, Google оценивает вашего пользователя на лету. В Казахстане рынок рекламодателей, использующих программатик с высокими ставками, исторически меньше, чем в US или EU. Большинство рекламодателей крутят ретаргетинг маркетплейсов или банковские продукты с жестким ограничением CPA (Cost Per Action).

В результате, если Google не знает точно, что ваш читатель прямо сейчас готов взять ипотеку или купить стиральную машину, он показывает ему дешевую рекламу с оплатой за клик (CPC), которая приносит вам центы.

Вывод: Чтобы зарабатывать больше, нужно продавать не просто "место на сайте", а аудиторию с высокой вероятностью конверсии. Рекламодатели готовы платить огромные деньги за CPM (оплату за показы), если они уверены, что показывают баннер "горячему" клиенту.

Эволюция монетизации: Переход на Google Ad Manager (GAM)

Первый шаг к взрослой монетизации — переход на Google Ad Manager. В отличие от AdSense, GAM — это полноценный рекламный сервер (Ad Server). Он позволяет:

  1. Настроить Header Bidding: Заставить разные рекламные сети (Criteo, RTB House, Yandex, AdSense) торговаться за показ на вашем сайте в реальном времени. Кто дал больше центов — тот и показал баннер.
  2. Продавать Direct Deals: Напрямую продавать премиум-места крупным брендам (например, Toyota или Kaspi) по фиксированному высокому CPM, минуя комиссии бирж.
  3. Использовать First-Party Data: Передавать в рекламный сервер собственные данные о пользователях (Key-Values).

Магия данных: GA4 Predictive Audiences

Здесь начинается самое интересное. Мы не просто поставили GAM. Мы решили использовать поведенческие данные. В Google Analytics 4 (GA4) есть потрясающая, но редко используемая фича — Predictive Metrics (Предиктивные метрики).

GA4 использует встроенные модели машинного обучения Google, чтобы анализировать поведение пользователей на вашем сайте (что читают, как долго, куда кликают, с каких устройств сидят) и предсказывать их будущие действия. Например, модель может создать аудиторию «Пользователи с высокой вероятностью покупки в ближайшие 7 дней» (Likely 7-day purchasers).

Наша архитектурная гипотеза была такой:

  • Что если мы возьмем эти предиктивные аудитории из GA4?
  • Синхронизируем их с Google Ad Manager (через Audience Linking)?
  • Создадим в GAM специальные рекламные кампании (Line Items) с высоким приоритетом и высоким floor price (минимальной ценой), которые будут таргетироваться ТОЛЬКО на эту "горячую" аудиторию?

Спойлер: это сработало блестяще.

Реализация под капотом: Связка фронтенда и Ad Manager

Чтобы вся эта схема заработала, нам нужно правильно инициализировать Google Publisher Tag (GPT.js) на клиенте и передать нужные параметры таргетинга (Key-Values). Мы настроили интеграцию так, чтобы статус пользователя (принадлежность к премиум-аудитории) забирался из нашего data-layer и пробрасывался в GAM.

.addService(googletag.pubads());

  // Читаем данные пользователя из нашего DataLayer (синхронизированного с GA4)
  // В реальном проекте этот флаг может приходить из вашего CDP или через Google Audience API
  var userSegment = window.dataLayerTracker && window.dataLayerTracker.isPredictiveBuyer ? 'high_value' : 'standard';
  var userInterests = window.dataLayerTracker ? window.dataLayerTracker.categoryAffinities : [];

  // Передаем Key-Values таргетинг на уровень слота
  adSlot.setTargeting('audience_value', userSegment);
  
  if (userInterests.length > 0) {
    adSlot.setTargeting('interests', userInterests);
  }

  // Настройка PubAds Service
  googletag.pubads().enableSingleRequest();
  googletag.pubads().collapseEmptyDivs();
  
  // Включаем безопасный фрейм для защиты от вредоносных креативов
  googletag.pubads().setSafeFrameConfig({ sandbox: true });

  googletag.enableServices();
});

Смотреть код на GitHub (OZAT-kz)

В самом Google Ad Manager мы создали сделку (Programmatic Guaranteed) для премиальных рекламодателей, где условием показа стоит audience_value = 'high_value'. За такие показы рекламодатели из e-commerce и автобизнеса готовы платить CPM от $2.50 до $5.00, потому что они знают — этот пользователь "созрел" для покупки!

Рост RPM (Revenue Per Mille) по сегментам

Глубокая аналитика: GA4 + BigQuery

Но встроенных предиктивных аудиторий GA4 нам показалось мало. Стандартная модель требует огромного объема конверсий (минимум 1000 покупателей за 7 дней), что для медиа-сайта без корзины товаров сложно достижимо. Поэтому мы развернули кастомный пайплайн в Google Cloud Platform (GCP).

Мы включили ежедневный экспорт сырых данных из GA4 в BigQuery. Внутри BigQuery мы написали SQL-модели, которые рассчитывают "Propensity Score" (индекс вовлеченности) для каждого user_pseudo_id на основе времени на сайте, глубины скролла и пересечения категорий контента.

WHERE
    _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 14 DAY)) 
                      AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
  GROUP BY
    user_pseudo_id
)

SELECT
  user_pseudo_id,
  active_days,
  total_engagement_minutes,
  -- Формируем скоринг. Веса подобраны на основе исторической корреляции с кликабельностью (CTR)
  (active_days * 2) + (deep_scrolls * 1.5) + (total_engagement_minutes * 0.5) AS propensity_score,
  
  -- Размечаем сегменты
  CASE 
    WHEN (active_days * 2) + (deep_scrolls * 1.5) + (total_engagement_minutes * 0.5) > 50 THEN 'premium_reader'
    WHEN (active_days * 2) + (deep_scrolls * 1.5) + (total_engagement_minutes * 0.5) BETWEEN 20 AND 50 THEN 'engaged_reader'
    ELSE 'casual_reader'
  END AS audience_segment
FROM
  UserActivity
ORDER BY
  propensity_score DESC;

Смотреть код на GitHub (OZAT-kz)

Результаты этой SQL-модели выгружаются обратно в GAM через Google Cloud Storage и API обновления аудиторий. Таким образом, даже без явных покупок, мы находим самых лояльных читателей и продаем их рекламодателям по повышенному прайсу как "Engaged Audience".

Проблема Third-Party Cookies и Privacy Sandbox

Нельзя говорить про AdTech в 2026 году и не упомянуть смерть сторонних cookie (Third-Party Cookies). Браузеры активно блокируют кросс-доменное отслеживание. И именно поэтому наш подход с First-Party данными так выстрелил.

Мы не полагаемся на то, что Criteo или Google "узнают" пользователя по старой куке. Мы сами анализируем его на своем домене (First-Party Data) с помощью BigQuery, вешаем на него ярлык "Дорогой пользователь" и отдаем рекламному серверу готовый сегмент. Для рекламодателя это глоток свежего воздуха — они получают качественный таргет в эпоху приватности, а паблишер получает свои законные деньги.

Подводя итоги

Монетизация медийного трафика в Казахстане — это давно уже не "вставь скрипт AdSense и жди". Это суровая data-инженерия. Если вы продолжите лить слепой трафик в открытый аукцион, вы так и будете получать $0.15 за тысячу показов.

Переход на Google Ad Manager в связке с BigQuery и GA4 Predictive ML позволил нашему клиенту:

  • Увеличить общий RPM с $0.25 до $0.85 (x3.4 рост!).
  • Заключить прямые сделки (Direct Deals) с автосалонами на сегмент "Автолюбители с высоким Propensity Score" по CPM $3.00+.
  • Снизить общее количество рекламы на сайте на 15% (пользователи сказали спасибо), при этом увеличив итоговую выручку. Больше не нужно засорять сайт дешевыми тизерами.

Данные — это новая нефть. И если вы не умеете их перерабатывать, вы просто продаете сырье за бесценок. Стройте инфраструктуру данных, анализируйте свою аудиторию, обогащайте инвентарь First-Party данными.

Ну а если вам нужна помощь с переездом на Google Ad Manager, настройкой Header Bidding или внедрением BigQuery ML-моделей — инженеры OZAT всегда готовы к сложным вызовам. Мы заставим ваш трафик приносить настоящие деньги.

Реальные ограничения и компромиссы решения

Инженерный аудит: реальные ограничения и компромиссы

Инженерная честность OZAT: при внедрении решения «AdSense в Казахстане приносит копейки? Как мы сделали x3 к RPM, скормив GA4 Predictive Audiences в Google Ad Manager» в промышленную эксплуатацию вы обязаны учитывать следующие технологические ограничения:

  1. Требования к объему обучающей выборки: Для генерации точных прогнозных аудиторий (Predictive Audiences) в GA4 требуется минимум 1 000 совершенных конверсий за последние 28 дней и не менее 1 000 пользователей, не совершивших покупку, иначе модель не активируется.
  2. Задержка синхронизации аудиторий (Propagation Latency): Обновление когорт между GA4 и Google Ad Manager происходит с интервалом от 4 до 24 часов, что не позволяет мгновенно реагировать на микросегментные скачки в рамках одной 10-минутной сессии.
  3. Ограничения cookieless-окружения: В браузерах с блокировкой сторонних трекеров (Safari ITP, Firefox ETP) точность прогноза снижается на 15–20% без внедрения Server-Side Tagging на собственном домене.
  4. FinOps и расход квот: Экспорт необработанных событий из GA4 в BigQuery при посещаемости от 500 тыс. хитов/сутки требует оптимизации партиционирования по дням во избежание роста затрат на сканирование.

💡 Совет OZAT: Готовы к внедрению? Рассчитайте архитектуру и бюджет через Scope Builder или пройдите бесплатный ИИ-аудит.

Рустам Шарафутдинов

Рустам Шарафутдинов

Автор Инженерного хаба

Эксперт в области архитектуры Google Cloud и Senior Full-Stack разработчик с более чем 15-летним опытом. Специализируется на отказоустойчивых архитектурах, оптимизации высоконагруженных проектов и интеграции AI (Vertex AI).

Экспертность: GCP, Kubernetes, Микросервисы, React, Node.js

Комментарии (0)