JavaScript API

អ្វីទាំងអស់ដែល mp.js ផ្តល់ដល់កូដផ្ទាល់៖ ការយល់ព្រម លេខសម្គាល់អតិថិជន ព្រឹត្តិការណ៍ផ្ទាល់ខ្លួន ជំហានគ្មានការប្តូរអាសយដ្ឋាន hook និងគុណលក្ខណៈ 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. លេខសម្គាល់អតិថិជនផ្ទាល់

ជាមួយលេខសម្គាល់ផ្ទាល់ ឧបករណ៍ទាំងអស់របស់មនុស្សម្នាក់ក្លាយជាអ្នកចូលមើលម្នាក់ក្នុងបញ្ជី ហើយអាចស្វែងរកករណីជំនួយតាមលេខដែលស្គាល់។ លេខសម្គាល់ក៏អនុវត្តលើការចូលមើលមុនៗពីកម្មវិធីរុករកដដែលក្នុង 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 បង្ហាញលេខសម្គាល់គ្រប់កន្លែងដែលអ្នកចូលមើលបង្ហាញ។

អានលេខសម្គាល់ត្រឡប់

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. ព្រឹត្តិការណ៍ផ្ទាល់ខ្លួន

ព្រឹត្តិការណ៍ដែលផ្ញើបង្ហាញក្នុងបន្ទាត់ពេលវេលាចាក់ឡើងវិញ អាចជាគោលដៅ និងជំហានចីវលោ ហើយទៅ webhook និងឧបករណ៍ភ្ជាប់។ ប៉ារ៉ាម៉ែត្រជាតម្លៃខ្លី៖ លេខ ខ្សែអក្សររហូតដល់ 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. Hook

កូដផ្ទាល់អាចឆ្លើយតបនឹងអ្វីដែល MousePlayer វាស់លើទំព័រ។ ចុះបញ្ជីតាមជួររង់ចាំ បើ hook មិនត្រូវខកខានពេលដំបូង។

// 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() ផ្តល់តំណដែលរៀបចំរួចជាមួយលេខសម្គាល់កម្មវិធីរុករកនេះ ឬ null បើគ្មាន ព្រោះបើគ្មានការយល់ព្រម គ្មានអ្វីត្រូវបានថត។

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