1. Главная
  2. Документация
  3. Сквозная аналитика: звонки, мессенджеры и конверсии

Сквозная аналитика: звонки, мессенджеры и конверсии

Откуда пришли клиенты, которые звонят и пишут. Конверсии в Метрику и ДАРА.

Сквозная аналитика показывает, откуда пришёл клиент, даже если он не заполнил форму, а позвонил или написал в Telegram. Небольшой скрипт на вашем сайте запоминает рекламную кампанию, поисковик или сайт, с которого пришёл посетитель, и связывает его клик по номеру телефона, по кнопке мессенджера или отправку формы с заявкой в CRM. Когда менеджер берёт заявку в работу или закрывает сделку, CRM сама отправляет конверсию в Яндекс Метрику и ДАРА Аналитику. Функция бесплатная и доступна всем компаниям.

Содержание

  1. Что делает трекер
  2. Код на сайт и CSP
  3. Сайты
  4. Телефонные номера и рекламный номер
  5. Мессенджеры
  6. Формы
  7. Точность привязки
  8. Блок «Визит» в карточке заявки
  9. Отчёт «Источники обращений»
  10. Яндекс Метрика
  11. ДАРА Аналитика
  12. Цели и правила конверсий
  13. Журнал
  14. Cookie и политика конфиденциальности
  15. API и MCP

1. Что делает трекер

  • Запоминает, откуда пришёл посетитель: метки UTM, рекламу (метки utm_medium=cpc, ppc, paid или параметры yclid, gclid), сайт или поисковик, с которого он перешёл, и первую страницу визита.
  • Когда посетитель нажимает ссылку на номер телефона, кнопку Telegram или MAX или начинает заполнять форму, скрипт отправляет в CRM касание: что нажато, на какой странице и откуда пришёл посетитель. IP-адрес и браузер записывает сервер CRM, а не скрипт.
  • Само касание заявку не создаёт. Заявка появляется как обычно: звонком, сообщением в бот, формой. CRM находит касание этого посетителя и заполняет у новой заявки метки UTM, страницу входа, реферер, ClientID Яндекс Метрики и посетителя ДАРА.
  • Касания хранятся 30 дней. Данные визита, привязанные к заявке, хранятся вместе с заявкой.
  • Скрипт ничего не показывает посетителю и не меняет вид сайта. Если скрипт не загрузился, заявки приходят как раньше, только без данных визита.

Всё настраивает администратор компании: «Настройки компании», вкладка «Трекинг». Разделы вкладки: «Код на сайт», «Сайты», «Телефонные номера», «Мессенджеры», «Яндекс Метрика», «ДАРА Аналитика», «Конверсии», «Журнал». Сотрудникам вкладка не видна.

2. Код на сайт и CSP

  1. Откройте «Настройки компании» -> «Трекинг», раздел «Код на сайт».
  2. Сначала добавьте сайт в разделе «Сайты» (ниже): без списка сайтов код ничего не делает.
  3. Скопируйте код кнопкой «Скопировать» и вставьте его на все страницы сайта: перед закрывающим тегом </body> или в <head>. Удобнее всего в общий шаблон подвала.
  4. Проверьте, что отмечено «Трекинг включён».

Код выглядит так, вместо ВАШ_КЛЮЧ в кабинете стоит ключ вашей компании:

<script async src="https://crm.linkodium.com/lks/ВАШ_КЛЮЧ.js"></script>

Ключ в коде публичный: им можно только отправить касание с сайтов из вашего списка, прочитать по нему ничего нельзя. Если код попал не туда, нажмите «Новый код вставки»: старый код перестанет работать в течение минуты, поэтому сразу замените его на всех сайтах.

Если на сайте настроена политика безопасности содержимого (заголовок Content-Security-Policy), разрешите в ней https://crm.linkodium.com в директивах script-src и connect-src. Иначе браузер не загрузит скрипт или не даст ему отправить касание.

Скрипт работает только на сайтах из списка. На чужом сайте, куда скопировали ваш код, он ничего не делает, а касания с чужих адресов CRM отклоняет.

3. Сайты

