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 দিলে এজন ব্যক্তিৰ সকলো ডিভাইচ তালিকাত এজন পৰিদৰ্শক হয়, আৰু আপুনি জনা নম্বৰেৰে সহায়ৰ কেছ বিচাৰিব পাৰে। একেটা ব্ৰাউজাৰৰ শেষৰ 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']);

ভিতৰুৱা নম্বৰ ব্যৱহাৰ কৰক, ইমেইল ঠিকনা বা নাম নহয়। পৰিদৰ্শক য’তেই দেখা যায়, 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;