Формы
Какие формы и поля тег собирает автоматически, значения каких полей не читаются никогда, виды полей и что из них извлекается, атрибут data-dara-ignore, отключение сбора в кабинете и отчёт «Формы» с воронкой полей.
Тег читает все формы сайта автоматически. Из распознанных полей аналитика узнаёт пол, возраст, город, детей, компанию и интересы посетителя — вы видите их как атрибуты. Сами значения — имя, телефон, email — хранятся зашифрованными и не показываются ни в кабинете, ни в API, ни в выгрузках.
В настройках сайта видно, какие формы и поля собираются. Сбор значений любой формы или поля можно отключить.
Когда тег читает форму
| Событие | Когда |
|---|---|
form_submit |
событие submit, даже если обработчик сайта отменил отправку; клик по кнопке отправки формы — повторный клик в течение 2 секунд не учитывается; команда dara('form', …) |
form_start |
первый фокус или ввод в форме |
form_abandon |
уход со страницы после form_start без отправки |
Тег перехватывает submit на фазе захвата, поэтому учитываются и формы, которые сайт отправляет скриптом, отменяя обычную отправку. Отправка, которую сайт отменил — например, из-за ошибки в поле, — тоже попадёт в отчёты как отправка.
С form_submit и form_abandon уходят метаданные полей: порядок полей, время в каждом поле, заполнено поле или нет, число исправлений и последнее поле перед уходом.
Что не читается никогда
Тег не читает значения:
- полей
type=password,hiddenиfile; - полей с
autocompletecc-*,current-password,new-password,one-time-code; - полей, у которых имя, id или метка содержат: card, cvv, cvc, pin, pass, secret, token, csrf, captcha, «карта», «пароль», «снилс», «паспорт», «код подтверждения» (pin не срабатывает внутри других слов, например shipping или spinner);
- полей одноразовых кодов и кодов из SMS: имя, id или метка содержат otp, 2fa, «код из SMS», «смс-код», sms_code, verification code или confirm code — такие поля часто принимают цифры и иначе распознались бы как телефон;
- значений из 13–19 цифр, похожих на номер банковской карты (проходят проверку Луна);
- форм и полей с атрибутом
data-dara-ignoreи отключённых в кабинете.
Эти правила не отключаются. Сервер аналитики повторяет их при приёме: если значение такого поля всё же пришло — например, со страницы со старой версией настроек, — оно отбрасывается.
Сверх этого не отправляются значения полей имени, фамилии и отчества ребёнка: поле «Имя ребёнка», «ФИО детей» или child_name дало бы посетителю чужой пол. Вид поля, выбранный в кабинете, это правило отменяет.
Какие значения отправляются
Значения отправляются только у распознанных полей:
| Вид поля | Как тег распознаёт поле | Что узнаёт аналитика |
|---|---|---|
email |
type=email, autocomplete=email; имя или метка «email», «почта», «e-mail»; значение похоже на email |
связь посетителя с человеком |
phone |
type=tel, autocomplete=tel; «телефон», «phone», «tel», «мобильный» |
связь посетителя с человеком |
full_name, first_name, last_name, middle_name |
autocomplete name, given-name, family-name, additional-name; «ФИО», «имя», «фамилия», «отчество», «name» |
пол |
gender |
autocomplete=sex; список или переключатель «пол» с вариантами м/ж, мужской/женский, male/female |
пол |
birth_date, birth_day, birth_month, birth_year |
autocomplete bday*; поле даты с меткой «дата рождения», «birth» |
год рождения |
age |
«возраст», «age»; число от 5 до 100 | год рождения |
city |
autocomplete=address-level2; «город», «city», «населённый пункт» |
город |
address |
autocomplete street-address, address-line1; «адрес» |
город |
inn |
«ИНН», «inn»; 10 или 12 цифр | тип компании, отрасль, регион |
company |
autocomplete=organization; «компания», «организация» |
ничего: только проверка вместе с ИНН |
child_birth_date, child_age |
метки «ребёнок», «дети», «детей», «child» у даты рождения или возраста | дети и их возраст |
choice |
выбранные варианты select, radio, checkbox: подписи до 100 знаков |
темы интересов |
- Остальные поля — свободный текст,
textarea, нераспознанныеinput— отправляются только метаданными: имя поля, тип, заполнено или нет. - Метка поля берётся по порядку:
label for, обёрткаlabel,aria-label,placeholder,name,id. - Распознавание в теге предварительное. Вид поля, выбранный в кабинете, важнее автоматического, а окончательную проверку делает сервер.
- Неверные значения не сохраняются вовсе: email с ошибкой, недействительный номер телефона, дата рождения или возраст вне 5–100 лет, возраст ребёнка старше 17, ИНН с неверной контрольной суммой.
Как из полей получаются атрибуты
- Пол — по отчеству (-вич, -ич, «оглы» — мужской; -вна, -чна, -шна, -инична, «кызы» — женский), по имени, если оно однозначное, и по полю «пол». Имена вроде Саша, Женя, Валя пола не дают. Фамилия сама пол не показывает, только уточняет его.
- Год рождения — по дате рождения или возрасту. Вы видите только возрастную группу.
- Город — по названию города или по адресу.
- Компания — по ИНН с проверкой контрольной суммы. ИНН юрлица (10 цифр) отправляется поставщику данных о компаниях, чтобы узнать отрасль и регион. ИНН из 12 цифр — ИП или физлица — наружу не отправляется и даёт только тип «ИП или физлицо».
- Интересы — подписи выбранных вариантов сопоставляются с темами. После этого подписи не хранятся, остаётся только результат.
Где хранятся значения
- Значения уходят только в теле POST-запроса по HTTPS, и сервер принимает их только по HTTPS. Тег не пишет их ни в адрес страницы, ни в cookie, ни в хранилища браузера.
- Сервер аналитики разбирает форму при приёме: значения сразу шифруются для хранилища персональных данных, а дальше идут только хеши и выводы — пол, год рождения, город.
- Значения не попадают в логи, отчёты, кабинет, API и выгрузки.
- Расшифровать их могут только администратор и разработчики ДАРА в разделе отладки: с указанием причины и после свежего входа по коду. Каждое открытие записывается в журнал.
Страницы с GET-формами и ссылками вида ?email= значения в отчёты не приносят: тег и сервер заменяют такие значения в адресах на *.
Одна форма на разных страницах
Форма узнаётся по подписи: хеш из id, name и пути action формы и отсортированного списка имён полей, без адреса страницы. Одна и та же форма на разных страницах — одна форма в отчётах. У формы хранится список шаблонов страниц, где она встречалась, — числа и id в адресах заменены на *.
Название формы в отчётах задаётся атрибутом data-dara-form:
<form action="/request" method="post" data-dara-form="Заявка на расчёт">
<input type="text" name="name" placeholder="Имя">
<input type="tel" name="phone" placeholder="Телефон">
<button type="submit">Отправить</button>
</form>
Как исключить форму или поле
Разметкой
Добавьте атрибут data-dara-ignore форме или полю:
<form action="/feedback" method="post" data-dara-form="Обратная связь">
<input type="text" name="name" placeholder="Имя">
<input type="email" name="email" placeholder="Email" data-dara-ignore>
<textarea name="message"></textarea>
<button type="submit">Отправить</button>
</form>
<form action="/manager/customers" method="post" data-dara-ignore>
<input type="email" name="customer_email">
<button type="submit">Сохранить клиента</button>
</form>
Форма или поле с data-dara-ignore не собирается.
Исключите формы, через которые сотрудники вводят данные клиентов: служебные разделы, операторские формы. Сеть всё равно не станет связывать людей через браузер, из которого вводят много разных email или телефонов, но значения таких форм сохранились бы в хранилище.
В кабинете
В настройках сайта, в разделе «Формы», — формы, которые тег нашёл на сайте, по 50 на странице. В настройках формы:
- название формы — его видно в отчётах и в карточке посетителя;
- «Собирать значения формы». Выключенная форма значений не отправляет, но метаданные полей — заполнено ли поле, время в нём — по-прежнему уходят;
- у каждого поля — вид: «Автоматически», вид из таблицы выше или «Не распознано — не собирать»; вид, выбранный вручную, важнее автоматического;
- «Собирать поле» у каждого поля. У полей, которые не читаются никогда, и у свободного текста без выбранного вида переключатель недоступен: их значения не собираются в любом случае.
Изменения доходят до тега в течение 5 минут, а сервер перестаёт сохранять значения выключенных форм и полей не позже чем через минуту. Менять настройки форм могут владелец и администраторы сайта, остальные роли их только видят.
Нестандартные формы
Если форма собрана без элемента form или отправляется без события submit, сообщите об отправке командой dara('form', …):
// Элемент формы
var callbackForm = document.querySelector('#callback-form');
if (callbackForm) {
dara('form', callbackForm);
}
// Форма без элемента form — например, шаги виджета
dara('form', {
form: 'Обратный звонок',
fields: { first_name: 'Мария', phone: '+7 900 000-00-00' }
});
Ключи fields — виды полей из таблицы выше: email, phone, first_name, city и другие.
Отчёт «Формы»
Раздел «Формы» в кабинете показывает, как посетители заполняют формы сайта и на каком поле уходят. Значения полей в отчёте не используются и не показываются. Отчёт видят все, у кого есть доступ к сайту.
Отчёт строится за период в часовом поясе сайта. Сегмента и фильтра роботов у отчёта нет: роботы в нём не учитываются.
Список форм
| Колонка | Что показывает |
|---|---|
| Форма | название формы и ссылка на её настройки |
| Страницы | шаблоны страниц, где встречалась форма |
| Просмотры страниц с формой | просмотры страниц, шаблон которых входит в страницы формы |
| Начали заполнять | первый фокус или ввод в форме — событие form_start |
| Отправили | отправки формы — событие form_submit |
| Конверсия | отправки от начавших заполнять, % |
| Ушли | посетитель начал заполнять форму и покинул страницу, не отправив её, — событие form_abandon |
В отчёте — не больше 100 последних встреченных форм сайта, в том числе без данных за период.
Воронка полей
Страница формы — итоги за период и воронка полей в порядке полей в форме:
| Колонка | Что показывает |
|---|---|
| Дошли до поля | отправили форму или ушли с этого поля либо с поля ниже; доля — от начавших заполнять |
| Заполнили | посетители, заполнившие поле; доля — от дошедших |
| Среднее время | время в поле, делённое на число заполнивших |
| Исправления | сколько раз значение поля исправляли |
| Ушли на поле | поле было последним, с которым работал посетитель перед уходом; доля — от всех уходов формы |
- Над таблицей — поле, на котором уходят чаще всего.
- «Дошли до поля» считается по порядку полей в форме, а не по порядку, в котором их заполняли. Поле ниже того, на котором посетитель ушёл, может оказаться заполненным — например, его заполнил сам браузер. Такое поле считается заполненным, но не дошедшим, поэтому заполнивших иногда больше, чем дошедших.
- Если в период есть записи сессий визитов с уходом из формы, на странице формы есть кнопка «Записи сессий с уходом из формы», а в списке форм — ссылка «записи с уходом». Они открывают список записей за те же даты — подробнее в разделе Записи сессий.
- Воронка полей хранится 13 месяцев.
Что видно в кабинете
- В отчётах — метрики «Отправки форм» (число отправок) и «Конверсия формы, %» и измерение «Форма» — формы сайта по названию.
- Конверсия формы, % — доля начатых заполнений формы, которые закончились её отправкой на той же странице. Отправки без начала заполнения — например, когда браузер заполнил форму сам и посетитель сразу нажал кнопку, или команда
dara('form', {form, fields})— в конверсию не входят, поэтому она не бывает больше 100 %. - В разделе «Формы» — отчёт по формам и воронка полей, описанные выше.
- В настройках — формы и поля, которые собираются.
- В карточке посетителя — отправленные формы: название и время, без значений.
- В атрибутах посетителя — выводы из форм с меткой «с вашего сайта».