JavaScript API
Всё, что mp.js даёт вашему коду: согласие, ID клиента, события, шаги без смены адреса, хуки и HTML-атрибуты. Ничто не обязательно: сниппет записывает сам.
1. Два способа вызова
mp.js асинхронен. Код до загрузки помещает вызовы в очередь window.mp_q; mp.js обрабатывает её после появления. Затем те же функции есть в window.MousePlayer.
Всегда пишите window.mp_q = window.mp_q || [], никогда window.mp_q = []. mp.js продолжает слушать массив: новый поглотит все поздние вызовы, включая отзыв согласия.
Сниппет также создаёт заглушку mp(...) с такой же очередью. Обе формы принимают команды: consent, set, event, step, get, on и off.
2. Согласие
Без согласия ничего не записывается. Если CMP распознаётся MousePlayer, ничего не нужно; иначе передайте решение сами.
Отзыв действует сразу: обработчики удаляются, буфер отбрасывается, соединение закрывается. См. MousePlayer и согласие.
3. Ваш ID клиента
С ID все устройства человека становятся одним посетителем списка, поддержка ищет по известному номеру. ID применяется и к прежним визитам браузера за последние 30 дней.
Используйте внутренний номер, а не почту или имя. ID виден везде, где посетитель.
Получение ID
4. Собственные события
События видны на шкале записи, служат целями и шагами воронок, уходят в вебхуки и инструменты. Параметры краткие: числа, строки до 255 символов, ключи до 64.
- Имена строчными с подчёркиванием, до 128 символов. Везде одинаковое имя одному событию: цель сопоставляется точно.
- Не включайте персональные данные: параметры хранятся и показываются как прочие события.
5. Шаги без смены адреса
Оформление или мастер со сменой экрана без адреса — одна страница для MousePlayer. step() делает каждый экран отдельным просмотром со снимком, строкой карты и шагом воронки.
Имя от 1 до 40 символов из a-z, 0-9, _ и -; пробелы становятся дефисами, остальное отклоняется с предупреждением консоли. Реальный переход завершает шаг.
6. Контекст товара
Сообщите MousePlayer, какой товар смотрят. Принимаются только эти ключи; остальные отбрасываются, исключая случайную передачу данных клиентов.
7. Хуки
Код может реагировать на измерения. Для захвата самого первого момента регистрируйтесь через очередь.
| Имя | Когда | Поля |
|---|---|---|
exit_risk | модель ухода оценила первый просмотр (раз за визит) | risk, reasons, session |
churn_risk | вернувшийся посетитель помечен риском оттока | risk, reasons, session |
offer_shown | предложение при уходе показано | art, risk, grund, session |
offer_click | его кнопка нажата | art, risk, grund, session, fehler |
offer_dismiss | оно закрыто | art, risk, grund, session |
survey_shown | опрос открыт | survey, trigger, session |
survey_answer | посетитель отвечает | survey, type, value, option, sentiment, session |
survey_text | дополнительный текст отправлен (уже отфильтрован) | survey, text, session |
survey_dismiss | опрос закрыт без ответа | survey, step, session |
При включённом GTM-мосте события идут и в dataLayer (mp_exit_risk и так далее). MousePlayer.exitRisk() возвращает текущий риск ухода или null до определения.
8. Атрибуты HTML
data-mp-mask(или классmp-masked): текст и ввод внутри заменяются до отправки — в снимке, изменениях и описаниях кликов.data-mp-ignore(илиmp-ignore) на поле формы: значение вообще не записывается.data-mp-role: одно из price, price_old, cta_cart, cta_checkout, product_image, variant, shipping_info, returns_info, reviews, rating, stock, coupon, payment_methods, search, filter, heading, article_body, nav, media, form_field, contact_info. Остальные игнорируются.
9. Исключение своих визитов
Откройте сайт один раз с ?mp_exclude=1 , и браузер больше не записывается; ?mp_exclude=0 отменяет это. Для офиса укажите IP в настройках проекта.
10. Ссылка для политики конфиденциальности
Посетители могут видеть и удалять записанное о них. privacyUrl() возвращает готовую ссылку с ID браузера или null, если его нет: без согласия ничего не записано.