Как связать онлайн-рекламу и офлайн-продажи: строим прозрачную O2O-аналитику

Dilshat Rakhimov
May 2026 · 6 min read

Маркетинг часто живет в иллюзии: клики дешевеют, конверсия в заявку растет, CPL падает. Кажется, что кампании работают отлично. Но когда вы приходите к отделу продаж, оказывается, что эти дешевые лиды не конвертируются в реальные сделки. В B2B, недвижимости, автобизнесе и сложных B2C-услугах финальная продажа почти всегда происходит офлайн — по телефону или в офисе. И здесь возникает огромная слепая зона: рекламные алгоритмы видят только заявки, но не видят деньги.

Чтобы начать оптимизировать рекламу под реальную выручку, нужно выстроить мост между вашим сайтом и CRM (Online-to-Offline, или O2O). Разберем, как это работает на практике.

Cover Image

Контекст: цена "слепой зоны"

Если ваша аналитика заканчивается на моменте "Оставил заявку на сайте", рекламные алгоритмы Google Ads или Meta обучаются приводить вам пользователей, которые с наибольшей вероятностью заполнят форму. Они не знают, купит ли этот человек ваш продукт.

В итоге бюджет перетекает на площадки с дешевым, но мусорным трафиком. Выигрывают те команды, которые отправляют сигнал об успешной офлайн-сделке обратно в рекламный кабинет.

Ваша задача — перевести алгоритмы с оптимизации по CPL (Cost Per Lead) на оптимизацию по ROAS (Return On Ad Spend).

Этап 1: Захват данных (The Data Bridge)

Вся магия O2O строится на одном правиле: мы должны промаркировать каждого посетителя и сохранить эту "метку" вместе с его контактными данными в CRM (например, в amoCRM или Bitrix24).

Когда пользователь кликает по рекламе, Google добавляет к ссылке специальный параметр — GCLID (Google Click ID). Одновременно с этим счетчик Google Analytics 4 (GA4) присваивает браузеру пользователя уникальный идентификатор — Client ID.

O2O Capture Schema

Как это реализовать технически:

  1. Сбор идентификаторов: Когда пользователь заходит на сайт, небольшой JavaScript-скрипт должен вытащить значения GCLID и Client ID из кук (cookies) или URL-адреса.
  2. Скрытые поля: В формах захвата на вашем сайте (имя, телефон) программист добавляет скрытые поля (hidden fields). Пользователь их не видит, но в них автоматически подставляются собранные идентификаторы.
  3. Передача в CRM: Когда форма отправляется, в amoCRM или Bitrix24 создается новая сделка. В ней, помимо телефона и имени клиента, сохраняются технические поля: Google Client ID и GCLID.

Теперь мы знаем не просто "Иван оставил заявку", а "Иван, который пришел по вот этому клику из кампании X, оставил заявку".

Этап 2: Возврат конверсии (Closing the Loop)

Вторая часть процесса — сообщить рекламной площадке о том, что сделка успешно завершилась. Допустим, менеджер по продажам в amoCRM переводит сделку в статус "Успешно реализовано" и указывает сумму — 500 000 тенге.

Нам нужно отправить эту информацию обратно.

O2O Postback Schema

Как работает отправка постбэка:

  1. Webhooks: Ваша CRM-система настраивается так, чтобы при переходе сделки в статус "Успешно реализовано" она отправляла вебхук (HTTP-запрос) на ваш сервер или промежуточный сервис (например, Make/Integromat).
  2. GA4 Measurement Protocol: Сервер берет сумму сделки и сохраненный ранее Client ID, после чего отправляет серверный запрос в Google Analytics 4. GA4 распознает Client ID и привязывает эти 500 000 тенге к той самой сессии, которая была на сайте месяц назад.¹
  3. Google Ads Offline Conversions: Параллельно (или через импорт из GA4) данные отправляются в Google Ads. Платформа берет GCLID и точно определяет, какое ключевое слово и какое объявление принесло эту продажу.

В этот момент рекламный алгоритм получает важнейший сигнал: "Вот такие пользователи приносят реальные деньги. Ищи похожих".

