Чат-боты и продажи

Как добавить чат-бот на сайт: виджет, контекст страницы и приёмка

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

Схема выбора и приёмки веб-виджета: разрешённая страница, ограниченный контекст, подтверждённая заявка и резервный путь

Владелец сайта хочет добавить чат-бот, а руководитель поддержки — получать обращения с понятным контекстом. Для этого недостаточно увидеть значок чата на странице. Нужно проверить, где запускается виджет, какие данные он передаёт, создаётся ли ровно одна заявка и что видит посетитель при сбое.

Ниже — порядок подготовки и приёмки веб-канала. Он не заменяет коммерческую страницу заказа разработки: варианты внедрения собраны на странице чат-ботов Switch On AI.

Какую задачу решает этот процесс

Результат процесса — выбранный и принятый веб-виджет, который открывается на разрешённых страницах, передаёт только согласованный контекст и не сообщает об успехе до подтверждения целевой системы.

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

Граница руководства — практическое подключение веб-канала. Проектирование всей поддержки разбирается отдельно в материале об автоматизации клиентской поддержки, а заказ бота остаётся задачей существующей страницы услуги.

Какие данные и правила подготовить

До установки соберите паспорт виджета. Разделите сведения на обязательные, условные и пока неизвестные. Следующий образец полностью синтетический: он не относится к клиенту или работающей системе. Названия, идентификаторы, события и числа условны; домен example.invalid зарезервирован для примеров и заведомо не работает.

ПолеЗначение синтетического примераИсточникОтветственныйСтатус
CMSусловная CMS Nпаспорт сайтавладелец сайтаобязательное для выбора способа установки
Способ вставкиGTMсхема управления тегами сайтаразработчик сайтаобязательное
ID виджетаdemo-widget-021настройки выбранного виджетаадминистратор виджетаобязательное
Публичная страница/services/demo/карта публичных страницвладелец сайтаобязательное
Разрешённый product_idsvc-demo-01справочник сайтавладелец продуктаобязательное для передачи продукта
Событие формыlead_submittedпроектная схема аналитики и CRMруководитель поддержкиусловное: зависит от архитектуры
Режим согласиязапуск после разрешения категории, которую определил владелец сайтаполитика сайта и настройки теговвладелец сайта со своим специалистомусловное
Контакт оператораsupport@example.invalidрегламент поддержкируководитель поддержкиобязательное; адрес условный и нерабочий
Тариф, права, API и поддержка SPAнеизвестнодокументация и аккаунт выбранного вендоравладелец аккаунта и разработчикпроверить до внедрения

Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.

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

Куда и как установить виджет

Способ установки выбирают по устройству сайта и доступам:

СпособЧто упрощаетЧто нужно проверить
Штатный модуль CMSтребует меньше собственного кодаподдерживаемую версию CMS, настройки доменов и поведение после обновления
Прямая вставкадаёт разработчику контроль над загрузкой и местом запускаповторный mount, ошибки скрипта, политику безопасности и выпуск изменений
Менеджер теговцентрализует управление тегомдоступ к контейнеру, триггеры, публикацию изменений и режим согласия

Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.

Один документированный способ — установка SendPulse Live Chat через Google Tag Manager. Это последовательность по документации SendPulse, а не отчёт о выполненной установке:

  1. В настройках чата SendPulse открыть интеграцию с сайтом и скопировать код установки.
  2. В Google Tag Manager создать тег типа «Пользовательский HTML» и поместить в него полученный код.
  3. Проверить, что в коде указан ID нужного виджета, затем настроить триггеры запуска.
  4. Сохранить тег и отправить изменения рабочей области GTM.

Документация подтверждает эту последовательность для SendPulse Live Chat и GTM. Она не подтверждает совместимость с другой CMS, конкретным тарифом, режимом согласия или SPA — эти условия проверяют отдельно.

При приёмке смотрят не только на появление значка. Виджет должен помещаться на мобильном экране, открываться и закрываться, получать фокус с клавиатуры и работать только на разрешённых доменах и страницах. Реальные названия настроек другого продукта берут из его актуальной документации, а не переносят из этого примера.

Как передать контекст страницы без лишних данных

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

context = {page_url: "https://example.invalid/services/demo/", product_id: "svc-demo-01"}

Передавайте канонический публичный URL без query-параметров и фрагмента. Query-параметры могут содержать email, телефон, поисковый запрос или служебный токен. Не добавляйте в контекст поля формы, пароль, cookie, содержимое другого чата и произвольный текст из DOM.

product_id — подсказка о странице, которую видел посетитель. Ему нельзя доверять как основанию для цены, прав доступа или действия в CRM: сервер должен сверить значение с разрешённым списком и применить собственные правила.

Граница доверия проходит между данными браузера и целевой системой. Посетитель или скрипт может изменить переданное значение, поэтому CRM принимает только проверенные поля, а критические решения остаются за серверной логикой и ответственным сотрудником.

Как связать диалог с заявкой и оператором

Согласуйте одну цепочку до настройки текста бота:

  1. Виджет получает только разрешённые page_url и product_id.
  2. Бот задаёт один условный квалифицирующий вопрос: «Для какой задачи нужен бот: консультация, заявка или передача оператору?»
  3. После явного согласия посетителя система отправляет одну заявку.
  4. Виджет показывает успех только после подтверждения записи со стороны CRM.
  5. При ошибке CRM успех не показывают: посетителю предлагают резервную форму или контакт оператора.

Ошибка загрузки скрипта — другой случай. Тогда виджета нет, поэтому на странице должна остаться обычная форма или контакт поддержки. При ошибке CRM сам чат может продолжать работать, но не вправе выдавать несохранённую заявку за принятую.

