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;