Специфика O2O в разных индустриях

Базовая логика моста "Клик -> Идентификатор -> CRM -> Постбэк" универсальна, но на практике архитектура сильно зависит от бизнес-модели. Несколько реальных кейсов.

1. Fintech & Banking (Кейсы BCC.kz и СК Халык) В финтехе главный идентификатор пользователя — это не просто cookie, а ИИН и номер телефона. Например, в нашем опыте работы с BCC.kz (Bank CenterCredit), пользователь кликает на рекламу и попадает на сайт, где трекер сохраняет его click_id. Затем клиент оформляет заявку, вводя ИИН. Когда этот же человек приходит в физическое отделение и сканирует QR-код для электронной очереди, он снова вводит свой ИИН. Ночные batch-джобы сводят эти данные: если ИИН из офлайн-отделения совпадает с ИИН, который кликал на рекламу в последние 7 дней, мы отправляем успешную конверсию в Google Ads. В случае с СК Халык (страхование) добавляется другая сложность — WebView. Около 85% полисов оформляются внутри мобильного приложения Halyk SuperApp. В таких условиях невозможно полагаться на стандартные браузерные UTM-метки. Атрибуцию необходимо прокидывать глубоко в банковскую АБС, связывая каждый конкретный оформленный полис (ОСАГО, КАСКО) и его фактическую страховую премию с первоначальным источником трафика.

2. E-commerce & Retail В классическом ритейле пользователь не заполняет CRM-форму перед тем, как пойти в магазин. Здесь мостом выступает программа лояльности. Клиент видит рекламу, регистрируется в приложении магазина (получая Client ID), а когда приходит на физическую кассу, показывает штрих-код из приложения. POS-система магазина фиксирует покупку и отправляет данные на сервер, который затем прокидывает Measurement Protocol запрос в GA4. Альтернативный путь — уникальные офлайн-промокоды, выданные в онлайне.

3. FMCG (Товары повседневного спроса) Самый сложный O2O-сценарий, так как бренды (например, Coca-Cola или Procter & Gamble) не владеют полками супермаркетов и не имеют доступа к их кассовым системам (POS). Здесь атрибуция строится на вовлечении самого покупателя: сканирование чеков с акционными товарами через кэшбэк-приложения (Promo/Loyalty Apps) или сканирование уникальных QR-кодов внутри упаковки. Это позволяет бренду замкнуть цепочку от просмотра видеорекламы до покупки банки газировки в магзине у дома.

Что делать дальше

Маркетологам:

  • Перестаньте KPI-ить подрядчиков исключительно за "дешевые лиды". Введите метрику CPO (Cost Per Order) или ROAS.
  • Убедитесь, что цикл сделки позволяет алгоритмам нормально обучаться. Если от заявки до продажи проходит больше 90 дней, данные в Google Ads могут "протухнуть". В таком случае передавайте промежуточные этапы (например, "Договор отправлен").

Аналитикам:

  • Настройте дедупликацию. Если пользователь оставил заявку, а потом еще и позвонил, в CRM не должно появиться две разные успешные сделки с разными идентификаторами.
  • Следите за качеством данных (Data Quality). Регулярно сверяйте количество отправленных вебхуков с количеством зарегистрированных конверсий в GA4.

Разработчикам:

  • При передаче данных через Measurement Protocol обязательно проверяйте корректность формирования client_id (например, GA1.2.123456789.123456789) и параметры сессии, иначе GA4 не сможет склеить офлайн-событие с веб-сессией.²
  • Относитесь к персональным данным ответственно. Если вы используете Enhanced Conversions, перед отправкой емейлов или телефонов в Google обязательно хэшируйте их (SHA-256).

Построение O2O-аналитики — это сложный технический проект, но это единственный способ заставить рекламу работать на рост бизнеса, а не на красивые отчеты в кабинете.

Dilshat Rakhimov
Growth Analytics & Digital Architecture

¹ GA4 Measurement Protocol Documentation
² Google Ads Offline Conversion Tracking