Раздел «Сайты» хранит список адресов, на которых работает код. Нажмите «Добавить сайт», введите «Адрес сайта» и, по желанию, «Название» (его видно в отчётах).

  • Адрес пишется без пути: site.ru. Запись *.site.ru разрешает все поддомены. Если сайт открывается и с www., добавьте обе записи: site.ru и *.site.ru.
  • У компании может быть до 20 сайтов. У каждого сайта свой счётчик Метрики и свой ключ ДАРА: их задают кнопкой «Изменить» (раздел 10, раздел 11).
  • Удаление сайта не удаляет заявки и их визиты, только сайт пропадает из них. Номера, привязанные к сайту, остаются без сайта.

4. Телефонные номера и рекламный номер

В разделе «Телефонные номера» перечислите номера, которые стоят на ваших сайтах. Для каждого номера задаются «Как показывать», «Сайт», «Источник», «Услуга», «Рекламный» и «Включён». До 50 номеров.

Ваша телефония передаёт в CRM номер, на который звонил клиент (поле line в звонке). Когда звонок создаёт новую заявку, источник и услуга берутся так: сначала из самого звонка, если прослойка АТС их передала, затем из строки этого номера, иначе источник «Звонок». Так прослойке не нужно знать, какой номер к какому сайту относится: достаточно передавать line.

Номер записывается цифрами, от 10 до 15. Номер из 11 цифр с 8 в начале CRM переводит в 7, номер из 10 цифр дополняет семёркой: 8 (342) 225-02-94, +7 342 225 02 94 и 3422250294 означают один номер.

Рекламный номер

Можно завести отдельный постоянный номер для посетителей из рекламы. Тогда звонки с рекламы видны отдельно, даже если клиент не нажимал номер, а набрал его вручную.

  1. Добавьте рекламный номер, отметьте «Рекламный» и выберите, какой обычный номер того же сайта он заменяет.
  2. Отметьте «Показывать рекламный номер посетителям из рекламы (cookie на 90 дней)».

Посетитель, пришедший из рекламы, получает cookie lkt_ad на 90 дней с последнего рекламного захода. Всё это время скрипт показывает ему рекламный номер вместо обычного: в ссылках tel: и в тексте этих ссылок. Если номер на странице написан не ссылкой, добавьте элементу с номером атрибут data-lkt-phone, и скрипт заменит и его. Остальные посетители видят обычный номер. Динамической подмены номеров из пула нет: у сайта один обычный номер и, по желанию, один рекламный.

5. Мессенджеры

Раздел «Мессенджеры» показывает ботов Telegram и MAX, подключённых к чатам CRM (Telegram-бот, бот MAX).

  • С отметкой «Подставлять метку в ссылки t.me на бота» скрипт дописывает к ссылкам на вашего бота (https://t.me/имя_бота, telegram.me, tg://resolve?domain=имя_бота) метку: ?start=lk_ и 16 случайных символов. Для MAX такая же отметка появляется, когда бот MAX подключён; меняются только ссылки на бота вида max.ru/имя_бота, личные ссылки max.ru/u/... скрипт не трогает.
  • Клиент нажимает кнопку, Telegram открывает бота, клиент нажимает «Старт», и бот получает метку. CRM находит по ней касание и создаёт заявку с точностью «Точно» и данными визита. Источником заявки остаётся название канала.
  • Если у ссылки уже есть свой параметр start, ссылка не переписывается: ваша метка важнее. Клик всё равно записывается касанием, но привязать его к заявке нельзя.
  • Если у клиента уже есть активная заявка, сообщение попадает в неё, как и раньше. Визит дописывается к ней, только если клиент пришёл по ссылке с меткой, а у заявки визита ещё не было.

Метка, которая не похожа на метку трекера (например, ваша ?start=promo), обрабатывается как прежде: попадает в источник и метку кампании заявки.

6. Формы

С отметкой «Передавать метку в формы (скрытое поле lkt_token)» скрипт добавляет в каждую форму сайта скрытое поле lkt_token и отправляет касание, когда посетитель начинает заполнять форму или отправляет её. Ещё скрипт заполняет уже существующие пустые поля формы utm_source, utm_medium, utm_campaign, utm_term, utm_content и ym_client_id; других полей он не создаёт.

Форма отправляется на ваш сервер, а он передаёт заявку в CRM (документация API). Чтобы CRM связала заявку с визитом, сервер должен передать значение поля lkt_token в поле tracking_token запроса POST /api/v1/leads или /api/lead.add. Обычно это одна строка в массиве заявки:

$lead = [
    'name'           => $_POST['name'] ?? '',
    'phone'          => $_POST['phone'] ?? '',
    'form_page'      => $_SERVER['HTTP_REFERER'] ?? '',
    'tracking_token' => $_POST['lkt_token'] ?? '',
];
// дальше как раньше: POST /api/v1/leads с ключом API
$ch = curl_init('https://crm.linkodium.com/api/v1/leads');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => json_encode($lead, JSON_UNESCAPED_UNICODE),
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json', 'X-API-Key: ' . getenv('CRM_API_KEY')],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 15,
]);
$body = curl_exec($ch);
  • Если форма собирается целиком (new FormData(form)), поле lkt_token уже уходит на ваш сервер, менять код страницы не нужно.
  • Пустое или неверное значение tracking_token CRM молча пропускает: заявка из-за него не теряется.
  • Если поля нет, но в заявке есть метки UTM, страница входа или ClientID, визит всё равно записывается с точностью «Точно» по этим данным.

