JavaScript API

Vse, kar mp.js ponuja vaši kodi: privolitev, vaš ID stranke, prilagojene dogodke, korake brez spremembe naslova, sprožilce in atribute HTML. Nič od tega ni obvezno – sam delček kode že snema.

1. Dva načina klicanja

mp.js se nalaga asinhrono. Koda, ki se izvede pred nalaganjem, doda klice v čakalno vrsto window.mp_q; mp.js jih obdela takoj, ko je na voljo. Nato so iste funkcije na voljo na 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);

Vedno zapišite window.mp_q = window.mp_q || [], nikoli window.mp_q = []. mp.js še naprej posluša to polje – novo bi pogoltnilo vse poznejše klice, tudi preklic privolitve.

Namestitveni delček določi tudi nadomestno funkcijo mp(...), ki dodaja v vrsto enako. Obe obliki sprejmeta iste ukaze: consent, set, event, step, get, on in off.

2. Privolitev

Brez privolitve se nič ne snema. Če MousePlayer prepozna vaše orodje za privolitev, nič od tega ni potrebno; sicer odločitev posredujte sami.

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'

Preklic privolitve na strani učinkuje takoj: poslušalci se odstranijo, podatki v medpomnilniku zavržejo, povezava zapre. Glejte MousePlayer in privolitev.

3. Vaš ID stranke

Z vašim ID-jem vse naprave ene osebe na seznamih postanejo en obiskovalec, primer podpore pa lahko poiščete po znani številki. ID se uporabi tudi za prejšnje obiske istega brskalnika iz zadnjih 30 dni.

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

Uporabite interno številko, ne e-poštnega naslova ali imena. MousePlayer pokaže ID povsod, kjer se pojavi obiskovalec.

Branje ID-jev

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. Prilagojeni dogodki

Poslani dogodki se pojavijo na časovnici predvajanja, lahko so cilji in koraki lijaka ter se pošiljajo vašim Webhooks in povezanim orodjem. Parametri so kratke vrednosti: številke, nizi do 255 znakov, ključi do 64 znakov.

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' }]);
  • Imena: male črke s podčrtaji, največ 128 znakov. Za isto stvar povsod uporabite isto ime – cilj se z imeni ujema natančno.
  • V parametre ne vnašajte osebnih podatkov. Shranijo in prikažejo se kot vsak drug dogodek.

5. Koraki brez spremembe naslova

Zaključek nakupa ali čarovnik, ki spremeni zaslon, ne pa naslova, je za MousePlayer ena stran. step() vsak zaslon spremeni v lasten ogled strani – z lastnim posnetkom stanja, vrstico toplotnega zemljevida in korakom lijaka.

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

Ime ima od 1 do 40 znakov iz a-z, 0-9, _ in -; presledki postanejo vezaji, vse drugo se zavrne z opozorilom v konzoli. Prava navigacija konča korak.

6. Kontekst izdelka

Na strani izdelka povejte MousePlayer, kaj si obiskovalec ogleduje. Sprejeti so samo ti ključi; vse drugo se zavrže, da podatki strank ne zaidejo pomotoma.

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. Sprožilci

Vaša koda se lahko odzove na meritve MousePlayer na strani. Če sprožilec ne sme zamuditi prvega trenutka, ga registrirajte prek čakalne vrste.

// 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);
ImeKdajPolja
exit_riskmodel odhoda je ocenil prvi ogled strani (enkrat na obisk)risk, reasons, session
churn_riskobiskovalec, ki se vrača, je označen kot verjeten trajni odhodrisk, reasons, session
offer_shownponudba ob odhodu se prikažeart, risk, grund, session
offer_clicknjen gumb je kliknjenart, risk, grund, session, fehler
offer_dismissponudba se zapreart, risk, grund, session
survey_shownanketa se odpresurvey, trigger, session
survey_answerobiskovalec odgovorisurvey, type, value, option, sentiment, session
survey_textdodatno besedilo se pošlje (že filtrirano)survey, text, session
survey_dismissanketa se zapre brez odgovorasurvey, step, session

Ko je most GTM vklopljen, gredo isti dogodki tudi v dataLayer (mp_exit_risk in tako naprej). MousePlayer.exitRisk() vrne trenutno tveganje odhoda ali null, preden je znano.

8. Atributi 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 (ali razred mp-masked): besedilo in vnosi znotraj elementa se zamenjajo, preden zapustijo brskalnik – v posnetku stanja, spremembah in opisih klikov.
  • data-mp-ignore (ali mp-ignore) na polju obrazca: njegova vrednost se sploh ne posname.
  • data-mp-role: eden od 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. Druge vrednosti se prezrejo.

9. Izključevanje lastnih obiskov

Enkrat odprite svoje spletno mesto z ?mp_exclude=1 in ta brskalnik se ne snema več; ?mp_exclude=0 to razveljavi. Za celotno pisarniško omrežje raje v nastavitve projekta vnesite naslove 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. Povezava za politiko zasebnosti

Obiskovalci lahko vidijo in izbrišejo podatke, posnete o njih. privacyUrl() vrne pripravljeno povezavo z ID-jem tega brskalnika ali null, če ga ni, ker brez privolitve ni bilo nič posneto.

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