Marketing and Sales Automation via CRM: Guide & Checklist

Cover with the thesis: “Revenue grows when CRM closes the marketing loop”

TL;DR

Connect marketing and CRM so data flows both ways and impacts revenue. This article lists required fields, MQL/SQL rules, webhook and offline conversion examples, a CRM comparison table and an implementation checklist. Focused on B2B and IT with RU/EAEU compliance.

В B2B и IT деньги теряются там, где маркетинг и CRM не разговаривают. Автоматизация маркетинга и продаж через CRM — это не «поставить роботов», а замкнуть цикл данных: от клика и звонка до выручки и обратно в рекламные алгоритмы. Когда UTM, GCLID/FBCLID и статусы сделок сходятся в одной системе, снижаются CAC, растёт ROAS и исчезают слепые зоны.

Что такое автоматизация маркетинга и продаж через CRM — кратко

Автоматизация — это набор процессов и интеграций, которые:

  • передают в CRM полную контекстную информацию о лидах (UTM‑параметры, GCLID/FBCLID, источник звонка, содержимое формы, согласие);
  • возвращают из CRM факты продаж и статусы (MQL/SQL, суммы, причины отказов, даты оплат);
  • включают сквозную аналитику и автоматические действия: скоринг, маршрутизацию лидов, ретаргетинг из CRM, выгрузку офлайн‑конверсий в Ads/Директ;
  • обеспечивают единые регламенты и контроль качества данных.
Quick wins from a basic end-to-end integration
Quick wins from a basic end-to-end integration

Бизнес‑цели интеграции: какие метрики меняются (CAC, LTV, ROAS, скорость обработки)

Коротко по эффектам:

  • CAC падает за счёт отключения «пустых» связок UTM и перераспределения бюджета в источники с высоким CR→SQL/оплате.
  • ROAS растёт, когда офлайн‑продажи возвращаются в Ads/Директ, а оптимизация строится по реальной ценности.
  • LTV повышается благодаря сегментации и триггерам повторных касаний.
  • Скорость обработки лидов сокращается с автодобавлением задач и маршрутизацией по SLA.

Cheat‑sheet по юнит‑экономике:

  • CAC = Расходы на привлечение / Количество новых клиентов.
  • ROAS = Выручка, атрибутированная рекламе / Рекламные расходы.
  • LTV (B2B) ≈ ARPA × Валовая маржа × Срок жизни (мес).

Пример: 1 200 000 ₽ расходов, 80 новых клиентов ⇒ CAC = 15 000 ₽. Выручка 6 000 000 ₽ ⇒ ROAS = 5. Если после интеграции расходы те же, а клиентов 110, CAC падает до 10 909 ₽, ROAS растёт.

Relative CAC and ROAS values, index before=100%
Relative CAC and ROAS values, index before=100%

Какие поля и данные обязательно передавать из маркетинга в CRM (с таблицей)

Передавайте максимум контекста — иначе сквозная аналитика будет хромать.

Обязательная матрица полей (marketing → CRM):

ПолеПримерТипОткудаЗачем
utm_sourcegooglestringURL/формыАтрибуция канала
utm_mediumcpcstringURL/формыРазделение платного/органики
utm_campaignbrand_searchstringURL/формыАналитика по кампаниям
utm_contentadgroup_astringURL/формыКреатив/группа объявлений
utm_termcrm integrationstringURL/формыКлючевая фраза
GCLID / FBCLID / yclidEAIaIQobChM…stringКуки/скрытое полеОфлайн‑конверсии в Ads/Meta/Директ
ClientID/DeviceID123.456stringАналитикаСшивка сессий
Referrersite.com/pagestringБраузерЦепочка визитов
Landing URL/pricingstringФормыПонимание намерения
Call ID (коллтрекинг)987654stringCalltouch/CoMagic/UISАтрибуция звонков
Форма/точка входаdemo_requestenumСайт/чат/ботКачество лид‑магнита
Consent (согласие)true/датаboolean/dateЧекбокс/скриптТребование закона
Гео/валютаRU / RUBenumПользователь/аккаунтОтчётность

Рекомендация: сохраняйте сырые UTM и «нормализованные» (mapping к единому справочнику). Для звонков — храните номер пула, длительность, статус разговора.

