JavaScript API

Сè што mp.js му нуди на вашиот код: согласност, вашиот ID на клиентот, приспособени настани, чекори без промена на адреса, активатори и HTML-атрибути. Ништо тука не е задолжително - самиот исечок од код снима.

1. Два начина за повикување

mp.js се вчитува асинхроно. Код што се извршува пред да се вчита ги става повиците во редицата window.mp_q; mp.js ги обработува штом ќе биде присутен. Потоа истите функции се достапни на 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);

Секогаш пишувајте window.mp_q = window.mp_q || [], никогаш window.mp_q = []. mp.js продолжува да ја слуша таа низа - нова низа би го проголтала секој подоцнежен повик, вклучувајќи повлекување согласност.

Инсталацискиот исечок од код дефинира и привремена функција mp(...) што на ист начин додава во редицата. Двете форми ги прифаќаат истите команди: consent, set, event, step, get, on и off.

2. Согласност

Без согласност ништо не се снима. Ако вашата алатка за согласност е една од оние што MousePlayer ги препознава, ништо од ова не ви треба; инаку сами пренесете ја одлуката.

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'

Повлекувањето веднаш важи на страницата: слушателите се отстрануваат, податоците во баферот се отфрлаат, врската се затвора. Видете MousePlayer и согласност.

3. Вашиот ID на клиентот

Со сопствен ID, сите уреди на едно лице стануваат еден посетител во списоците и може да пребарувате случај за поддршка според бројот што го знаете. ID се применува и на претходните посети од истиот прелистувач во последните 30 дена.

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

Користете внатрешен број, а не адреса за е-пошта или име. MousePlayer го прикажува ID секаде каде што се појавува посетителот.

Читање на ID

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. Приспособени настани

Настаните што ги испраќате се појавуваат на временската линија на репродукцијата, може да бидат цели и чекори на инки и одат до вашите веб-куки и поврзани алатки. Параметрите се кратки вредности: броеви, низи до 255 знаци, клучеви до 64 знаци.

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' }]);
  • Имиња: мали букви со долни црти, најмногу 128 знаци. Користете го истото име за истото нешто насекаде - целта точно ги совпаѓа имињата.
  • Не ставајте лични податоци во параметри. Се чуваат и прикажуваат како секој друг настан.

5. Чекори без промена на адреса

Наплата или волшебник што го менува екранот, но не и адресата е една страница за MousePlayer. step() го прави секој екран посебен преглед на страница - со сопствена моментална снимка, ред во топлинската мапа и чекор на инка.

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

Името има од 1 до 40 знаци од a-z, 0-9, _ и -; празните места стануваат цртички, а сè друго се одбива со предупредување во конзолата. Вистинска навигација го завршува чекорот.

6. Контекст на производот

На страница за производ кажете му на MousePlayer што се гледа. Се прифаќаат само овие клучеви; сè друго се отфрла за случајно да не се протнат податоци за клиенти.

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. Активатори

Вашиот код може да реагира на она што MousePlayer го мери на страницата. Регистрирајте преку редицата ако активаторот не смее да го пропушти првиот момент.

// 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);
ИмеКогаПолиња
exit_riskмоделот за излез го оценил првиот преглед на страница (еднаш по посета)risk, reasons, session
churn_riskповратен посетител е означен како веројатен за трајно заминувањеrisk, reasons, session
offer_shownсе прикажува понудата при излезart, risk, grund, session
offer_clickсе кликнува нејзиното копчеart, risk, grund, session, fehler
offer_dismissсе затвораart, risk, grund, session
survey_shownсе отвора анкетаsurvey, trigger, session
survey_answerпосетителот одговараsurvey, type, value, option, sentiment, session
survey_textсе испраќа дополнителниот текст (веќе филтриран)survey, text, session
survey_dismissанкетата се затвора без одговорsurvey, step, session

Кога мостот кон GTM е вклучен, истите настани одат и во dataLayer (mp_exit_risk и така натаму). MousePlayer.exitRisk() го враќа тековниот ризик од излез или null пред да биде познат.

8. 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 (или класата mp-masked): текстот и внесот во елементот се заменуваат пред да го напуштат прелистувачот - во моменталната снимка, измените и описите на кликови.
  • data-mp-ignore (или mp-ignore) на поле во формулар: неговата вредност воопшто не се снима.
  • data-mp-role: едно од 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. Другите вредности се игнорираат.

9. Исклучување на сопствените посети

Отворете ја веб-локацијата еднаш со ?mp_exclude=1 и овој прелистувач повеќе не се снима; ?mp_exclude=0 го поништува тоа. За цела канцелариска мрежа наместо тоа внесете ги 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. Врска за вашата политика за приватност

Посетителите може да видат и избришат што е снимено за нив. privacyUrl() ја враќа готовата врска со ID на овој прелистувач - или null ако нема, бидејќи без согласност ништо не е снимено.

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