Перейти к содержанию

12Интеграции и данные

Оффлайн-события

Как передать в Gauss сделки из CRM, оплаты и звонки и связать их с рекламной кампанией заявки — по ID заказа или заявки либо по атрибуции из CRM.

Оффлайн-события — то, что случается вне сайта: менеджер квалифицировал заявку, клиент оплатил счёт, получил заказ или оставил отзыв. Их отправляет ваш сервер (CRM, бэкенд магазина, Zapier или n8n), а Gauss показывает выручку и конверсию «заявка → клиент» по каналам и кампаниям.

Скоро. API оффлайн-событий ещё не запущен. Ниже описано, как он будет работать. Формат запроса может измениться до запуска.

Зачем это нужно

Сайт видит только заявку. Деньги появляются позже — в CRM: через день, неделю или месяц. Без оффлайн-событий видно, какая кампания приносит заявки, но не видно, какая приносит клиентов и выручку. Оффлайн-события закрывают этот разрыв:

  • выручка и ROMI с учётом сделок из CRM;
  • воронка лида по кампаниям: заявка → квалифицирован → клиент;
  • стоимость клиента, а не только заявки;
  • число и средний рейтинг отзывов по каналам.

Как событие связывается с рекламой

У Gauss нет идентификатора человека дольше суток, поэтому сделку через пять дней нельзя привязать к визиту так, как это делает GA4 через cookie. Связь переносит CRM. Есть два способа.

По ID заказа или заявки — основной

Если у конверсии на сайте есть ID, который знает CRM, ничего дополнительно хранить в CRM не нужно.

  1. На сайте отправьте заявку с её ID из CRM в lead_id (или покупку с transaction_id):

    js
    gauss('event', 'generate_lead', { lead_id: 'L-58213' });
  2. Gauss запоминает канал, UTM-метки и страницу входа этой конверсии. Сам ID не хранится — только его хеш.

  3. Когда в CRM случается событие, сервер отправляет его с тем же lead_id или transaction_id. Gauss находит конверсию по хешу и берёт атрибуцию оттуда.

Связь живёт 90 дней. Если оффлайн-событие пришло позже или ID не нашёлся, а поля attribution в событии нет, оно попадёт в канал «Неизвестно».

Атрибуция из CRM

Если ID на сайте нет или конверсия была не на сайте (например, звонок), CRM сама хранит атрибуцию заявки и передаёт её в событии в поле attribution: канал, UTM-метки, страницу входа и её категорию.

Скоро. Функция трекера gauss.attribution(), которая отдаёт атрибуцию текущего визита для скрытых полей формы. Метки с первой страницы визита не потеряются, даже если человек прошёл несколько страниц.

Если в событии есть и ID, и attribution, приоритет у атрибуции, найденной по ID.

Формат запроса

Формат может измениться до запуска.

POST https://app.gausslab.io/api/v1/offline-events — только с сервера, с токеном сайта в заголовке Authorization: Bearer …. До 500 событий в одном запросе.

json
{
  "events": [
    {
      "name": "close_convert_lead",
      "occurred_at": "2026-10-30T14:05:00Z",
      "idempotency_key": "crm-deal-58213-won",
      "params": { "value": 45000, "currency": "RUB", "lead_id": "L-58213" }
    },
    {
      "name": "submit_review",
      "occurred_at": "2026-11-02T09:00:00Z",
      "idempotency_key": "review-9921",
      "params": { "rating": 5 },
      "attribution": { "channel": "social", "utm_source": "telegram", "utm_campaign": "oct_promo" }
    }
  ]
}

Ответ — 202 с результатом по каждому событию: accepted, duplicate или rejected с причиной.

ПолеПравило
nameимя события — список ниже или своё, по общим правилам имён
occurred_atкогда событие случилось; не раньше 90 дней назад и не позже чем через 1 час
idempotency_keyобязателен; повтор с тем же ключом не создаёт второе событие и возвращает duplicate
paramsкак у событий сайта; value и currency — для выручки, rating от 1 до 5 — для отзывов
params.transaction_id, params.lead_idID заказа или заявки для связи с конверсией на сайте; хранятся только хешем
attributionполя атрибуции из CRM; нужны, если ID нет; можно передать частично

Идемпотентность позволяет безопасно повторять запрос при сетевой ошибке: событие с тем же idempotency_key не задвоит выручку.

Имена событий

Для лидов — словарь GA4:

СобытиеКогда отправлять
qualify_leadзаявка квалифицирована
disqualify_leadзаявка отклонена
working_leadс заявкой работают
close_convert_leadзаявка стала клиентом
close_unconvert_leadсделка закрыта без покупки

Для покупок — purchase и refund. Свои события — по общим правилам, например submit_review или order_delivered.

Что нельзя передавать

Email, телефон, имя, user_id, client_id, хеши email или телефона и любые другие идентификаторы человека. Запрос с такими полями отклоняется целиком (rejected: personal_data), а не очищается молча, — чтобы интеграцию можно было сразу исправить. Отклонённые события видны в отладке.

Что хранит Gauss

Оффлайн-событие не связывается ни с одним визитом: оно хранится как отдельная запись с атрибуцией — каналом, кампанией и страницей входа, без пути по сайту. ID заказа или заявки хранится только хешем. Отчёты агрегированные: посмотреть данные по конкретному заказу нельзя ни в кабинете, ни через API. Подробнее о данных — Какие данные собираются.

Заявка в бету

Бета закрытая, на 20–30 сайтов. Мы рассматриваем каждую заявку и отвечаем по email: присылаем цену и условия.

Без https:// и пути.