Владелец сайта хочет добавить чат-бот, а руководитель поддержки — получать обращения с понятным контекстом. Для этого недостаточно увидеть значок чата на странице. Нужно проверить, где запускается виджет, какие данные он передаёт, создаётся ли ровно одна заявка и что видит посетитель при сбое.
Ниже — порядок подготовки и приёмки веб-канала. Он не заменяет коммерческую страницу заказа разработки: варианты внедрения собраны на странице чат-ботов Switch On AI.
Какую задачу решает этот процесс
Результат процесса — выбранный и принятый веб-виджет, который открывается на разрешённых страницах, передаёт только согласованный контекст и не сообщает об успехе до подтверждения целевой системы.
Для владельца сайта это означает управляемую установку без лишнего сбора данных. Для руководителя поддержки — обращение, в котором видно, с какой страницы пришёл посетитель и какой продукт он выбрал, а при исключении предусмотрена передача человеку или резервная форма.
Граница руководства — практическое подключение веб-канала. Проектирование всей поддержки разбирается отдельно в материале об автоматизации клиентской поддержки, а заказ бота остаётся задачей существующей страницы услуги.
Какие данные и правила подготовить
До установки соберите паспорт виджета. Разделите сведения на обязательные, условные и пока неизвестные. Следующий образец полностью синтетический: он не относится к клиенту или работающей системе. Названия, идентификаторы, события и числа условны; домен example.invalid зарезервирован для примеров и заведомо не работает.
| Поле | Значение синтетического примера | Источник | Ответственный | Статус |
|---|---|---|---|---|
| CMS | условная CMS N | паспорт сайта | владелец сайта | обязательное для выбора способа установки |
| Способ вставки | GTM | схема управления тегами сайта | разработчик сайта | обязательное |
| ID виджета | demo-widget-021 | настройки выбранного виджета | администратор виджета | обязательное |
| Публичная страница | /services/demo/ | карта публичных страниц | владелец сайта | обязательное |
Разрешённый product_id | svc-demo-01 | справочник сайта | владелец продукта | обязательное для передачи продукта |
| Событие формы | lead_submitted | проектная схема аналитики и CRM | руководитель поддержки | условное: зависит от архитектуры |
| Режим согласия | запуск после разрешения категории, которую определил владелец сайта | политика сайта и настройки тегов | владелец сайта со своим специалистом | условное |
| Контакт оператора | support@example.invalid | регламент поддержки | руководитель поддержки | обязательное; адрес условный и нерабочий |
| Тариф, права, API и поддержка SPA | неизвестно | документация и аккаунт выбранного вендора | владелец аккаунта и разработчик | проверить до внедрения |
Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.
Отдельно зафиксируйте разрешённые домены, время работы операторов и поведение после успешной заявки. Правила согласия и обработки данных определяет заказчик со своими профильными специалистами.
Куда и как установить виджет
Способ установки выбирают по устройству сайта и доступам:
| Способ | Что упрощает | Что нужно проверить |
|---|---|---|
| Штатный модуль CMS | требует меньше собственного кода | поддерживаемую версию CMS, настройки доменов и поведение после обновления |
| Прямая вставка | даёт разработчику контроль над загрузкой и местом запуска | повторный mount, ошибки скрипта, политику безопасности и выпуск изменений |
| Менеджер тегов | централизует управление тегом | доступ к контейнеру, триггеры, публикацию изменений и режим согласия |
Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.
Один документированный способ — установка SendPulse Live Chat через Google Tag Manager. Это последовательность по документации SendPulse, а не отчёт о выполненной установке:
- В настройках чата SendPulse открыть интеграцию с сайтом и скопировать код установки.
- В Google Tag Manager создать тег типа «Пользовательский HTML» и поместить в него полученный код.
- Проверить, что в коде указан ID нужного виджета, затем настроить триггеры запуска.
- Сохранить тег и отправить изменения рабочей области 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 принимает только проверенные поля, а критические решения остаются за серверной логикой и ответственным сотрудником.
Как связать диалог с заявкой и оператором
Согласуйте одну цепочку до настройки текста бота:
- Виджет получает только разрешённые
page_urlиproduct_id. - Бот задаёт один условный квалифицирующий вопрос: «Для какой задачи нужен бот: консультация, заявка или передача оператору?»
- После явного согласия посетителя система отправляет одну заявку.
- Виджет показывает успех только после подтверждения записи со стороны CRM.
- При ошибке 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_submitted | CRM вернула успешный ответ; ожидаемое число заявок — 1 | при ошибке не показывать успех, сохранить введённое только в допустимых пределах и предложить форму или оператора |
| Скрипт не загрузился | виджета нет, страница работает | script_error или timeout | резервная форма доступна | показать контакт и передать ошибку ответственному |
Если таблица не помещается, прокрутите её вправо. С клавиатуры используйте стрелки.
Пример показывает критерии будущей проверки. Он не доказывает поддержку SPA, событий или CRM выбранным вендором.

Как проверить результат перед запуском
До публикации составьте протокол с фактическим результатом каждого прогона. Пока проверка не проведена, пункты ниже остаются планом приёмки, а не заявлением «проверено».
| Проверка | Нормальный путь | Сигнал ошибки | Действие человека |
|---|---|---|---|
| Мобильный экран | виджет не перекрывает основное действие страницы | кнопка или форма недоступна | остановить выпуск и изменить размещение |
| Клавиатура | фокус достигает элементов виджета и возвращается после закрытия | фокус теряется или застревает | передать дефект разработчику |
| Закрытие | панель исчезает без потери управления страницей | фон остаётся заблокированным | исправить состояние интерфейса и повторить прогон |
| 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-переход, отправку одной заявки, резервный путь при отказе и фактический состав контекста. Успех показывают только после подтверждения записи в целевой системе.
