JavaScript API

Alles wat mp.js u eie kode bied: toestemming, u klant-ID, pasgemaakte gebeure, stappe sonder adresverandering, hake en HTML-attribute. Niks hiervan is nodig nie — die kodebrokkie alleen neem op.

1. Twee maniere om dit aan te roep

mp.js laai asinchronies. Kode wat voor die laai loop, plaas oproepe in die ry window.mp_q; mp.js werk dit deur sodra dit beskikbaar is. Daarna is dieselfde funksies beskikbaar op 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);

Skryf altyd window.mp_q = window.mp_q || [], nooit window.mp_q = []nie. mp.js bly na daardie skikking luister — 'n nuwe een sou elke latere oproep insluk, ook herroeping van toestemming.

Die installasiekodebrokkie definieer ook 'n tydelike funksie mp(...) wat op dieselfde manier in die ry plaas. Albei vorms aanvaar dieselfde bevele: consent, set, event, step, get, on en off.

2. Toestemming

Sonder toestemming word niks opgeneem nie. As MousePlayer u toestemmingshulpmiddel herken, het u niks hiervan nodig nie; anders gee u self die besluit deur.

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'

Herroeping geld onmiddellik op die bladsy: luisteraars word verwyder, gebufferde data weggegooi en die verbinding gesluit. Sien MousePlayer en toestemming.

3. U klant-ID

Met u eie ID word een persoon se toestelle een besoeker in die lyste en kan u 'n ondersteuningsaak volgens u bekende nommer soek. Die ID word ook op dieselfde blaaier se vroeëre besoeke van die laaste 30 dae toegepas.

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

Gebruik 'n interne nommer, nie 'n e-posadres of naam nie. MousePlayer wys die ID oral waar die besoeker verskyn.

Lees ID's terug

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. Pasgemaakte gebeure

Gebeure wat u stuur, verskyn in die herspeeltydlyn, kan doelwitte en tregterstappe wees en gaan na u webhake en gekoppelde hulpmiddels. Parameters is kort waardes: getalle, stringe tot 255 karakters en sleutels tot 64 karakters.

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' }]);
  • Name: kleinletters met onderstrepings, hoogstens 128 karakters. Gebruik oral dieselfde naam vir dieselfde ding — 'n doelwit pas name presies.
  • Moenie persoonlike data in parameters plaas nie. Hulle word soos enige ander gebeurtenis gestoor en gewys.

5. Stappe sonder adresverandering

'n Betaalproses of towenaar wat sy skerm maar nie adres verander nie, is vir MousePlayer een bladsy. step() maak elke skerm 'n eie bladsybesigtiging — met 'n eie kiekie, hittekaartry en tregterstap.

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

'n Naam bevat 1 tot 40 karakters uit a-z, 0-9, _ en -; spasies word koppeltekens en enigiets anders word met 'n konsolewaarskuwing geweier. Werklike navigasie beëindig die stap.

6. Produkkonteks

Vertel MousePlayer op 'n produkbladsy waarna gekyk word. Net hierdie sleutels word aanvaar; alles anders word weggegooi sodat geen klantdata per ongeluk inglip nie.

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

U kode kan reageer op wat MousePlayer op die bladsy meet. Registreer deur die ry as die haak nie die eerste oomblik mag mis nie.

// 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);
NaamWanneerVelde
exit_riskdie vertrekmodel die eerste bladsybesigtiging beoordeel het (een keer per besoek)risk, reasons, session
churn_risk'n terugkerende besoeker as waarskynlike permanente vertrekker gemerk wordrisk, reasons, session
offer_showndie vertrekaanbod gewys wordart, risk, grund, session
offer_clicksy knoppie geklik wordart, risk, grund, session, fehler
offer_dismissdit gesluit wordart, risk, grund, session
survey_shown'n meningspeiling oopmaaksurvey, trigger, session
survey_answerdie besoeker antwoordsurvey, type, value, option, sentiment, session
survey_textdie opvolgteks gestuur word (reeds gefiltreer)survey, text, session
survey_dismissdie meningspeiling sonder antwoord gesluit wordsurvey, step, session

Wanneer die GTM-brug aan is, gaan dieselfde gebeure ook na die dataLayer (mp_exit_risk ensovoorts). MousePlayer.exitRisk() gee die huidige verlaatrisiko terug, of null voordat dit bekend is.

8. HTML-attribute

<!-- 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 (of die klas mp-masked): teks en invoer binne die element word vervang voordat dit die blaaier verlaat — in die kiekie, veranderinge en klikbeskrywings.
  • data-mp-ignore (of mp-ignore) op 'n vormveld: die waarde word glad nie opgeneem nie.
  • data-mp-role: een van 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. Ander waardes word geïgnoreer.

9. Sluit u eie besoeke uit

Maak u webwerf een keer oop met ?mp_exclude=1 en dié blaaier word nie meer opgeneem nie; ?mp_exclude=0 maak dit ongedaan. Voer vir 'n hele kantoornetwerk eerder die IP-adresse in die projekinstellings in.

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. 'n Skakel vir u privaatheidsbeleid

Besoekers kan sien en uitvee wat oor hulle opgeneem is. privacyUrl() gee die klaargemaakte skakel met hierdie blaaier se ID terug — of null as daar geen is nie, want sonder toestemming is niks opgeneem nie.

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