7. Точность привязки

У каждого визита есть точность: насколько уверенно CRM связала заявку с посетителем сайта.

ТочностьКогда
«Точно»Заявка пришла по ссылке с меткой (Telegram, MAX) или из формы с полем lkt_token, и касание найдено. Сюда же формы и чат на сайте, которые сами передали метки UTM, страницу или ClientID.
«Вероятно»Звонок: за 10 минут до начала звонка (или в первую минуту после) на сайте был ровно один клик по этому номеру. В пояснении будет, например, «Вероятно, по клику на номер в 14:02».
«Нет данных»Касание не найдено: клиент набрал номер сам, перешёл в бот не с сайта, кликов по номеру было несколько («Несколько кликов на номер за 10 минут до звонка», без привязки) или звонок исходящий.

Правило для звонков:

  1. Если у клиента уже есть активная заявка с этим номером, звонок попадает в неё, как и раньше. Визит при этом не пишется.
  2. Если звонок создал новую заявку, CRM ищет клики по ссылке tel: с тем же номером, на который звонил клиент (по последним 10 цифрам), за 10 минут до начала звонка. Ровно один клик, ещё не привязанный к другому звонку: «Вероятно». Два и больше: «Нет данных», чтобы не приписать звонок чужому визиту.
  3. Нет кликов: заявка получает источник и услугу из строки номера (раздел 4), точность «Нет данных».

Бывает, что заявка приходит раньше касания: например, клиент очень быстро нажал «Старт» в боте. Тогда CRM ждёт касание до 30 минут и сама уточняет точность до «Точно», когда оно придёт. Если касания так и нет, в пояснении будет «Касание по ссылке не найдено».

«Вероятно» не гарантия: посетитель мог нажать номер на компьютере, а позвонить с телефона кто-то другой. Поэтому точность видна в карточке и в отчёте, а отправку конверсий по вероятной привязке можно выключить (раздел 12).

8. Блок «Визит» в карточке заявки

В карточке заявки под блоком «Аналитика» появляется блок «Визит» с отметкой точности. В нём только заполненные строки:

  • «Способ»: Форма, Звонок, Telegram, MAX, Виджет или API;
  • «Сайт» и «Канал» (реклама, поиск, соцсети и другие, раздел 9);
  • «Клик»: время клика; «Номер»: на какой номер звонили (только у звонков);
  • «Пояснение»: почему точность именно такая;
  • метки UTM, «Реферер», «Страница входа», «Страница клика», «Первое касание» (откуда посетитель пришёл в самый первый раз);
  • «ClientID Метрики», «Посетитель ДАРА», «IP» и «Браузер»;
  • «Конверсии»: что отправлено в Метрику и ДАРА, что ждёт отправки, что пропущено и почему.

Блок видят все сотрудники, которым видна заявка. Визит записывается у новых заявок из звонков, Telegram, MAX, чата на сайте, форм и API. У заявок, созданных вручную, импортом и из почты, блока нет. Заявки, пришедшие до подключения трекинга, визита не получают.

В той же карточке есть поле «Сумма сделки»: оно уходит ценой конверсии «Сделка» (раздел 12).

9. Отчёт «Источники обращений»

На дашборде внизу есть отчёт «Источники обращений» за выбранный период: по умолчанию последние 30 дней, даты «С» и «по» меняются над таблицей. Строки разбиты по сайту, каналу, способу обращения и точности; в каждой строке число заявок (без спама), спам, «Успешно», конверсия в «Успешно» и сумма выигранных сделок. Под таблицей две сводки: по каналам и по способам. Отчёт считает только заявки, которые видит сотрудник.

