JavaScript API

Viskas, ką mp.js suteikia jūsų kodui: sutikimas, kliento ID, pasirinktiniai įvykiai, žingsniai nekeičiant adreso, įvykių apdorojimo funkcijos ir HTML atributai. Nieko iš to nereikalaujama: vien kodo ištrauka jau įrašo.

1. Du kvietimo būdai

mp.js įkeliamas asinchroniškai. Prieš jį įkeliant vykdomas kodas deda kvietimus į eilę window.mp_q; mp.js juos apdoroja vos įkeltas. Vėliau tos pačios funkcijos pasiekiamos per 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);

Visada rašykite window.mp_q = window.mp_q || [], niekada window.mp_q = []. mp.js toliau stebi tą masyvą; naujas prarytų visus vėlesnius kvietimus, įskaitant sutikimo atšaukimą.

Diegimo ištrauka taip pat apibrėžia laikiną funkciją mp(...), kuri taip pat deda į eilę. Abu būdai priima tas pačias komandas: consent, set, event, step, get, on ir off.

2. Sutikimas

Be sutikimo nieko neįrašoma. Jei sutikimo įrankį MousePlayer atpažįsta, nieko iš to nereikia; kitu atveju patys perduokite sprendimą.

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'

Sutikimo atšaukimas puslapyje įsigalioja iš karto: pašalinamos stebėjimo funkcijos, buferio duomenys atmetami, ryšys uždaromas. Žr. MousePlayer ir sutikimas.

3. Jūsų kliento ID

Turint jūsų ID, visi vieno asmens įrenginiai sąrašuose tampa vienu lankytoju; pagalbos atvejį galite rasti pagal žinomą numerį. ID taip pat pritaikomas ankstesniems tos pačios naršyklės paskutinių 30 dienų apsilankymams.

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

Naudokite vidinį numerį, o ne el. paštą ar vardą. MousePlayer rodo ID visur, kur pateikiamas lankytojas.

ID nuskaitymas

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. Pasirinktiniai įvykiai

Jūsų siunčiami įvykiai matomi atkūrimo laiko juostoje, gali būti tikslais ar piltuvėlių žingsniais ir siunčiami Webhook bei prijungtiems įrankiams. Parametrai yra trumpos reikšmės: skaičiai, eilutės iki 255 ženklų, raktai iki 64 ženklų.

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' }]);
  • Pavadinimai: mažosios raidės su pabraukimo ženklais, iki 128 ženklų. Tam pačiam dalykui visur naudokite tą patį pavadinimą: tikslas pavadinimus lygina tiksliai.
  • Nedėkite asmens duomenų į parametrus. Jie saugomi ir rodomi kaip bet kuris kitas įvykis.

5. Žingsniai nekeičiant adreso

Atsiskaitymas ar vedlys, keičiantis ekraną, bet ne adresą, MousePlayer laikomas vienu puslapiu. step() kiekvieną ekraną padaro atskira puslapio peržiūra su savo būsenos kopija, šilumos žemėlapio eilute ir piltuvėlio žingsniu.

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

Pavadinimą sudaro nuo 1 iki 40 ženklų: a-z, 0-9, _ ir -; tarpai tampa brūkšneliais, visa kita atmetama su įspėjimu konsolėje. Tikras perėjimas į kitą puslapį užbaigia žingsnį.

6. Prekės kontekstas

Prekės puslapyje nurodykite MousePlayer, kas peržiūrima. Priimami tik šie raktai; visa kita atmetama, kad netyčia nepatektų klientų duomenų.

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. Įvykių apdorojimo funkcijos

Jūsų kodas gali reaguoti į tai, ką MousePlayer matuoja puslapyje. Registruokite per eilę, jei funkcija negali praleisti pirmojo momento.

// 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);
PavadinimasKadaLaukai
exit_riskišėjimo modelis įvertino pirmą puslapio peržiūrą (kartą per apsilankymą)risk, reasons, session
churn_risksugrįžtantis lankytojas pažymėtas kaip tikėtinas praradimasrisk, reasons, session
offer_shownrodomas pasiūlymas išeinantart, risk, grund, session
offer_clickpaspaustas jo mygtukasart, risk, grund, session, fehler
offer_dismissjis uždarytasart, risk, grund, session
survey_shownatidaroma apklausasurvey, trigger, session
survey_answerlankytojas atsakosurvey, type, value, option, sentiment, session
survey_textsiunčiamas papildomas tekstas (jau išfiltruotas)survey, text, session
survey_dismissapklausa uždaroma neatsakiussurvey, step, session

Įjungus GTM tiltą, tie patys įvykiai taip pat patenka į dataLayer (mp_exit_risk ir taip toliau). MousePlayer.exitRisk() grąžina dabartinę išėjimo riziką arba null, kol ji nežinoma.

8. HTML atributai

<!-- 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 (arba klasė mp-masked): tekstas ir įvestis elemente pakeičiami prieš išeidami iš naršyklės: būsenos kopijoje, pakeitimuose ir paspaudimų aprašuose.
  • data-mp-ignore (arba mp-ignore) formos lauke: jo reikšmė visai neįrašoma.
  • data-mp-role: viena iš 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. Kitos reikšmės ignoruojamos.

9. Savo apsilankymų neįtraukimas

Vieną kartą atidarykite svetainę su ?mp_exclude=1 ir ši naršyklė daugiau neįrašoma; ?mp_exclude=0 atšaukia šį nustatymą. Visam biuro tinklui vietoje to įveskite IP adresus projekto nustatymuose.

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. Nuoroda privatumo politikai

Lankytojai gali matyti ir ištrinti tai, kas apie juos įrašyta. privacyUrl() grąžina paruoštą nuorodą su šios naršyklės ID arba null, jei jo nėra, nes be sutikimo nieko neįrašyta.

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