API ya JavaScript

Her tiştê ku mp.js ji koda we re pêşkêş dike: razîbûn, ID ya mişteriyê we, bûyerên taybet, gavên bê guhertina navnîşanê, hook û taybetmendiyên HTML. Li vir tiştek ne pêwîst e - parçeya kodê bi serê xwe tomar dike.

1. Du rêyên bangkirinê

mp.js bi awayekî nehevdem bar dibe. Koda ku berî barkirina wê dixebite bangên xwe di rêza window.mp_q de datîne; mp.js gava amade be wan bi rêzê dixebitîne. Piştre heman fonksiyon li ser window.MousePlayer hene.

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

Her dem window.mp_q = window.mp_q || [] binivîsin, qet window.mp_q = [] nenivîsin. mp.js guhdariya wê rêzikê didomîne - ya nû dê her banga paşerojê, di nav de vekişandina razîbûnê jî, winda bike.

Parçeya kodê ya sazkirinê fonksiyoneke cîgir a mp(...) jî pênase dike ku bi heman awayî rêz dike. Herdu teşe heman fermanan qebûl dikin: consent, set, event, step, get, on û off.

2. Razîbûn

Bê razîbûn tiştek nayê tomarkirin. Ger amûra razîbûna we yek ji yên ku MousePlayer nas dike be, hûn hewceyê van nînin; wekî din biryarê bixwe derbas bikin.

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'

Vekişandin li ser rûpelê tavilê bandor dike: guhdêr tên rakirin, daneyên di tamponê de tên avêtin û girêdan tê girtin. Binêrin MousePlayer û razîbûn.

3. ID ya mişteriyê we

Bi ID ya we bixwe, hemû amûrên kesekî di lîsteyan de dibin serdankerek û hûn dikarin doza alîkariyê bi hejmara ku hûn nas dikin bigerin. ID li ser serdanên berê yên heman gerokê yên 30 rojên dawî jî tê sepandin.

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

Hejmareke navxweyî bikar bînin, ne navnîşana e-nameyê an navê kesekî. MousePlayer her cihê ku serdanker xuya dibe ID nîşan dide.

Ji nû ve xwendina ID yan

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. Bûyerên taybet

Bûyerên ku hûn dişînin di xeta demê ya ji nû ve lîstinê de xuya dibin, dikarin bibin armanc û gavên funelê û diçin webhook û amûrên girêdayî yên we. Parametre nirxên kurt in: hejmar, rêzikên nivîsê heta 255 tîpan, mifte heta 64 tîpan.

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' }]);
  • Nav: tîpên biçûk bi binxêzan, herî zêde 128 tîp. Li her derê ji bo heman tiştî heman navî bikar bînin - armanc navan bi tamî li hev dike.
  • Daneyên kesane di parametreyan de nexin. Ew wek her bûyereke din tên parastin û nîşandan.

5. Gavên bê guhertina navnîşanê

Pêvajoya qedandina kirînê an alîkarekî gav bi gav ku dîmena xwe diguherîne lê navnîşana xwe naguherîne ji bo MousePlayer rûpelek e. step() her dîmenê dike dîtineke rûpelê ya serbixwe - bi wêneya rûpelê, rêza nexşeya germiyê û gava funelê ya xwe.

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

Nav ji 1 heta 40 tîpên a-z, 0-9, _ û - pêk tê; valahî dibin xêzik, her tiştê din bi hişyariyekê di konsolê de tê redkirin. Navîgasyoneke rastîn gavê diqedîne.

6. Çarçoveya hilberê

Li rûpela hilberê, ji MousePlayer re bibêjin ka li çi tê temaşekirin. Tenê ev mifte tên qebûlkirin; her tiştê din tê avêtin da daneyên mişteriyan bi xeletî nekevin hundir.

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

Koda we dikare li tiştê ku MousePlayer li ser rûpelê dipîve bersiv bide. Ger hook divê kêliya yekem ji dest nede, bi rêya rêzê tomar bikin.

// 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);
NavKengîQad
exit_riskmodela derketinê dîtina rûpelê ya yekem pûan kiriye (carekê ji bo her serdanê)risk, reasons, session
churn_riskserdankerekî vegeriyayî wek bi îhtîmaleke mezin ê venegere tê nîşankirinrisk, reasons, session
offer_shownpêşniyara derketinê tê nîşandanart, risk, grund, session
offer_clickli bişkoka wê tê klîkkirinart, risk, grund, session, fehler
offer_dismissew tê girtinart, risk, grund, session
survey_shownanketek vedibesurvey, trigger, session
survey_answerserdanker bersiv didesurvey, type, value, option, sentiment, session
survey_textnivîsa şopandinê tê şandin (jixwe hatiye parzûnkirin)survey, text, session
survey_dismissanket bê bersiv tê girtinsurvey, step, session

Dema pira GTM çalak be, heman bûyer di dataLayer de jî tên danîn (mp_exit_risk û yên din). MousePlayer.exitRisk() rîska derketinê ya heyî, an berî ku were zanîn null vedigerîne.

8. Taybetmendiyên 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 (an çîna mp-masked): nivîs û têketina di hêmanê de berî ku ji gerokê derkevin tên guhertin - di wêneya rûpelê, di guhertinan û di raveyên klîkan de.
  • data-mp-ignore (an mp-ignore) li ser qadeke formê: nirxa wê qet nayê tomarkirin.
  • data-mp-role: yek ji 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. Nirxên din tên paşguhkirin.

9. Derxistina serdanên xwe

Malpera xwe carekê bi ?mp_exclude=1 vekin û ev gerok êdî nayê tomarkirin; ?mp_exclude=0 vê betal dike. Ji bo tevahiya tora nivîsgehê, li şûna wê navnîşanên IP di mîhengên projeyê de binivîsin.

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. Girêdanek ji bo siyaseta nepeniya we

Serdanker dikarin tiştê ku li ser wan hatiye tomarkirin bibînin û jê bibin. privacyUrl() girêdana amade bi ID ya vê gerokê re vedigerîne - an ger tune be null, ji ber ku bê razîbûn tiştek nehatibû tomarkirin.

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