Как связать онлайн-рекламу и офлайн-продажи: строим прозрачную O2O-аналитику
Dilshat Rakhimov
May 2026 · 6 min read
Маркетинг часто живет в иллюзии: клики дешевеют, конверсия в заявку растет, CPL падает. Кажется, что кампании работают отлично. Но когда вы приходите к отделу продаж, оказывается, что эти дешевые лиды не конвертируются в реальные сделки. В B2B, недвижимости, автобизнесе и сложных B2C-услугах финальная продажа почти всегда происходит офлайн — по телефону или в офисе. И здесь возникает огромная слепая зона: рекламные алгоритмы видят только заявки, но не видят деньги.
Чтобы начать оптимизировать рекламу под реальную выручку, нужно выстроить мост между вашим сайтом и CRM (Online-to-Offline, или O2O). Разберем, как это работает на практике.

Контекст: цена "слепой зоны"
Если ваша аналитика заканчивается на моменте "Оставил заявку на сайте", рекламные алгоритмы 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.

Как это реализовать технически:
- Сбор идентификаторов: Когда пользователь заходит на сайт, небольшой JavaScript-скрипт должен вытащить значения GCLID и Client ID из кук (cookies) или URL-адреса.
- Скрытые поля: В формах захвата на вашем сайте (имя, телефон) программист добавляет скрытые поля (hidden fields). Пользователь их не видит, но в них автоматически подставляются собранные идентификаторы.
- Передача в CRM: Когда форма отправляется, в amoCRM или Bitrix24 создается новая сделка. В ней, помимо телефона и имени клиента, сохраняются технические поля:
Google Client IDиGCLID.
Теперь мы знаем не просто "Иван оставил заявку", а "Иван, который пришел по вот этому клику из кампании X, оставил заявку".
Этап 2: Возврат конверсии (Closing the Loop)
Вторая часть процесса — сообщить рекламной площадке о том, что сделка успешно завершилась. Допустим, менеджер по продажам в amoCRM переводит сделку в статус "Успешно реализовано" и указывает сумму — 500 000 тенге.
Нам нужно отправить эту информацию обратно.

Как работает отправка постбэка:
- Webhooks: Ваша CRM-система настраивается так, чтобы при переходе сделки в статус "Успешно реализовано" она отправляла вебхук (HTTP-запрос) на ваш сервер или промежуточный сервис (например, Make/Integromat).
- GA4 Measurement Protocol: Сервер берет сумму сделки и сохраненный ранее
Client ID, после чего отправляет серверный запрос в Google Analytics 4. GA4 распознаетClient IDи привязывает эти 500 000 тенге к той самой сессии, которая была на сайте месяц назад.¹ - 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