
Откуда пришёл клиент, написавший в мессенджер: как узнать источник заявки
Клиент нажал на кнопку мессенджера и пропал из аналитики. Как вернуть ему источник: метка визита в тексте сообщения и скрипт, который читает первое сообщение.
8 мин чтения
Что вы узнаете
- →Почему заявки из мессенджеров выпадают из сквозной аналитики
- →Как ссылка на Telegram или WhatsApp передаёт короткую метку визита в первом сообщении
- →Как из первого сообщения в открытой линии Битрикс24 получить источник и записать его в сделку
- →Какие ловушки поджидают при разборе переписки и как их обойти
- →Что делать с MAX, где предзаполненный текст в ссылке передать нельзя
Главное
Проверяйте кнопку мессенджера так, как ею пользуется клиент: с телефона, сразу после открытия страницы и из каждого места, где она стоит. У нас метка терялась ещё на сайте: кнопка срабатывала раньше, чем скрипт успевал подставить текст.
Содержание
Клиент нажал кнопку Telegram на сайте и написал вам. Счётчик Метрики про это не знает: человек ушёл со страницы в другое приложение, и след оборвался. Узнать, откуда пришёл клиент, помогает само сообщение. Ссылка на чат открывается с готовым текстом, в котором лежит короткая метка визита. Клиент отправляет его, а скрипт читает первое сообщение в Битрикс24 и записывает посетителя в сделку.
Для Telegram и WhatsApp ссылка с текстом устроена одинаково, живые заявки с меткой мы пока видели из Telegram. Для MAX это не работает, почему - ниже.
Почему по заявке из мессенджера не видно, откуда пришёл клиент
Форма отправляется со страницы сайта, и вместе с ней уходят метки и идентификатор посетителя. Звонок можно связать с визитом коллтрекингом, об этом в статье про коллтрекинг. У мессенджера ничего этого нет: между сайтом и чатом стоит другое приложение, и сообщение приходит без единой подсказки, откуда человек.
При этом мессенджер для строительной компании не мелочь. У строительной компании, где я работаю, заявки из мессенджеров за три с половиной месяца составили около каждой седьмой. Для сквозной аналитики это дыра: рекламу, которая приводит людей в чат, отчёт считает неработающей.
Метка в сообщении - одна из частей общей связки заявки с рекламой. Как эта связка устроена целиком, от поля в сделке до сверки с готовым отчётом, - в материале о сквозной аналитике на собственных данных.
Как работает метка в сообщении
Схема из четырёх шагов.
- Скрипт на странице готовит ссылки. Он берёт ClientID посетителя и подставляет в ссылки на чаты текст с короткой меткой. Выглядит это так (цифры придуманы для примера): «Обязательно отправьте это сообщение и дождитесь ответа. Ваш номер: 73920518».
- Клиент нажимает на ссылку. Открывается чат с готовым текстом. Для Telegram это параметр
textв ссылке видаt.me/имя?text=...: по документации Telegram он подставляет текст в поле ввода. Для WhatsApp то же делает параметрtextв ссылке видаwa.me/номер?text=..., её описывает справка WhatsApp. Текст не уходит сам, клиент нажимает «отправить». Потому в тексте и стоит просьба отправить сообщение и дождаться ответа. - Сообщение попадает в открытую линию Битрикс24. Создаётся сделка. Метка лежит в первом сообщении клиента.
- Скрипт читает сообщение и записывает посетителя в сделку. Он находит сделки из открытых линий без заполненного поля ClientID, открывает первое сообщение клиента, достаёт цифры и ищет в журнале визитов Метрики посетителя, у которого ClientID заканчивается на эти цифры. Нашёл - записывает полный идентификатор в поле сделки. Дальше такая заявка проходит ту же связку, что и заявка с формы, и получает канал и кампанию.
У нас скрипт запускается каждое утро перед выгрузкой сделок. Журнал визитов берётся из Logs API Метрики, который отдаёт неагрегированные данные за предыдущий день. Поэтому источник в сделке появляется на следующий день.

