JavaScript API

Wax kasta oo mp.js u fidiyo koodhkaaga: oggolaansho, ID-ga macmiilkaaga, dhacdooyin gaar ah, tallaabooyin aan cinwaan beddelin, hooks iyo sifooyinka HTML. Wax halkan ku jira khasab ma aha — snippet-ka oo keliya ayaa duuba.

1. Laba hab oo loo waco

mp.js wuxuu u rarmaa si asynchronous ah. Koodhka shaqeeya ka hor inta uusan rarmin wuxuu wicitaannadiisa geliyaa safka window.mp_q; mp.js wuxuu ka shaqeeyaa isla marka uu yimaado. Dabadeed isla hawlahaas waxaa laga heli karaa 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);

Mar kasta qor window.mp_q = window.mp_q || [], waligaa ha qorin window.mp_q = []. mp.js wuxuu sii dhegaystaa array-gaas — mid cusub wuxuu liqi lahaa wicitaan kasta oo dambe, oo ay ku jirto kala-noqoshada oggolaanshaha.

Snippet-ka rakibiddu wuxuu sidoo kale qeexaa stub mp(...) ah oo isla habkaas safka u geliya. Labada qaabba waxay qaataan isla amarrada: consent, set, event, step, get, on iyo off.

2. Oggolaansho

Oggolaansho la'aan waxba lama duubo. Haddii qalabkaaga oggolaanshuhu yahay mid MousePlayer garto, wax tan ka mid ah uma baahnid; haddii kale adigu sii gudbi go'aanka.

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'

Kala-noqoshadu isla markiiba ayay bogga uga dhaqan gashaa: dhegaystayaasha waa la saaraa, xogta buffer-ka waa la tuuraa, xiriirkana waa la xiraa. Eeg MousePlayer iyo oggolaanshaha.

3. ID-ga macmiilkaaga

ID aad leedahay, dhammaan qalabka hal qof wuxuu liisaska ku noqdaa hal booqde, waxaadna kiis taageero ku raadin kartaa lambarka aad taqaan. ID-ga waxaa sidoo kale lagu dabaqaa booqashooyinkii hore ee isla biraawsarka ee 30-kii maalmood ee u dambeeyay.

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

Adeegso lambar gudaha ah, ma aha cinwaan iimayl ama magac. MousePlayer wuxuu ID-ga ku muujiyaa meel kasta oo booqduhu ka muuqdo.

Dib-u-akhrinta ID-yada

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. Dhacdooyin gaar ah

Dhacdooyinka aad dirto waxay ka muuqdaan xariiqda waqtiga ee dib-u-ciyaarista, waxay noqon karaan yoolal iyo tallaabooyin funnel, waxayna u socdaan webhooks-kaaga iyo qalabka isku xiran. Halbeegyadu waa qiimayaal gaaban: tirooyin, qoraallo ilaa 255 xaraf ah, furayaal ilaa 64 xaraf ah.

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' }]);
  • Magacyada: xarfo yaryar oo underscores leh, ugu badnaan 128 xaraf. Isla magac u adeegso isla shayga meel kasta — yoolku magacyada si sax ah ayuu u waafajiyaa.
  • Halbeegyada ha gelin xog shakhsiyeed. Waa la kaydiyaa oo loo muujiyaa sida dhacdo kasta oo kale.

5. Tallaabooyin aan cinwaan beddelin

Checkout ama hagaha tallaabooyinka oo shaashaddiisa beddela laakiin aan cinwaankiisa beddelin waa hal bog marka MousePlayer la joogo. step() wuxuu shaashad kasta ka dhigaa daawasho bog oo u gaar ah — oo leh sawirkeeda bogga, safkeeda khariidadda kulaylka iyo tallaabadeeda funnel.

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

Magacu waa 1 ilaa 40 xaraf oo ka socda a-z, 0-9, _ iyo -; meelaha bannaan waxay noqdaan hyphens, wax kasta oo kalena waxaa lagu diidaa digniin console ah. Socod bog oo dhab ahi wuxuu dhammeeyaa tallaabada.

6. Macnaha badeecadda

Bog badeecad ah, MousePlayer u sheeg waxa la eegayo. Furayaashan oo keliya ayaa la aqbalaa; wax kasta oo kale waa la tuuraa si xog macmiil aysan si kama' ah ugu dhex gelin.

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

Koodhkaagu wuxuu ka falcelin karaa waxa MousePlayer bogga ku cabbiro. Iska diiwaangeli safka haddii hook-gu aanu seegi karin daqiiqadda koowaad.

// 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);
MagacGoortaGoobo
exit_riskmoodelka bixitaanku wuxuu dhibceeyay daawashada bogga koowaad (hal mar booqasho kasta)risk, reasons, session
churn_riskbooqde soo noqday waxaa loo calaamadeeyay inuu u badan yahay inuusan soo noqonrisk, reasons, session
offer_shownsoo-jeedinta bixitaanka waa la muujiyayart, risk, grund, session
offer_clickbatankeeda waa la gujiyayart, risk, grund, session, fehler
offer_dismisswaa la xirayart, risk, grund, session
survey_shownsahan ayaa furmayasurvey, trigger, session
survey_answerbooqduhu wuu jawaabayaasurvey, type, value, option, sentiment, session
survey_textqoraalka daba socda ayaa la dirayaa (hore ayaa loo shaandheeyay)survey, text, session
survey_dismisssahanka waa la xiray jawaab la'aansurvey, step, session

Marka buundada GTM shidan tahay, isla dhacdooyinku waxay sidoo kale galaan dataLayer (mp_exit_risk iyo wixii la mid ah). MousePlayer.exitRisk() wuxuu soo celiyaa khatarta bixitaanka ee hadda, ama null ka hor inta aan la ogaan.

8. Sifooyinka 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 (ama class-ka mp-masked): qoraalka iyo gelinta gudaha walaxda waa la beddelaa ka hor inta aysan ka bixin biraawsarka — sawirka bogga, isbeddellada iyo sharaxaadaha gujinta.
  • data-mp-ignore (ama mp-ignore) ee goob foom: qiimaheeda haba yaraatee lama duubo.
  • data-mp-role: mid ka mid ah 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. Qiimayaasha kale waa la iska indhatiraa.

9. Ka-reebidda booqashooyinkaaga

Hal mar ku fur websaytkaaga ?mp_exclude=1 biraawsarkanna mar dambe lama duubo; ?mp_exclude=0 ayaa ka noqda. Shabakad xafiis oo dhan, cinwaannada IP ku geli dejimaha mashruuca beddelkeeda.

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. Xiriir siyaasaddaada asturnaanta loogu talagalay

Booqdayaashu way arki karaan oo tirtiri karaan wixii laga duubay. privacyUrl() wuxuu soo celiyaa xiriirka diyaarsan ee wata ID-ga biraawsarkan — ama null haddii uusan jirin, sababtoo ah oggolaansho la'aan waxba lama duubin.

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