12Интеграции и данные
Оффлайн-события
Как передать в Gauss сделки из CRM, оплаты и звонки и связать их с рекламной кампанией заявки — по ID заказа или заявки либо по атрибуции из CRM.
Оффлайн-события — то, что случается вне сайта: менеджер квалифицировал заявку, клиент оплатил счёт, получил заказ или оставил отзыв. Их отправляет ваш сервер (CRM, бэкенд магазина, Zapier или n8n), а Gauss показывает выручку и конверсию «заявка → клиент» по каналам и кампаниям.
Скоро. API оффлайн-событий ещё не запущен. Ниже описано, как он будет работать. Формат запроса может измениться до запуска.
Зачем это нужно
Сайт видит только заявку. Деньги появляются позже — в CRM: через день, неделю или месяц. Без оффлайн-событий видно, какая кампания приносит заявки, но не видно, какая приносит клиентов и выручку. Оффлайн-события закрывают этот разрыв:
- выручка и ROMI с учётом сделок из CRM;
- воронка лида по кампаниям: заявка → квалифицирован → клиент;
- стоимость клиента, а не только заявки;
- число и средний рейтинг отзывов по каналам.
Как событие связывается с рекламой
У Gauss нет идентификатора человека дольше суток, поэтому сделку через пять дней нельзя привязать к визиту так, как это делает GA4 через cookie. Связь переносит CRM. Есть два способа.
По ID заказа или заявки — основной
Если у конверсии на сайте есть ID, который знает CRM, ничего дополнительно хранить в CRM не нужно.
На сайте отправьте заявку с её ID из CRM в
lead_id(или покупку сtransaction_id):gauss('event', 'generate_lead', { lead_id: 'L-58213' });Gauss запоминает канал, UTM-метки и страницу входа этой конверсии. Сам ID не хранится — только его хеш.
Когда в 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 событий в одном запросе.
{
"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_id | ID заказа или заявки для связи с конверсией на сайте; хранятся только хешем |
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. Подробнее о данных — Какие данные собираются.