Skip to content

Сквозная аналитика Google Ads + HubSpot

Бизнес-задача

Performance-маркетологу нужно понимать, какие ключевые слова и поисковые запросы в Google Ads приносят реальные продажи, а не просто клики и лиды. Стандартный отчёт Google Ads показывает конверсии по данным самого рекламного кабинета, но не показывает, сколько из этих конверсий превратилось в оплаченные сделки в HubSpot. Требуется сквозная аналитика с расчётом ROMI по каждому ключевому слову.

Подключения

Для этого отчёта требуется два подключения:

  1. Google Ads — коннектор google-ads

    • Разрешения: google_ads_read
    • Статус: active
  2. HubSpot CRM — коннектор hubspot

    • Разрешения: чтение сделок и контактов
    • Статус: active

Схема связки (matching preset):

  • Matching Preset: Google Ads + HubSpot (GCLID) — встроенный пресет LightLead
  • Ключ связывания: GCLID (Google Click ID) — уникальный идентификатор клика, который передаётся через UTM-метки или автотегирование Google Ads
  • Маппинг: google_ads.gclidhubspot.contact.gclidhubspot.deal.associated_contact.gclid

В HubSpot необходимо настроить скрытое поле «GCLID» на уровне контакта. При отправке формы на сайте GCLID из URL должен сохраняться в это поле. Без этого связка работать не будет — проверьте настройку до запуска отчёта.

Настройки отчёта

  • Название: Сквозная аналитика Google Ads → HubSpot
  • Тип отчёта: атрибуционный с GCLID-связкой
  • Matching Preset: Google Ads + HubSpot (GCLID)
  • Источники данных: все подключения google-ads и hubspot
  • Диапазон дат: last_30_days
  • Окно атрибуции: 30 дней (клик → лид) + 90 дней (лид → сделка)
  • Группировка: по кампании (campaign_name), группе объявлений (ad_group_name), ключевому слову (keyword_name), воронке (pipeline_name)
  • Сортировка: по ROMI по убыванию
  • Часовой пояс: Europe/Moscow

Параметры

json
{
  "date_range": "last_30_days",
  "matching_preset": "google-ads-hubspot-gclid",
  "attribution_window": {
    "click_to_lead_days": 30,
    "lead_to_deal_days": 90
  },
  "group_by": ["campaign_name", "ad_group_name", "keyword_name", "pipeline_name"],
  "sort": { "field": "romi", "direction": "desc" },
  "timezone": "Europe/Moscow",
  "limit": 2000
}

Окно атрибуции lead_to_deal_days: 90 подходит для B2B-компаний с длинным циклом продаж. Для B2C уменьшите до 30. Группировка по ключевым словам (keyword_name) — главная ценность этой связки, так как позволяет принимать решения на уровне поисковых запросов, а не только кампаний.

Метрики

МетрикаТипИсточникОписание
costcurrencyGoogle AdsПотраченный бюджет
impressionsnumberGoogle AdsПоказы
clicksnumberGoogle AdsКлики
ctrpercentGoogle AdsКликабельность
cpccurrencyGoogle AdsСредняя цена клика
leadsnumberHubSpotКоличество лидов (контактов с GCLID)
mqlnumberHubSpotMarketing Qualified Leads
sqlnumberHubSpotSales Qualified Leads
deals_creatednumberHubSpotСозданные сделки
deals_wonnumberHubSpotВыигранные сделки
revenuecurrencyHubSpotВыручка по выигранным сделкам

Вычисляемые метрики:

json
{
  "calculated_metrics": [
    {
      "name": "cpl",
      "formula": "IF([leads] > 0, [cost] / [leads], 0)",
      "type": "money",
      "description": "Цена лида"
    },
    {
      "name": "cpl_sql",
      "formula": "IF([sql] > 0, [cost] / [sql], 0)",
      "type": "money",
      "description": "Цена квалифицированного лида"
    },
    {
      "name": "romi",
      "formula": "IF([cost] > 0, ([revenue] - [cost]) / [cost] * 100, 0)",
      "type": "percent",
      "description": "ROMI: окупаемость инвестиций в рекламу"
    },
    {
      "name": "lead_to_mql_cr",
      "formula": "IF([leads] > 0, ROUND([mql] / [leads] * 100, 1), 0)",
      "type": "percent",
      "description": "Конверсия лид → MQL"
    },
    {
      "name": "revenue_per_keyword",
      "formula": "IF([deals_won] > 0, [revenue] / [deals_won], 0)",
      "type": "money",
      "description": "Средняя выручка на сделку по ключевому слову"
    }
  ]
}

ROMI > 0% — реклама окупается. ROMI > 100% — каждый рубль рекламы приносит рубль прибыли. ROMI по ключевым словам позволяет находить «золотые» запросы с ROMI > 500% и повышать на них ставки.

Фильтры

json
{
  "logic": "AND",
  "conditions": [
    {
      "field": "cost",
      "operator": "GREATER_THAN",
      "value": 300
    },
    {
      "field": "clicks",
      "operator": "GREATER_THAN",
      "value": 20
    },
    {
      "field": "impressions",
      "operator": "GREATER_THAN",
      "value": 500
    }
  ]
}
  • cost > 300 — минимальный бюджет для статистической значимости
  • clicks > 20 — минимум кликов для ключевого слова
  • impressions > 500 — достаточный охват

Для анализа конкретного типа соответствия ключевых слов: match_type EQUAL "exact" или match_type EQUAL "phrase".

Режим записи

Режим: Replace

Данные из двух источников и GCLID-связка требуют полной перезаписи для консистентности. Кроме того, окно атрибуции 90 дней означает, что данные за последние 3 месяца могут меняться по мере закрытия новых сделок.

Расписание

json
{
  "schedule": {
    "enabled": true,
    "interval": "daily",
    "time": "07:30",
    "timezone": "Europe/Moscow",
    "retry_on_failure": true,
    "max_retries": 3
  }
}

Ежедневно в 7:30. Имейте в виду, что ROMI за последние 1-2 недели будет занижен (сделки ещё не закрыты). Для принятия решений ориентируйтесь на данные за last_90_days или хотя бы last_30_days, игнорируя последнюю неделю.

Ожидаемый результат

  • Статус: completed или partial
  • Количество строк: кампании * группы * ключевые слова (типично 100-800 строк в зависимости от размера семантического ядра)
  • Сквозные метрики: ROMI по каждому ключевому слову — видно, какие запросы окупаются, какие приносят убыток
  • Квалификация лидов: CPL vs CPL(SQL) — запрос может давать дешёвые лиды, но они не проходят квалификацию, что видно по низкой конверсии в MQL/SQL
  • Действия: запросы с ROMI < 0% минусуются или понижаются ставки; запросы с ROMI > 300% — повышаются ставки и добавляются в отдельную кампанию

Скриншот

[Скриншот]

[Скриншот]

Maintained by the LightLead Documentation Team · Last verified: 2026-07-26

LightLead Help Center · lightlead.space