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 เบราว์เซอร์นี้ หรือ null หากไม่มี เพราะไม่ยินยอมจึงไม่บันทึก

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