Форма обратной связи на сайте

  • Приложение «Форма на сайт»
  • Сценарий использования формы обратной связи на сайте
  • Настройка источников получения заявок
  • Настройка виджета обратной связи
  • Техническое описание используемых реквизитов виджета
  • Получение лидов через почтовое сообщение (email)
  • Внешняя обработка (свой API)

С общим описанием блока сквозной аналитики можно ознакомиться в статье Сквозная аналитика.

Приложение «Форма на сайт»

Для подключения приложения «Форма на сайт» необходимо открыть окно «Приложения для 1С:CRM» в разделе «Главное» и выбрать приложение «Форма на сайт»:

Приложение «Форма на сайт»

Важно! Данное приложение доступно только при наличие активного действующего договора «1С:КП Отраслевой».

Приложение «Форма на сайт» загружает заявки (лиды), используя инструменты, которые поставляются бесплатно с решением 1С:CRM:

  • Разбор поступающих от сайта входящих электронных писем по заданному шаблону и создание по ним документов «Заявка» в 1С:CRM.
  • Размещение формы на сайт (виджета) и создание заявок в 1С:CRM по заполненной посетителем сайта информации с заполнением источника откуда пришел клиент на сайт.
  • Доработка загрузки заявок через внешнюю обработку.
  • Наполнение «воронки продаж» заявками с приземлением на рабочее место менеджера «Мои продажи» в колонку «Обращения».

Сценарий использования формы обратной связи на сайте

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

Кнопка открытия виджета на сайте после встраивания Кнопка открытия виджета на сайте после встраивания

При клике на кнопку открывается форма виджета и из 1С:CRM запрашиваются настроенные поля по GUID виджета. Пока выполняется запрос, пользователю показывается анимация загрузки. В выбранной системе аналитики (например, Yandex) срабатывает цель «открыли форму»:

Анимация в случае задержки получения данных со стороны 1С:CRM Анимация в случае задержки получения данных со стороны 1С:CRM

После успешного получения полей из 1С:CRM, они отображаются в виджете:

Пример открытия формы виджета Пример открытия формы виджета

При заполнении формы подсвечиваются обязательные к заполнению поля выбранного источника получения лидов в 1С:CRM. В выбранной системе аналитики (например, Yandex) срабатывает цель «Начали заполнять форму»:

Цель «Начали заполнять форму» Цель «Начали заполнять форму»

После отправки данных в 1С:CRM, пользователю показывается индикатор ожидания.

Получение подтверждения получения заявки пользователю Получение подтверждения получения заявки пользователю

После получения ответа от 1С:CRM пользователю показывается номер созданной им заявки. Если в течение дня уже была оставлена заявка с таким же телефоном и/или email, обновляются поля имеющейся заявки.

В выбранной системе аналитики (например, Yandex) срабатывает цель «Успешно отправлена».

Срабатывание цели «Успешное отправлена» Срабатывание цели «Успешное отправлена»

Если произошла ошибка при отправке заявки (пропал интернет, 1С:CRM было недоступно), в выбранной системе аналитики (например, Yandex) срабатывает цель «Ошибка»:

Срабатывание цели «Ошибки» Срабатывание цели «Ошибки»

Настройка источников получения заявок

Для получения заявок необходимо опубликовать http-сервис CRM_LeadsExchange. Настройка http-сервиса не требует привлечения специалиста, но возможна только на ПК с установленным и настроенным веб-сервером. Подробные описания доступны по ссылкам «Установка веб‑сервера» и «Публикация http‑сервиса CRM_LeadsExchange».

Важно! Сайт и База 1С должны работать по одинаковому протоколу (или оба по http или оба по https).

Для корректного взаимодействия виджета обратной связи и веб-сервера, на котором опубликован http-сервис, необходимо выполнить дополнительные настройки.

Для веб-сервера Apache потребуется отредактировать конфигурационный файл httpd.conf. Разрешите загрузку следующих модулей, убрав символ комментария, расположенный в начале строки:

LoadModule rewrite_module modules/mod_rewrite.so
LoadModule headers_module modules/mod_headers.so

Найдите в файле секцию публикации информационной базы и добавьте следующие строки:

Options +FollowSymLinks
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

После внесений изменений секция публикации информационной базы должна выглядеть следующим образом:

Редактирование конфигурационного файла Apache Редактирование конфигурационного файла Apache

Сохраните файлы и перезапустите службу веб-сервера Apache.

Для веб-сервера IIS необходимо установить расширение CORS для обхода ограничений политики безопасности браузера при выполнении кода виджета, размещаемого на одном домене и http-сервиса «1С», размещенного на другом домене. Скачать расширение CORS и получить подробную информацию можно по следующей ссылке:

https://www.iis.net/downloads/microsoft/iis-cors-module

Так же необходимо установить модуль URL Rewrite для переопределения URL по произвольным правилам. Получить подробную информацию можно по следующей ссылке:

https://learn.microsoft.com/ru-ru/iis/extensions/url-rewrite-module/using-the-url-rewrite-module