Closing the loop: from click to payment
Closing the loop: from click to payment

Какие данные и статусы возвращать из CRM в маркетинг (с таблицей)

Без обратной связи оптимизации не будет. Возвращайте как минимум:

ПолеПримерТипКогда отправлятьЗачем
Lead StatusMQL / SQL / Won / LostenumИзменение стадииПрокси‑сигналы для алгоритмов
Deal Amount420000numberСоздание/изменение сделкиROAS/ROMI по каналам
Product/SegmentEnterpriseenumSQLСегментация и LTV
Close Date2026‑07‑18T10:12ZdatetimeЗакрытиеОкно атрибуции
Lost ReasonЦена/СрокиenumLostУлучшение офферов
Manager IDs.petrovstringСозданиеSLA/нагрузка
Score65/100numberСоздание/обновлениеLead scoring и приоритизация
Consent Statusactive/withdrawnenumЛюбое обновлениеПравомерные рассылки

Шаблоны сегментов для ретаргетинга из CRM:

  • SQL без сделки > 30 дней — «догрев» с кейсами и ROI‑калькулятором.
  • Потерянные по «Цена» — акция/рассрочка.
  • Покупатели AOV > медианы — апселл/доп. модуль.
  • Новые MQL из крупных компаний — персональные офферы/ABM.

Технические варианты реализации (API, вебхуки, ETL, Sheets, iPaaS)

  • Вебхуки CRM → маркетинг: просто, событийно. Подходит для статусов, согласий, сумм. Следите за ретраем и логами.
  • API маркетинга/CRM: двусторонний гибкий обмен, контроль ошибок, но требуется разработка и токены.
  • iPaaS (Make/Zapier): быстро стартовать, удобно для SMB, но осторожно с объёмами и PII.
  • ETL/Batch (ежедневный экспорт в DWH/Sheets): стабильно для отчётности и power‑users, не годится для real‑time оптимизации.
  • Серверные формы (server‑to‑server): надёжная доставка лидов и click ID, минует блокировщики.

Выбирайте гибрид: события через вебхуки, отчётность через ETL, серийные задачи через iPaaS.

Передача офлайн‑конверсий в Google Ads и Meta — пошаговый пример (GCLID/FBCLID)

  1. Захват click ID. На лендинге сохраняйте GCLID/FBCLID/yclid в куки и скрытые поля формы.
  2. Запись в CRM. Создайте поля под click ID и UTM, сохраняйте время события.
  3. Маппинг конверсий. Определите, какие статусы считаются целевыми: SQL, Won или «Счёт оплачен».
  4. Подготовка нагрузки. Формируйте запись: click ID, имя конверсии, время, ценность, валюта.
  5. Загрузка. Отправляйте через API или CSV‑файл по расписанию (час/день). Для Meta — Conversions API с event_name, event_time, value, currency.
  6. Проверка. Сверяйте загрузку и отклик кампаний раз в неделю, корректируйте окно атрибуции.

CSV для Google Ads (UTF‑8):

Google Click ID,Conversion Name,Conversion Time,Conversion Value,Conversion Currency
EAIaIQobChMIabc...,Qualified SQL,2026-07-18 10:12:00,0,RUB
EAIaIQobChMIxyz...,Deal Won,2026-08-02 16:45:00,420000,RUB

Пример JSON для Meta Conversions API (сервер → Meta):

{
  "data": [
    {
      "event_name": "Lead",
      "event_time": 1720590000,
      "action_source": "website",
      "event_source_url": "https://example.com/demo",
      "user_data": {"client_user_agent": "Mozilla/...", "fbc": "fb.1.1720..."},
      "custom_data": {"currency": "RUB", "value": 0, "lead_type": "SQL"}
    }
  ]
}

Шаблон регламента MQL → SQL и примеры правил (чек‑лист)

База: общий ICP и критерии статусов согласованы маркетингом и продажами.