Если не хочется писать скрипт для чтения, первое сообщение можно записать в поле сделки без кода. Есть приложение из каталога Битрикс24, «Первое и последнее сообщение клиента»: робот берёт первое сообщение клиента из чата открытой линии, а стандартный робот «Изменить элемент» кладёт текст в поле. Но разобрать цифры и найти по ним визит всё равно придётся отдельно.
Почему метка из восьми цифр
Полный ClientID Метрики - длинное число. В сообщении оно выглядит так, будто его набрал бот, и клиент вряд ли отправит такой текст. Мы берём последние восемь цифр. Хранилище не нужно: цифры считаются из ClientID, а обратно их ищут перебором по журналу визитов.
Опасность здесь одна: у разных посетителей конец ClientID может совпасть. Мы проверили на почти двухстах тысячах посетителей за три с половиной месяца. Совпадений вышло меньше одного из тысячи, и их разводит время: берётся визит, ближайший до сообщения.
Ловушки, на которых нас ловили
Служебная шапка коннектора. Подключённые мессенджеры добавляют в начало сообщения служебную строку с номером пользователя, и в ней тоже есть длинные числа. Дважды такая строка давала ложный номер. Теперь скрипт читает только сообщения клиента (в ответах оператора тоже бывают такие шапки), ищет цифры после шаблона «Ваш номер:» и принимает метку, только если она нашлась в журнале визитов. На проверенных живых сделках ложных срабатываний не оказалось, для самих ловушек написаны тесты.
Клиент переписал текст. Если шаблон не уцелел, есть запасной путь: скрипт ищет в сообщении восемь цифр отдельно стоящим числом, предварительно вычистив служебные вставки. Результат запасного пути проверяется тем же журналом визитов.
Другой код источника у одной линии. Telegram-линия, подключённая через сервис-коннектор, имела код источника без разделителя, и скрипт, отбиравший линии по виду кода, неделю не видел ни одной заявки из Telegram. Теперь линии определяются по справочнику источников в Битрикс24. Как только это исправили, нашлось несколько заявок с нашей меткой, и визит у каждой был меньше чем за час до сообщения.
Блок, который просыпается при прокрутке. Это самая показательная ловушка. Подстановка текста в ссылки жила в блоке подвала, а он загружался только после реальной прокрутки страницы. Человек, который зашёл на страницу контактов и сразу нажал на Telegram, уходил с пустым сообщением. Именно это объясняло низкое покрытие, хотя метка на сайте вроде была. Теперь текст ставится сразу. Попутно выяснилось, что WhatsApp брал текст из собственной копии строки и нашу метку получать не мог, так что теперь обе кнопки читают один контейнер.
Из этого правило для проверки: пробуйте нажать кнопку мессенджера сразу, без прокрутки, и из каждого места страницы, где она стоит.

MAX: источник не передать
В MAX это не получилось. Вот что ответила поддержка MAX на запрос команды:
В ссылку на профиль человека нельзя добавить параметр или предзаполненный текст, такой функции не предусмотрено. У профиля организации возможности тоже нет. Единственный вариант - диплинк на бота с параметром start, но дойдёт ли этот параметр до оператора и во внешнюю CRM через открытую линию, в документации не описано, и поддержка этого не подтвердила.
Сама ссылка на бота с параметром в MAX есть: документация для разработчиков описывает адрес вида max.ru/<имя бота>?start=<payload>, параметр до 128 символов приходит боту событием bot_started. В Telegram похоже устроен параметр start. Но это механизм для своего бота. Попадёт ли параметр к оператору открытой линии и в сделку, документация MAX не говорит, и заводить бота ради неподтверждённого поведения мы не стали. Если решитесь, сначала проверьте на тестовой сделке.
Заявки из MAX остались без источника. Это почти две пятых заявок из мессенджеров, но в абсолютных числах единицы в месяц. Мы показываем их отдельной строкой «источник не определён» и вернёмся к вопросу, если MAX добавит параметры для профиля.
Где метка не сработает
Если клиент нашёл ваш номер в справочнике или на визитке и написал, минуя сайт, метки в сообщении не будет. Это нормально: сайт тут ни при чём. То же случится, если клиент стёр текст или переписал его целиком, открыл сайт на одном устройстве, а написал с другого (ClientID привязан к браузеру), либо нажал на ссылку на чат там, где ваш скрипт не работает, например в карточке организации на карте или в соцсетях.
Метка - тоже данные о посетителе. Упомяните в политике конфиденциальности, что сайт передаёт в сообщение код визита, и покажите её текст юристу: эта статья не юридическая консультация.
Как проверить у себя за полчаса
- С телефона откройте сайт, не прокручивая, и нажмите кнопку мессенджера. Метка должна быть в поле ввода.
- Отправьте сообщение и посмотрите, появилась ли сделка в открытой линии.
- Через сутки откройте сделку: в поле ClientID должен стоять идентификатор.
- Повторите с каждого места, где есть ссылка на мессенджер: шапка, подвал, страница контактов, всплывающие окна.
- Посчитайте, у какой доли сделок из мессенджеров источник определился. Если ниже половины, ищите, где метка теряется.
Если у вас много каналов и непонятно, с чего начать, разберём это на бесплатном разборе. А как открытые линии подключаются к Битрикс24, описано в статье про WhatsApp и Telegram в открытых линиях. Коротко вся схема собрана в кейсе про источник заявок из мессенджеров.
Telegram-канал
Цифровая стройка @digitalstroyka
Коротко и с картинкой: что реально работает в Битрикс24 на стройке и где теряются деньги.
Автор
эксперт по Битрикс24, более 7 лет со строительными компаниями
Внедряю и веду Битрикс24 в строительных компаниях: настройка CRM, автоматизация, боты и интеграции под задачи стройки. Пишу о том, что реально работает в стройке.
Telegram @digitalstroyka →