Поведение после успеха тоже задают заранее: например, закрыть ввод повторной отправки и показать согласованный следующий шаг. Вне времени работы не обещают немедленный ответ — посетителю сообщают режим обработки, который утвердил заказчик.

Учебный пример: путь от входных данных до результата

Это синтетический пример ожидаемой логики, а не клиентский кейс и не результат живого теста. Условная страница передаёт разрешённые page_url со значением https://example.invalid/services/demo/ и product_id со значением svc-demo-01. Виджет задаёт один вопрос о задаче посетителя и после согласия отправляет заявку.

Для SPA зададим условные величины: два перехода на целевую страницу, две попытки mount, один допустимый экземпляр виджета, одна отправка пользователем и одна ожидаемая заявка. Правило идемпотентного mount: при отсутствии маркера создаётся экземпляр, при наличии — нет. Поэтому created_1 = 1, created_2 = 0, а ожидаемое число экземпляров равно 1 + 0 = 1.

Все имена событий в таблице условны. Их согласуют с архитектурой конкретного сайта и продукта.

Состояние страницыОжидаемый виджетСобытиеПроверкаДействие при отказе
Первое открытие /services/demo/один виджетwidget_mountмаркера не было, после запуска он появилсяпри отказе скрипта показать обычную форму
Повторный SPA-переходтот же экземпляр, второго нетroute_change и повторный mountмаркер уже существует; ожидаемое число экземпляров — 1не создавать новый экземпляр, записать диагностический сигнал
Одна подтверждённая отправкасообщение об успехеlead_submittedCRM вернула успешный ответ; ожидаемое число заявок — 1при ошибке не показывать успех, сохранить введённое только в допустимых пределах и предложить форму или оператора
Скрипт не загрузилсявиджета нет, страница работаетscript_error или timeoutрезервная форма доступнапоказать контакт и передать ошибку ответственному

Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.

Пример показывает критерии будущей проверки. Он не доказывает поддержку SPA, событий или CRM выбранным вендором.

Чек-лист учебного примера: первый mount, повторный SPA-переход без дубля, одна заявка и резервная форма при отказе скрипта

Как проверить результат перед запуском

До публикации составьте протокол с фактическим результатом каждого прогона. Пока проверка не проведена, пункты ниже остаются планом приёмки, а не заявлением «проверено».

ПроверкаНормальный путьСигнал ошибкиДействие человека
Мобильный экранвиджет не перекрывает основное действие страницыкнопка или форма недоступнаостановить выпуск и изменить размещение
Клавиатурафокус достигает элементов виджета и возвращается после закрытияфокус теряется или застреваетпередать дефект разработчику
Закрытиепанель исчезает без потери управления страницейфон остаётся заблокированнымисправить состояние интерфейса и повторить прогон
SPA-переходпосле повторного перехода остаётся один экземплярпоявился второй виджет или первый перестал отвечатьпроверить маркер экземпляра и обработчик маршрута
Одна заявкаодна отправка создаёт одну запись, успех показан после ответа CRMнет записи, создан дубль или показан ложный успехскрыть подтверждение, проверить журнал и передать обращение оператору
Приватностьв контексте есть только page_url без query-параметров и product_idобнаружены query-параметры, поля формы, cookie или посторонний текстостановить выпуск и сократить разрешённый список
Отказ скриптастраница и резервная форма доступныосновной путь обращения исчезпоказать контакт и передать ошибку ответственному

Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.

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

Что согласовать для внедрения

Готовый виджет подходит, если его штатные настройки покрывают нужные страницы, диалог, передачу оператору и запись заявки. Собственная интеграция нужна, когда требуется свой allowlist контекста, идемпотентный mount в SPA, нестандартная проверка данных или подтверждение действия через API CRM.

Для выбранного вендора и версии отдельно проверяют тариф, права, поддержку SPA, разрешённые домены, события, режим согласия и доступные операции CRM API. Упоминание SendPulse выше подтверждает только описанный в его документации способ установки через GTM; оно не означает партнёрство, выполненный проект или проверенную совместимость с вашим сайтом.

Switch On AI помогает решить именно задачу выбора и приёмки веб-виджета, который передаёт нужный контекст обращения. Компания разрабатывает ИИ-помощника, бота или интеграцию для этой операции после проверки данных и API. Правила бухгалтерского, юридического, кадрового и отраслевого учёта задаёт и проверяет специалист заказчика.

Следующий шаг — обсудить подключение бота к вашему сайту и CRM: разобрать одну операцию и согласовать прототип после проверки данных и API. Прототип не равен полноценному внедрению; сроки, эффект, совместимость и состав работ определяют по требованиям проекта.

Вопросы по этой задаче

Чем чат-бот отличается от онлайн-чата?

Онлайн-чат связывает посетителя с оператором. Чат-бот может автоматически задать вопросы, собрать согласованные данные или выполнить часть сценария. В одном виджете могут сочетаться оба режима, но их возможности нужно проверять для выбранного продукта.

Можно ли добавить виджет без программиста?

Иногда — через подходящий штатный модуль CMS или при наличии доступа к Google Tag Manager. Но всё равно нужны ответственные за настройки, согласие, разрешённые страницы и приёмку. Для SPA, собственного контекста и нестандартной CRM может понадобиться разработчик.

Что проверить после установки?

Проверьте мобильный экран, управление с клавиатуры, открытие и закрытие, повторный SPA-переход, отправку одной заявки, резервный путь при отказе и фактический состав контекста. Успех показывают только после подтверждения записи в целевой системе.