Правила «если — то» (пример):

  • Если должность в форме ∈ {CEO, CTO, Head of IT} И компания > 50 сотрудников И регион ∈ {RU, EAEU} И интерес «Демо», то статус = MQL.
  • Если назначена встреча И подтверждён бюджет ≥ 300 000 ₽ И есть сроки внедрения ≤ 90 дней, то статус = SQL.
  • Если нет ответа 7 дней после 3 касаний, то вернуть из SQL в MQL и запустить nurturing‑цепочку.
  • Если сделка закрыта Won, то отправить событие «Оплата» с суммой в Ads/Директ; если Lost, передать причину.

SLA и роли:

  • Маркетинг: качество данных формы, корректность UTM/click ID; отчёты CAC/ROAS.
  • Продажи: своевременная смена статусов, заполнение суммы и «Lost Reason»; срок реакции ≤ 15 минут.
  • Аналитика/IT: стабильность интеграций, логи, мониторинг отказов вебхуков.

Чек‑лист внедрения: этапы, сроки, роли и контроль качества данных

Этап 1. Аудит (0,5–1 нед)

  • Карта воронки, источники лидов, текущие поля в CRM, телефония/коллтрекинг, пиксели/теги.
  • Решения: какие конверсии считаем целевыми, окно атрибуции, валюта отчётности.

Этап 2. Схема данных (0,5 нед)

  • Справочники каналов, поля для UTM/GCLID/Consent, статусы лидов/сделок, MQL/SQL критерии.

Этап 3. Захват и доставка (1 нед)

  • Скрытые поля форм, server‑to‑server дубль, проксирование звонков из коллтрекинга в CRM.

Этап 4. Обратная передача (1–2 нед)

  • Вебхуки из CRM по статусам/оплатам, ETL nightly экспорты, ретаргетинг‑сегменты.

Этап 5. Отчётность и оптимизация (1 нед)

  • Дашборды CAC/ROAS/LTV в Power BI/Looker Studio; загрузка офлайн‑конверсий; A/B тест гипотез источников.

Контроль качества данных (еженедельно):

  • Доля лидов с полными UTM ≥ 95%; доля лидов с click ID ≥ 70% платного трафика; доля сделок с заполненной суммой ≥ 98%; среднее время реакции менеджера ≤ 15 минут.

Сравнительная таблица CRM: функции, цена, для кого подходит (SMB/Mid/Enterprise)

ПлатформаКлючевоеМаркетинг‑автоВебхуки/APIЛокализация РФПример ценыСегмент
HubSpotСильная маркетинг‑часть, воронкиДа (email, nurturing)ШирокиеМеждународнаяот $30–$100+/польз.SMB/Mid
amoCRMПростая воронка, виджетыОграниченно (через виджеты)ДаСильная RU‑экосистемаот 900–2000 ₽/польз.SMB
Bitrix24CRM+таски+телефонияДа (роботы/триггеры)ДаГлубокая интеграция с 1С/телефониейот 2490 ₽/месSMB/Mid
SalesforceГибкость EnterpriseЧерез Marketing/EngageШирокиеМеждународнаяEnterprise ценообразованиеMid/Enterprise
PipedriveУдобно для продажЧерез аддоныДаRU‑локализация частичноот €14.90/польз.SMB

Примечания: для РФ/ЕАЭС учитывайте хранение ПДн (152‑ФЗ), локальные телефонии и коллтрекинги (Calltouch, CoMagic, UIS), интеграцию с 1С.

KPI и дашборды: примеры метрик и готовые SQL/Looker/GDS‑дашборды

Базовые показатели:

  • CR по воронке: Лид→MQL, MQL→SQL, SQL→Won.
  • CAC по источнику/кампании, ROAS по источнику, AOV и LTV по сегментам.
  • Скорость реакции и доля автодозвона/автосообщений.

Пример SQL (PostgreSQL) — выручка и CAC по источнику за месяц:

WITH deals AS (
  SELECT d.id, d.amount, d.close_date::date, l.utm_source, l.lead_id
  FROM crm_deals d
  JOIN crm_leads l ON l.id = d.lead_id
  WHERE d.status = 'Won' AND d.close_date >= date_trunc('month', now())
),
costs AS (
  SELECT utm_source, SUM(cost) AS spend
  FROM ad_costs
  WHERE date >= date_trunc('month', now())
  GROUP BY 1
)
SELECT d.utm_source,
       SUM(d.amount) AS revenue,
       COALESCE(c.spend,0) AS spend,
       CASE WHEN COALESCE(c.spend,0)=0 THEN NULL ELSE SUM(d.amount)/c.spend END AS roas
