API JavaScript

Όσα προσφέρει το mp.js στον δικό σας κώδικα: συγκατάθεση, το ID πελάτη σας, προσαρμοσμένα συμβάντα, βήματα χωρίς αλλαγή διεύθυνσης, hooks και χαρακτηριστικά 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']);

Χρησιμοποιήστε έναν εσωτερικό αριθμό, όχι διεύθυνση email ή όνομα. Το 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. Προσαρμοσμένα συμβάντα

Τα συμβάντα που στέλνετε εμφανίζονται στη χρονογραμμή της αναπαραγωγής, μπορούν να γίνουν στόχοι και βήματα χοάνης και μεταφέρονται στα webhook και στα συνδεδεμένα εργαλεία σας. Οι παράμετροι είναι σύντομες τιμές: αριθμοί, συμβολοσειρές έως 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. Hooks

Ο κώδικάς σας μπορεί να αντιδρά σε όσα μετρά το MousePlayer στη σελίδα. Καταχωρίστε τον μέσω της ουράς αν το hook δεν πρέπει να χάσει την πρώτη στιγμή.

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