Канал вычисляется из данных визита по правилам, в таком порядке:

КаналКогда
«Реклама»посетитель пришёл из рекламы или utm_medium равен cpc, ppc, paid, cpm
«Рассылки»utm_medium равен email, newsletter, mail
«Соцсети»utm_medium равен social, smm или переход из ВКонтакте, Одноклассников, Telegram, Дзена, YouTube и других соцсетей
«Поиск»переход из Яндекса, Google, Bing, Поиска Mail.ru, DuckDuckGo и других поисковиков
«Метки UTM»есть utm_source, но ни одно правило выше не подошло
«Переходы с сайтов»переход с другого сайта
«Прямые заходы»визит найден, но ни меток, ни перехода нет
«Нет данных»точность «Нет данных» или визита нет

10. Яндекс Метрика

CRM отправляет в Метрику офлайн-конверсии: заявка взята в работу, сделка закрыта. Так рекламная кампания в Директе видит не только звонок или форму, но и итог работы менеджера.

  1. Откройте «Настройки компании» -> «Трекинг», раздел «Яндекс Метрика», и нажмите «Подключить Яндекс Метрику».
  2. Откроется страница Яндекса. Войдите в аккаунт, у которого есть право редактировать нужные счётчики, и разрешите доступ приложению «Linkodium CRM».
  3. Яндекс вернёт вас в CRM. Через несколько секунд в разделе появится аккаунт и срок токена. Если Яндекс долго не отвечает, обновите страницу через минуту.
  4. В разделе «Сайты» нажмите «Изменить» у каждого сайта и выберите «Счётчик Метрики» из списка счётчиков подключённого аккаунта.

Цели в счётчике CRM создаёт сама: crm_lead «CRM: обращение», crm_qualified «CRM: квалифицированная заявка», crm_deal «CRM: сделка». С отметкой «Отправлять клики по номеру и мессенджерам целями (phone_click, tg_click, max_click)» ещё phone_click, tg_click и max_click: скрипт отправляет их в счётчик прямо со страницы в момент клика. Если ваш сайт уже сам отправляет такие цели, снимите отметку, иначе клики посчитаются дважды. Если у аккаунта нет права менять счётчик, у сайта будет «Нет прав на изменение счётчика».

  • Токен вручную. Если кнопка не подходит, выберите «Ввести токен вручную»: подсказка рядом даёт адрес, где Яндекс выдаёт токен. Такой токен CRM не продлевает: когда он истечёт, в разделе будет «Яндекс не принял токен. Подключите Метрику заново.».
  • Продление. Токен, полученный кнопкой, CRM продлевает сама.
  • Новые счётчики. Кнопка «Обновить счётчики» заново читает список счётчиков аккаунта и проверяет цели.
  • Отключение. «Отключить» удаляет токен из CRM и сбрасывает счётчики у сайтов; неотправленные конверсии в Метрику больше не уйдут.
  • Приложение. В мобильном приложении кнопки подключения нет, вместо неё подсказка «Подключите Яндекс Метрику с компьютера: в приложении вход в Яндекс недоступен.». Ввести токен вручную в приложении можно.

Метрика связывает конверсию с посетителем по ClientID. Скрипт берёт его из cookie счётчика Метрики на вашем сайте, поэтому счётчик должен стоять на тех же страницах, что и код трекинга.

11. ДАРА Аналитика

Конверсии в ДАРА Аналитику отправляются по ключам API ваших сайтов в ДАРА. Ключи задаются у сайтов: в разделе «Сайты» нажмите «Изменить» и заполните «Ключ ДАРА».

  • Ключ сайта начинается с ak_. Ключ аккаунта начинается с aa_: для него заполните ещё «Сайт ДАРА (для ключа aa_)», то есть uuid сайта в ДАРА.
  • CRM проверяет ключ и сама создаёт в ДАРА цели с теми же кодами: crm_lead, crm_qualified, crm_deal, а с отметкой «Отправлять клики целями ДАРА» в разделе «ДАРА Аналитика» ещё phone_click, tg_click, max_click.
  • После сохранения ключ больше не показывается, ни в кабинете, ни в API: видны только первые и последние знаки, например ak_...Xy9Z, и состояние («работает» или ошибка).

