JavaScript API

mp.js-in öz kodunuza təqdim etdiyi hər şey: razılıq, müştəri ID-niz, fərdi hadisələr, ünvan dəyişməyən addımlar, qarmaqlar və HTML atributları. Bunların heç biri məcburi deyil — təkcə kod fraqmenti qeyd edir.

1. Çağırmağın iki yolu

mp.js asinxron yüklənir. Yüklənməzdən əvvəl işləyən kod çağırışlarını bu növbəyə qoyur: window.mp_q; mp.js hazır olan kimi onları icra edir. Sonra eyni funksiyalar bu obyekt üzərində əlçatan olur: 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);

Həmişə bunu yazın: window.mp_q = window.mp_q || [], bunu heç vaxt yazmayın: window.mp_q = []. mp.js həmin massivi dinləməyə davam edir — yenisi razılığın geri götürülməsi daxil olmaqla bütün sonrakı çağırışları itirərdi.

Quraşdırma kodu həmçinin bu ilkin funksiyanı təyin edir: mp(...) və o da eyni cür növbəyə qoyur. Hər iki forma eyni əmrləri qəbul edir: consent, set, event, step, get, on və off.

2. Razılıq

Razılıq olmadan heç nə qeydə alınmır. Razılıq alətinizi MousePlayer tanıyırsa, bunlara ehtiyacınız yoxdur; əks halda qərarı özünüz ötürün.

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'

Razılığın geri götürülməsi səhifədə dərhal qüvvəyə minir: dinləyicilər silinir, buferdəki məlumat atılır, bağlantı bağlanır. Baxın: MousePlayer və razılıq.

3. Müştəri ID-niz

Öz ID-nizlə bir şəxsin bütün cihazları siyahılarda bir ziyarətçiyə çevrilir və dəstək müraciətini bildiyiniz nömrə ilə axtara bilərsiniz. ID həmçinin eyni brauzerin son 30 gündəki əvvəlki ziyarətlərinə tətbiq olunur.

// 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']);

E-poçt ünvanı və ya ad deyil, daxili nömrə istifadə edin. MousePlayer ziyarətçinin göründüyü hər yerdə ID-ni göstərir.

ID-lərin geri oxunması

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. Fərdi hadisələr

Göndərdiyiniz hadisələr təkrar oynatmanın zaman xəttində görünür, hədəf və qıf addımı ola bilər, vebhuklarınıza və qoşulmuş alətlərə gedir. Parametrlər qısa dəyərlərdir: rəqəmlər, ən çox 255 simvolluq sətirlər, ən çox 64 simvolluq açarlar.

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' }]);
  • Adlar: kiçik hərflər və alt xətlər, ən çox 128 simvol. Eyni şey üçün hər yerdə eyni adı istifadə edin — hədəf adları dəqiq uyğunlaşdırır.
  • Parametrlərə şəxsi məlumat qoymayın. Onlar digər hadisələr kimi saxlanılır və göstərilir.

5. Ünvan dəyişməyən addımlar

Ekranını dəyişib ünvanını dəyişməyən ödəniş və ya addımlı forma MousePlayer üçün bir səhifədir. step() hər ekranı öz anlıq görüntüsü, istilik xəritəsi sətri və qıf addımı olan ayrıca səhifə baxışına çevirir.

// 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']);

Ad a-z, 0-9, _ və - simvollarından 1-dən 40-a qədər simvol ola bilər; boşluqlar defisə çevrilir, digərləri konsolda xəbərdarlıqla rədd edilir. Real naviqasiya addımı bitirir.

6. Məhsul konteksti

Məhsul səhifəsində nəyə baxıldığını MousePlayer-ə bildirin. Yalnız bu açarlar qəbul edilir; müştəri məlumatının təsadüfən keçməməsi üçün digərləri atılır.

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. Qarmaqlar

Kodunuz MousePlayer-in səhifədə ölçdüklərinə reaksiya verə bilər. Qarmaq ilk anı qaçırmamalıdırsa, növbə vasitəsilə qeydiyyatdan keçirin.

// 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);
AdNə vaxtSahələr
exit_riskçıxış modeli ilk səhifə baxışını qiymətləndirib (hər ziyarətdə bir dəfə)risk, reasons, session
churn_risktəkrar ziyarətçi geri qayıtmama ehtimalı yüksək kimi işarələnibrisk, reasons, session
offer_shownçıxış təklifi göstərilirart, risk, grund, session
offer_clickonun düyməsi kliklənirart, risk, grund, session, fehler
offer_dismissbağlanırart, risk, grund, session
survey_shownsorğu açılırsurvey, trigger, session
survey_answerziyarətçi cavab verirsurvey, type, value, option, sentiment, session
survey_textəlavə sualın mətni göndərilir (artıq süzülüb)survey, text, session
survey_dismisssorğu cavabsız bağlanırsurvey, step, session

GTM körpüsü aktivdirsə, eyni hadisələr dataLayer-ə də gedir (mp_exit_risk və s.). MousePlayer.exitRisk() cari çıxış riskini qaytarır, məlum olana qədər isə null.

8. HTML atributları

<!-- 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 (və ya bu sinif: mp-masked): elementin içindəki mətn və daxiletmə brauzerdən çıxmazdan əvvəl əvəz edilir — anlıq görüntüdə, dəyişikliklərdə və klik təsvirlərində.
  • data-mp-ignore (və ya mp-ignore) forma sahəsində: onun dəyəri ümumiyyətlə qeydə alınmır.
  • 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 dəyərlərindən biri. Digər dəyərlər nəzərə alınmır.

9. Öz ziyarətlərinizi qeyddən çıxarmaq

Saytınızı bir dəfə bu parametrlə açın: ?mp_exclude=1 və bu brauzer artıq qeydə alınmayacaq; ?mp_exclude=0 bunu geri qaytarır. Bütün ofis şəbəkəsi üçün əvəzində layihə parametrlərinə IP ünvanlarını daxil edin.

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. Məxfilik siyasətiniz üçün keçid

Ziyarətçilər onlar haqqında qeydə alınanları görə və silə bilər. privacyUrl() bu brauzerin ID-si ilə hazır keçidi qaytarır — ID yoxdursa null qaytarır, çünki razılıqsız heç nə qeydə alınmayıb.

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