FROM deals d
LEFT JOIN costs c ON c.utm_source = d.utm_source
GROUP BY 1,3
ORDER BY revenue DESC;

Looker Studio формулы:

  • CAC = SUM(Расходы) / COUNTD(Клиенты)
  • ROAS = SUM(Выручка) / SUM(Расходы)
  • CR SQL = COUNT(SQL) / COUNT(MQL)

Power BI: матрица по utm_source×статусу, линейный график ROAS по неделям, KPI‑карточки CAC/LTV.

Шаблоны интеграций: webhook JSON, пример server‑to‑CRM POST (код), автоматическая загрузка в Ads

Payload вебхука CRM → маркетинг (статус сделки):

{
  "event": "deal.updated",
  "data": {
    "deal_id": 8421,
    "status": "Won",
    "amount": 420000,
    "currency": "RUB",
    "close_date": "2026-07-18T10:12:00Z",
    "lead": {
      "id": 5512,
      "utm": {
        "source": "google",
        "medium": "cpc",
        "campaign": "brand",
        "content": "adgroup_a",
        "term": "crm integration"
      },
      "click_id": {"gclid": "EAIaIQobChMI..."}
    }
  }
}

Server‑to‑CRM POST (PHP):

<?php
$payload = [
  'name' => $_POST['name'] ?? '',
  'email' => $_POST['email'] ?? '',
  'phone' => $_POST['phone'] ?? '',
  'utm_source' => $_POST['utm_source'] ?? $_COOKIE['utm_source'] ?? '',
  'utm_medium' => $_POST['utm_medium'] ?? $_COOKIE['utm_medium'] ?? '',
  'utm_campaign' => $_POST['utm_campaign'] ?? $_COOKIE['utm_campaign'] ?? '',
  'utm_content' => $_POST['utm_content'] ?? $_COOKIE['utm_content'] ?? '',
  'utm_term' => $_POST['utm_term'] ?? $_COOKIE['utm_term'] ?? '',
  'gclid' => $_POST['gclid'] ?? $_COOKIE['gclid'] ?? '',
  'consent' => isset($_POST['consent']) ? 'true' : 'false',
  'consent_time' => date('c')
];

$ch = curl_init('https://crm.example.com/api/leads');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json','Authorization: Bearer TOKEN']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch)) error_log('CRM error: '.curl_error($ch));
curl_close($ch);
?>

Google Ads offline conversions (Python, псевдокод):

from datetime import datetime
records = [
  {"gclid": "EAIaIQob...", "name": "Qualified SQL", "time": "2026-07-18 10:12:00", "value": 0, "currency": "RUB"},
  {"gclid": "EAIaIQob...", "name": "Deal Won", "time": "2026-08-02 16:45:00", "value": 420000, "currency": "RUB"}
]
for r in records:
    payload = {
      "googleClickId": r["gclid"],
      "conversionName": r["name"],
      "conversionTime": r["time"],
      "conversionValue": r["value"],
      "currencyCode": r["currency"]
    }
    # client.upload_click_conversion(payload)

Кейсы: 2–3 примера с цифрами (рост конверсии, снижение CPL, ROI автоматизации)

Кейс 1. B2B‑интегратор (Mid)

  • До: UTM без GCLID, отчёты по лидам, CPL 9 200 ₽, CR MQL→SQL 28%.
  • Что сделали: добавили server‑to‑server формы, поля click ID, вебхуки статусов, офлайн‑конверсии «SQL» и «Оплата» в Ads, ретаргетинг по «Lost: Цена».
  • После 90 дней: CPL −35%, CR MQL→SQL до 41%, ROAS +48%.

Кейс 2. IT‑услуги (SMB)

  • До: заявки из чата, дубли в CRM, нет согласий. Менеджеры реагировали 2–3 часа.
  • Что сделали: маршрутизация по сегменту, авто‑задача ≤ 15 минут, скоринг > 60 — звонок в приоритете, email‑догрев для < 60.
  • Результат: время реакции 11 минут, CR SQL→Won +22%, средний чек +17% благодаря апселлу сегмента AOV>медианы.

