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 ले उही एरे सुनिरहन्छ — नयाँ एरेले सहमति फिर्तासमेत पछिका सबै कल हराउँछ।

स्थापना स्निपेटले यही तरिकाले पङ्क्तिमा राख्ने यो stub पनि बनाउँछ: mp(...) । दुवैले उही आदेश लिन्छन्: consent, set, event, step, get, on र off।

2. सहमति

सहमतिबिना केही रेकर्ड हुँदैन। पहिचान हुने सहमति उपकरण भए यो चाहिँदैन; नत्र निर्णय आफैँ पठाउनुहोस्।

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'

सहमति फिर्ता लिँदा पृष्ठमै तुरुन्त लागू हुन्छ: listener हट्छन्, बफर हटाइन्छ र जडान बन्द हुन्छ। हेर्नुहोस्: MousePlayer र सहमति।

3. आफ्नै ग्राहक ID

आफ्नै ID ले एक व्यक्तिका सबै उपकरण सूचीमा एउटै आगन्तुक बन्छन् र परिचित नम्बरबाट सहायता केस खोज्न सक्नुहुन्छ। पछिल्ला 30 दिनका उही ब्राउजरका पुराना भ्रमणमा पनि ID लागू हुन्छ।

// 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']);

नाम वा इमेल होइन, आन्तरिक नम्बर प्रयोग गर्नुहोस्। आगन्तुक देखिने सबै ठाउँमा 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 सहित तयार लिङ्क दिन्छ — ID नभए null, किनकि सहमतिबिना केही रेकर्ड भएन।

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