После установки дополнений потребуется внести изменения в конфигурационный файл web.config веб-сервера IIS. Изменения (выделены жирным шрифтом) вносятся после секции </handlers>. Пример конфигурационного файла:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<remove name="1C Web-service Extension" />
<add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:Program Files1cv88.3.13.1694binwsisapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="bitness64" />
</handlers>
<cors enabled="true">
<add origin="*" maxAge="1000">
<allowMethods>
<add method="GET" />
<add method="HEAD" />
<add method="POST" />
<add method="OPTIONS" />
<add method="PUT" />
<add method="DELETE" />
</allowMethods>
<exposeHeaders>
<add header="x-requested-with" />
<add header="Content-Type" />
<add header="origin" />
<add header="authorization" />
<add header="accept" />
<add header="client-security-token" />
</exposeHeaders>
</add>
</cors>
<rewrite>
<outboundRules>
<rule name="Set Access-Control-Allow-Methods for OPTIONS response" preCondition="OPTIONS" patternSyntax="Wildcard">
<match serverVariable="RESPONSE_Access-Control-Allow-Methods" pattern="*" negate="false" />
<action type="Rewrite" value="POST" />
</rule>
<rule name="Set Access-Control-Allow-Headers for OPTIONS response" preCondition="OPTIONS" patternSyntax="Wildcard">
<match serverVariable="RESPONSE_Access-Control-Allow-Headers" pattern="*" negate="false" />
<action type="Rewrite" value="Origin, X-Requested-With, Content-Name, Content-Type, Accept" />
</rule>
<rule name="Set Access-Control-Allow-Origin for OPTIONS response" preCondition="OPTIONS" patternSyntax="Wildcard">
<match serverVariable="RESPONSE_Access-Control-Allow-Origin" pattern="*" negate="false" />
<action type="Rewrite" value="*" />
</rule>
<rule name="Set Access-Control-Max-Age for OPTIONS response" preCondition="OPTIONS" patternSyntax="Wildcard">
<match serverVariable="RESPONSE_Access-Control-Max-Age" pattern="*" negate="false" />
<action type="Rewrite" value="3600" />
</rule>
<rule name="Set X-Content-Type-Options for OPTIONS response" preCondition="OPTIONS" patternSyntax="Wildcard">
<match serverVariable="RESPONSE_X-Content-Type-Options" pattern="*" negate="false" />
<action type="Rewrite" value="nosniff" />
</rule>
<preConditions>
<preCondition name="OPTIONS">
<add input="{REQUEST_METHOD}" pattern="OPTIONS" />
</preCondition>
</preConditions>
</outboundRules>
<rules>
<rule name="OPTIONS" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_METHOD}" pattern="OPTIONS" />
</conditions>
<action type="CustomResponse" statusCode="200" subStatusCode="0" statusReason="OK" statusDescription="OK" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Сохраните файл и перезапустите службу веб-сервера IIS.

Настройка виджета обратной связи

«Виджет обратной связи» используется для размещения на сайте организации формы обратной связи. Отображаемые поля у виджета настраиваются из решения 1С:CRM. При этом на одном сайте может быть настроено более одного виджета с разными отображаемыми полями.

Результатом работы виджета является:

  • Генерация заявки в решении 1C:CRM с заполненными данными от лида.
  • Автоматический разбор и передача в решение 1C:CRM информации из utm_метки, по которой пришел лид, а именно:
    • source;
    • medium;
    • сайт;
    • рекламная кампания;
    • цель (целевое действие).

Подключение виджета на сайт начинается из решения 1С:CRM. На рабочем месте «Сквозная аналитика» в 1C:CRM необходимо создать новый источник получения лидов со сценарием «Виджет обратной связи»:

Создание источника лидов «Виджет обратной связи» Создание источника лидов «Виджет обратной связи»

При настройке виджета обратной связи доступны следующие настройки:

  • Сценарий источника получения лидов. Вы можете выбрать один из представленных сценариев для получения заявок и телефонных звонков с разных сервисов.
  • Настройка расписания по своему усмотрению, чтобы не потерять заявки с ваших источников. Виджет обратной связи работает в режиме реального времени.
  • Назначение ответственного пользователя за обработку заявок или роль (например: менеджеры).
  • Идентификатор — используется для виджета обратной связи. Заявки будут привязаны к конкретному источнику.
  • Маркетинговые мероприятия используются в том случае, если с сервиса не приходит информация о канале и источнике рекламы (utm-метка).
  • Настройка виджета обратной связи: вы можете добавить свои поля либо изменить их порядок отображения в виджете. В правом окне вы можете увидеть примерное отображение виджета.

Далее следует раскрыть группу «Сервис виджета» и указать следующие поля:

  • источник получения аналитики;
  • счетчик;
  • адрес публикации базы 1С:CRM.

После завершения настройки пользователю предоставляется сгенерированный код для вставки на сайте организации (на каждой странице, либо на конкретной), например:

<script id="widgetCrm" src="https://form.1crm.ru/widget.js"
data-token="1234"
data-source="a6bbd1da-1c5a-48b1-b8c3-495a9aa74e6f"
data-url="http://test.ru:8080/sfpCRM3"
data-metrica="12345678"
data-analitics="UA-12345678-1">
</script>

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

При сохранении источника лидов в решении 1С:CRM автоматически будет выполнена регистрация целей (действий пользователя) в выбранной системе метрики (Yandex или Google) для каждого размещенного виджета по маске 1crm_form_[data-metrica%2Bdata-source]_action:

  • 1crm_form_[11061127%2Ba6bbd1da-1c5a-48b1-b8c3-495a9aa74e6f]_view — Пользователь кликнул на кнопку открытия виджета.
  • 1crm_form_[11061127%2Ba6bbd1da-1c5a-48b1-b8c3-495a9aa74e6f]_start — Пользователь начал заполнять виджет.
  • 1crm_form_[11061127%2Ba6bbd1da-1c5a-48b1-b8c3-495a9aa74e6f]_end — Пользователь отправил данные в «1С», но произошла ошибка.
  • 1crm_form_[11061127%2Ba6bbd1da-1c5a-48b1-b8c3-495a9aa74e6f]_success — Виджет успешно отправил данные в «1С».

Где: 11061127 — уникальный код счетчика в подключенном источнике статистики (например, Yandex); 2Ba6bbd1da-1c5a-48b1-b8c3-495a9aa74e6f — уникальный код виджета.

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

При размещении виджета на сайте следует соблюдать рекомендации:

  • Один виджет на весь сайт — в подвале сайта разместить код, полученный из 1С:CRM.
  • Разные виджеты для страниц/разделов/лендингов — может понадобиться при необходимости разного набора полей на страницах. Для этого код виджета нужно разместить на конкретной странице.
  • Не размещайте на одной странице несколько кодов вызова. Работать будет тот, который подключен последним в коде страницы.

Техническое описание используемых реквизитов виджета

В решении 1С:CRM генерируется код для вставки на сайт, в котором:

  • src=»https://form.1crm.ru/widget.js» — адрес на сайт разработчика откуда берется исходник виджета, является константой.
  • data-token=»1234″ — служебный параметр, в настоящее время не используется.
  • data-source=»a6bbd1da-1c5a-48b1-b8c3-495a9aa74e6f» — уникальный номер (GUID) виджета на сайте. Параметр участвует в передаче информации для выбранной системы метрики (Yandex или Google). Генерируется автоматически.
  • data-url=»http://test.ru:8080/sfpCRM3″ — адрес, по которому опубликована информационная база. Именно по этому пути идет взаимодействие виджета с базой. Подставляется автоматически.
  • data-metrica=»12345678″ — уникальный номер (GUID) счетчика в подключенной Yandex метрика. Параметр участвует в передаче информации по действиям виджета в Yandex‑метрику. Генерируется автоматически при подключенной системе Yandex метрика.
  • data-analitics=»UA-12345678-1″ — уникальный номер (GUID) счетчика в подключенной Google Analytics. Параметр участвует в передаче информации по действиям виджета в Google Analytics. Генерируется автоматически при подключенной системе Google Analytics.

Виджет в своей работе передает в 1С:CRM следующие данные и их описание:

  • Историю посещения — страницы, посещенные пользователем с первого визита до отправки данных в «1С» с учетом GET параметров. Дубли страниц исключаются из списка.
  • Нужен звонок — было заполнено поле «Телефон».
  • Реферер — откуда попали на сайт (если есть).
  • Сайт — полный домен сайта.
  • GUID виджета.
  • Тема — url без домена и GET параметров + целевое действие (заполнена форма).
  • UTM — вся строка GET запроса страницы, с которой отправлена форма.
  • Содержимое utm_меток:
    • utm_Campaign,
    • utm_Medium,
    • utm_Source.
  • Идентификатор достижения цели.
  • Дополнительные поля — поля для показываемой на сайте формы в дополнение к базовым.

Получение заявок через почтовое сообщение (email)

Сценарий «Почтовое сообщение» Сценарий «Почтовое сообщение»

Настройте данный источник, если у вас нет возможности использовать виджет и другие сервисы. Просто отправляйте письмо в 1C:CRM с вашей заявкой. Для этого нужно указать учетную запись, на которую будут приходить письма, указать email отправителя, задать тему письма и сопоставить параметры с Вашими данными. Для удобства пример тела письма будет сгенерирован автоматически. Достаточно будет реализовать на стороне сайта передачу заявки в требуемом формате.

Внешняя обработка (свой API)

Сценарий «Внешняя обработка» Сценарий «Внешняя обработка»

Вы можете загружать данные с вашего сайта с использованием API. Для этого достаточно отредактировать обработку (пример файла обработки можно выгрузить из виджета) и вставить новую обработку в данный источник. После сохранения источника, данные с Вашего сайта будут загружаться в 1C:CRM автоматически.

Источник