Кейс 3. Образовательные IT‑программы (Mid)

  • До: ROAS пляшет, «холодные» переливы трафика.
  • Что сделали: связали Calltouch→CRM→Ads, загрузили офлайн «Оплата», отключили 7 связок UTM с низким SQL.
  • Результат: ROAS +63%, возврат инвестиций за 2 месяца.

Частые ошибки и как их избежать

  • Передаёте UTM, но не храните click ID — офлайн‑конверсии не сойдутся. Исправление: скрытые поля+куки+серверная дубляж.
  • Нет единых статусов/регламента — отчёты не сопоставимы. Исправление: MQL/SQL SLA и «если‑то» правила.
  • iPaaS без мониторинга — теряются события. Исправление: ретраи, логи, алёрты об ошибках.
  • ПДн без согласий — риски штрафов. Исправление: явный чекбокс, журнал согласий, хранение в РФ.
  • Слишком ранняя оптимизация по «Лид» — качество падает. Исправление: прокси «SQL» или «Встреча» пока не набрали «Оплату».

FAQ: ответы на ключевые практические вопросы

(см. блок FAQ внизу страницы)

Рекомендации по локализации (RU/ЕАЭС)

  • Яндекс.Директ: передавайте yclid/yclid, используйте цели «Заявка/MQL/Оплата»; подгружайте офлайн‑конверсии по ID клика и времени.
  • 1С: синхронизируйте суммы, номенклатуру, статусы счетов и оплаты; избегайте задержек через пакетные обмены по расписанию.
  • Коллтрекинг: Calltouch/CoMagic/UIS — прокидывайте Call ID и запись разговора в CRM; на основе «качества» помечайте звонки как MQL.
  • Законодательство: хранение ПДн на серверах в РФ, явное согласие на маркетинг (дата/время/источник), право на отписку и отзыв согласия.

Итог: интеграция CRM и маркетинга — это дисциплина данных. Начните с обязательных полей, двусторонних статусов и офлайн‑конверсий. Дальше — скоринг, ретаргетинг из CRM и дашборды юнит‑экономики. Через 4–8 недель вы увидите снижение CAC, рост ROAS и предсказуемую воронку.

FAQ

Which fields must be sent from a form to CRM for end-to-end analytics?
Minimum: utm_source, utm_medium, utm_campaign, utm_content, utm_term, GCLID/FBCLID (or yclid), source and entry point, request page, ClientID/DeviceID, referrer, event time, marketing consent, communication channel. For calls — call ID from call tracking; for offline visits — manager/location tag.
How to send GCLID/FBCLID to CRM and upload offline conversions to Google Ads?
Save the click ID in cookies/session, pass it in a hidden form field and store it in CRM. On deal close, generate an event with click ID, conversion time and value. Upload via API or CSV with required headers. For Google Ads use: Google Click ID, Conversion Name, Conversion Time, Value, Currency. For Meta use Conversions API with the appropriate event.
How to correctly define and document MQL and SQL criteria?
Define ICP (company/role/check) and agree with sales on signals: MQL — profile + interest (e.g., C‑level role, RU/EAEU region, budget 300k+, form completed); SQL — confirmed interest by the rep (meeting scheduled/budget confirmed). Document if‑then rules and SLA: who and when changes statuses, which fields are mandatory, and where the runbook is stored.
What minimum volumes of conversions are needed for effective training of Google/Meta algorithms?
Rule of thumb: 30–50 target offline conversions per campaign within 30 days for stable optimization. If volume is lower — aggregate at ad group/account level, use proxy conversions (SQL instead of Payment), increase attribution window to 90 days and raise bids gradually.
How long does implementing the “site → CRM → Ads” integration take and what stages to plan?
Basic integration — 3–6 weeks: 1) fields and schema prep (0.5–1 wk), 2) capture UTM/GCLID/call tracking (1 wk), 3) webhooks and CRM statuses (1–2 wk), 4) reporting and tests (1 wk), 5) offline conversions to Ads/Direct (0.5–1 wk). Parallel — MQL/SQL runbooks and team training.