ДАРА связывает конверсию с посетителем по его идентификатору, который скрипт берёт из cookie ДАРА на вашем сайте: тег ДАРА должен стоять на тех же страницах.

12. Цели и правила конверсий

Раздел «Конверсии» выбирает, что и куда отправлять.

ЦельКогда отправляется
«Обращение» (crm_lead)новая заявка выбранным способом. По умолчанию для звонков, Telegram, MAX и чата на сайте; для форм и API выключено, потому что формы обычно сами отправляют цель со страницы.
«Квалифицированная заявка» (crm_qualified)первый переход из «Новой заявки» в любой этап, кроме «Спама».
«Сделка» (crm_deal)первый переход в «Успешно», с суммой сделки.

Отметки «Отправлять в Метрику», «Отправлять в ДАРА» и «Отправлять по вероятной привязке звонка» включают и выключают приёмники и конверсии по визитам с точностью «Вероятно». Валюта суммы по умолчанию RUB.

  • Каждая цель уходит один раз на заявку в каждый приёмник. Повторный перевод в «В работе» или «Успешно» второй конверсии не даёт.
  • Метрика не принимает конверсии старше 21 дня. Такие конверсии пропускаются, их число видно в строке «За 30 дней».
  • Отправленную конверсию отозвать нельзя: если заявку потом отметить спамом, конверсия останется в Метрике и ДАРА.
  • «Сделка» уходит через 15 минут после перехода в «Успешно», чтобы менеджер успел вписать сумму. Отправляется сумма, которая стоит в заявке в этот момент; сумма, вписанная позже, в Метрику и ДАРА уже не попадёт. Если к этому моменту заявку вернули из «Успешно», «Сделка» не отправляется; «Квалифицированная заявка» не отправляется, если заявку уже отметили спамом.
  • Если счётчик сайта не принимает конверсии (нет прав), в разделе сайта видна ошибка счётчика; конверсии этого сайта ждут, пока доступ не вернут и не нажмут «Обновить», остальные сайты отправляются как обычно.
  • Для отправки нужен ClientID Метрики или посетитель ДАРА из визита (у форм ещё ClientID из самой заявки). Если его нет, CRM ждёт до часа (визит может уточниться), затем пропускает конверсию с причиной «нет ClientID или посетителя».
  • Конверсия уходит в счётчик и ключ сайта, с которого пришёл посетитель. Если сайт не определён по визиту, CRM берёт сайт номера, затем сайт страницы формы, затем единственный сайт компании.
  • Старые заявки не отправляются: конверсии считаются только по событиям после подключения Метрики или ДАРА.

13. Журнал

Раздел «Журнал» на той же вкладке показывает последние события трекинга: вкладка «Касания» (клики по номерам, мессенджерам и формам с отметкой, к какой заявке они привязаны), «Заявки» (визиты новых заявок) и «Конверсии» (отправлено, ждёт, пропущено с причиной, ошибка). Конверсию с ошибкой можно отправить заново кнопкой «Повторить».

14. Cookie и политика конфиденциальности

Скрипт ставит на вашем сайте три cookie. Персональных данных в них нет: только метки, адреса страниц и время.

CookieЧто хранитСрок
lkt_ftпервое касание: откуда посетитель пришёл в первый раз; пишется один раз90 дней
lkt_ltпоследнее касание с метками, рекламой или переходом с другого сайта90 дней
lkt_adотметка, что посетитель пришёл из рекламы (для рекламного номера)90 дней с последнего рекламного захода

Safari ограничивает срок cookie, поставленных скриптом, 7 днями. Поэтому у посетителей Safari первое касание и рекламный номер живут не 90 дней, а неделю с последнего захода.

В политике конфиденциальности сайта упомяните, что сайт использует трекер Linkodium CRM и cookie lkt_*.

15. API и MCP

  • Визит заявки, отчёт «Источники обращений», поле tracking_token формы и поле amount (сумма сделки): документация API.
  • Все настройки вкладки «Трекинг» (сайты, номера, Метрика, ДАРА, конверсии, журналы) для администратора: API компании.
  • ИИ-ассистент может показать состояние трекинга, визит заявки и отчёт по источникам: MCP. IP-адрес и браузер посетителя ассистенту не отдаются.