JavaScript API

Gjithçka që mp.js i ofron kodit tuaj: pëlqim, ID-në tuaj të klientit, ngjarje të personalizuara, hapa pa ndryshim adrese, hooks dhe atribute HTML. Asgjë këtu nuk kërkohet - vetëm fragmenti regjistron.

1. Dy mënyra për ta thirrur

mp.js ngarkohet në mënyrë asinkrone. Kodi që ekzekutohet para ngarkimit i vendos thirrjet në radhën window.mp_q përkatëse; mp.js i përpunon sapo të jetë aty. Më pas të njëjtat funksione janë të disponueshme në 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);

Shkruani gjithmonë window.mp_q = window.mp_q || [], kurrë window.mp_q = []. mp.js vazhdon të dëgjojë në atë varg - një i ri do të gëlltiste çdo thirrje të mëvonshme, përfshirë tërheqjen e pëlqimit.

Fragmenti i instalimit përcakton gjithashtu një funksion zëvendësues mp(...) që i vendos në radhë në të njëjtën mënyrë. Të dyja format marrin të njëjtat komanda: consent, set, event, step, get, on dhe off.

2. Pëlqimi

Pa pëlqim nuk regjistrohet asgjë. Nëse mjeti juaj i pëlqimit njihet nga MousePlayer, nuk ju duhet asgjë nga kjo; përndryshe përcilleni vetë vendimin.

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'

Tërheqja hyn në fuqi në faqe menjëherë: hiqen dëgjuesit, hidhen poshtë të dhënat në bufer, mbyllet lidhja. Shihni MousePlayer dhe pëlqimi.

3. ID-ja juaj e klientit

Me një ID tuajën, të gjitha pajisjet e një personi bëhen një vizitor në lista dhe mund të kërkoni rast mbështetjeje sipas numrit që njihni. ID-ja zbatohet edhe për vizitat e mëparshme të të njëjtit shfletues nga 30 ditët e fundit.

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

Përdorni numër të brendshëm, jo adresë emaili ose emër. MousePlayer e shfaq ID-në kudo ku shfaqet vizitori.

Leximi i ID-ve

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. Ngjarje të personalizuara

Ngjarjet që dërgoni shfaqen në vijën kohore të riprodhimit, mund të jenë objektiva dhe hapa hinkash dhe shkojnë te webhook-et dhe mjetet tuaja të lidhura. Parametrat janë vlera të shkurtra: numra, vargje deri në 255 karaktere, çelësa deri në 64 karaktere.

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' }]);
  • Emrat: shkronja të vogla me nënviza, maksimumi 128 karaktere. Përdorni të njëjtin emër për të njëjtën gjë kudo - një objektiv i përputh emrat saktësisht.
  • Mos vendosni të dhëna personale në parametra. Ruhen dhe shfaqen si çdo ngjarje tjetër.

5. Hapa pa ndryshim adrese

Një proces përfundimi blerjeje ose udhëzues që ndryshon ekranin por jo adresën është një faqe për MousePlayer. step() e bën çdo ekran shikim faqeje më vete - me pamjen e vet të ruajtur, rreshtin e hartës së nxehtësisë dhe hapin e hinkës.

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

Një emër ka 1 deri në 40 karaktere nga a-z, 0-9, _ dhe -; hapësirat bëhen viza, çdo gjë tjetër refuzohet me paralajmërim në konsolë. Një lundrim real e përfundon hapin.

6. Konteksti i produktit

Në një faqe produkti, tregojini MousePlayer çfarë po shihet. Pranohen vetëm këta çelësa; çdo gjë tjetër hidhet poshtë që të mos futen rastësisht të dhëna klientësh.

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

Kodi juaj mund të reagojë ndaj asaj që MousePlayer mat në faqe. Regjistrojeni përmes radhës nëse hook-u nuk duhet ta humbasë çastin e parë.

// 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);
EmriKurFushat
exit_riskmodeli i daljes ka vlerësuar shikimin e parë të faqes (një herë për vizitë)risk, reasons, session
churn_risknjë vizitor i rikthyer shënohet si me gjasa largimi përfundimtarrisk, reasons, session
offer_shownshfaqet oferta e daljesart, risk, grund, session
offer_clickklikohet butoni i sajart, risk, grund, session, fehler
offer_dismissmbyllet ajoart, risk, grund, session
survey_shownhapet një anketësurvey, trigger, session
survey_answervizitori përgjigjetsurvey, type, value, option, sentiment, session
survey_textdërgohet teksti pasues (tashmë i filtruar)survey, text, session
survey_dismissanketa mbyllet pa përgjigjesurvey, step, session

Kur ura GTM është aktive, të njëjtat ngjarje shkojnë edhe në dataLayer (mp_exit_risk e kështu me radhë). MousePlayer.exitRisk() kthen rrezikun aktual të daljes ose null para se të njihet.

8. Atribute 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 (ose klasa mp-masked): teksti dhe hyrjet brenda elementit zëvendësohen para se të largohen nga shfletuesi - në pamjen e ruajtur, në ndryshimet dhe përshkrimet e klikimeve.
  • data-mp-ignore (ose mp-ignore) në një fushë formulari: vlera e saj nuk regjistrohet fare.
  • data-mp-role: një nga 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. Vlerat e tjera shpërfillen.

9. Përjashtimi i vizitave tuaja

Hapni sajtin tuaj një herë me ?mp_exclude=1 dhe ky shfletues nuk regjistrohet më; ?mp_exclude=0 e zhbën këtë. Për një rrjet të tërë zyre, në vend të kësaj vendosni adresat IP në cilësimet e projektit.

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. Lidhje për politikën tuaj të privatësisë

Vizitorët mund të shohin dhe fshijnë çfarë u regjistrua për ta. privacyUrl() kthen lidhjen e gatshme me ID-në e këtij shfletuesi - ose null nëse nuk ka, sepse pa pëlqim nuk u regjistrua asgjë.

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