JavaScript API

Усё, што mp.js дае вашаму коду: згода, ID кліента, уласныя падзеі, крокі без змены адраса, хукі і HTML-атрыбуты. Нішто не абавязкова — адзін код ужо запісвае.

1. Два спосабы выкліку

mp.js загружаецца асінхронна. Ранейшы код ставіць выклікі ў чаргу window.mp_q; mp.js апрацоўвае яе пасля загрузкі. Потым тыя ж функцыі ёсць у window.MousePlayer.

// Before mp.js has loaded - the queue keeps every call: (window.mp_q = window.mp_q || []).push(['consent', true]); // After mp.js has loaded - the same, directly: MousePlayer.setConsent(true);

Заўсёды пішыце window.mp_q = window.mp_q || [], ніколі window.mp_q = []. mp.js працягвае слухаць масіў — новы праглынуў бы ўсе наступныя выклікі, уключаючы адкліканне згоды.

Код устаноўкі таксама вызначае заглушку mp(...) з такой жа чаргой. Абедзве формы прымаюць аднолькавыя каманды: consent, set, event, step, get, on і off.

2. Згода

Без згоды нічога не запісваецца. Калі інструмент згоды вядомы MousePlayer, гэта не патрэбна; інакш перадайце рашэнне самі.

MousePlayer.setConsent(true); // the visitor agreed MousePlayer.setConsent(false); // withdrawn: recording stops on this page MousePlayer.getConsentState(); // e.g. 'WAITING', 'GRANTED', 'GRANTED_LATE', 'DENIED', 'WITHDRAWN'

Адкліканне дзейнічае імгненна: слухачы выдаляюцца, буфер адкідаецца, злучэнне закрываецца. Гл. MousePlayer і згода.

3. Ваш ID кліента

З уласным ID усе прылады чалавека становяцца адным наведвальнікам, і справу падтрымкі можна шукаць па вядомым нумары. ID таксама ўжываецца да ранейшых наведванняў гэтага браўзера за апошнія 30 дзён.

// After login - your own customer number, not an e-mail address: MousePlayer.setUserId('customer-4711'); // or through the queue (window.mp_q = window.mp_q || []).push(['set', 'user_id', 'customer-4711']);

Выкарыстоўвайце ўнутраны нумар, не пошту або імя. MousePlayer паказвае ID ўсюды, дзе ёсць наведвальнік.

Чытанне ID

MousePlayer.getSessionUrl(); // replay link of the running session MousePlayer.getSessionId(); MousePlayer.getVisitorId(); // null without consent // Through the queue, with a callback: (window.mp_q = window.mp_q || []).push(['get', 'session_url', function (url) { // e.g. attach it to a support ticket }]);

4. Уласныя падзеі

Адпраўленыя падзеі з'яўляюцца на шкале, могуць быць мэтамі і крокамі варонкі, ідуць у вэбхукі і падключаныя інструменты. Параметры кароткія: лікі, радкі да 255 сімвалаў, ключы да 64.

MousePlayer.trackEvent('newsletter_signup', { source: 'footer' }); MousePlayer.trackEvent('purchase', { value: 129.90, currency: 'EUR' }); (window.mp_q = window.mp_q || []).push(['event', 'add_to_cart', { sku: 'SKU-123' }]);
  • Назвы: малыя літары з падкрэсліваннямі, да 128 сімвалаў. Аднолькавая назва для адной рэчы ўсюды — мэты супастаўляюцца дакладна.
  • Не дадавайце асабістыя даныя ў параметры. Яны захоўваюцца і паказваюцца як іншыя падзеі.

5. Крокі без змены адраса

Афармленне або майстар са зменай экрана без змены адраса для MousePlayer — адна старонка. step() робіць кожны экран асобным праглядам — са здымкам, радком цеплавой карты і крокам варонкі.

// A wizard that keeps its address: MousePlayer.step('shipping'); MousePlayer.step('payment'); MousePlayer.step(''); // back to the page itself (window.mp_q = window.mp_q || []).push(['step', 'payment']);

Назва мае ад 1 да 40 сімвалаў a-z, 0-9, _ і -; прабелы становяцца злучкамі, астатняе адхіляецца з папярэджаннем кансолі. Сапраўдная навігацыя завяршае крок.

6. Кантэкст тавару

На старонцы тавару паведаміце, што праглядаецца. Прымаюцца толькі гэтыя ключы, астатняе адкідаецца, каб выпадкова не перадаць даныя кліента.

MousePlayer.setContext({ page_type: 'product', product_id: 'SKU-123', variant_id: 'SKU-123-42', price: 89.90, currency: 'EUR', category: 'running-shoes', in_stock: true, cart_value: 0, cart_items: 0 });

7. Хукі

Ваш код можа рэагаваць на вымярэнні старонкі. Рэгіструйце праз чаргу, каб не прапусціць першы момант.

// Register early - exit_risk fires once, a few seconds after the visit starts: (window.mp_q = window.mp_q || []).push(['on', 'exit_risk', function (e) { console.log(e.risk, e.reasons, e.session); }]); function onAnswer(e) { /* e.survey, e.value, e.sentiment */ } MousePlayer.on('survey_answer', onAnswer); MousePlayer.off('survey_answer', onAnswer);
НазваКаліПалі
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-атрыбуты

<!-- Nothing typed in here leaves the browser as text --> <section data-mp-mask> ... </section> <!-- The value of this field is never recorded --> <input name="voucher" data-mp-ignore> <!-- Tell MousePlayer what an element is --> <span class="amount" data-mp-role="price">89,90 EUR</span>
  • 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 у наладах праекта.

https://www.your-shop.com/?mp_exclude=1 <!-- this browser is not recorded any more --> https://www.your-shop.com/?mp_exclude=0 <!-- recorded again -->

10. Спасылка для палітыкі прыватнасці

Наведвальнікі могуць бачыць і выдаляць свае запісаныя даныя. privacyUrl() вяртае гатовую спасылку з ID браўзера або null, калі ID няма, бо без згоды нічога не запісана.

var link = MousePlayer.privacyUrl(); // language from <html lang>, or e.g. privacyUrl('de') if (link) document.getElementById('my-data').href = link;