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 жүйесіне не қаралып жатқанын айтыңыз. Тек осы кілттер қабылданады, тұтынушы деректері кездейсоқ кірмеуі үшін қалғанының бәрі тасталады.

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. Хуктар

Кодыңыз MousePlayer бетте өлшейтін нәрселерге жауап бере алады. Хук алғашқы сәтті өткізіп алмауы керек болса, кезек арқылы тіркеңіз.

// 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-і бар дайын сілтемені қайтарады немесе ID жоқ болса, null. Өйткені келісімсіз ештеңе жазылмаған.

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