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 بھی دکھاتا ہے۔

IDs واپس پڑھنا

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;