Funcțiile window.abtest
Codul de urmărire pune pe pagină obiectul window.abtest. Prin el trimiți evenimente personalizate, dai acordul vizitatorului și afli ce variantă vede vizitatorul.
Obiectul există imediat după eticheta codului de urmărire, deci orice script de după ea îl poate folosi. Vezi Codul de urmărire.
Referință#
| Nume | Descriere |
|---|---|
tracktrack(name: string, opts?: { value?: number }): void | Trimite un eveniment personalizat, cu o valoare opțională. |
consentconsent(): void | Pornește codul de urmărire când site-ul cere consimțământul. |
onReadyonReady(callback: () => void): void | Rulează funcția după ce vizitatorul a primit variantele. |
getVariantgetVariant(experimentId: string): string | null | ID-ul variantei pe care o vede vizitatorul în acel experiment, sau null. |
abtest.track()#
window.abtest && abtest.track('signup');
window.abtest && abtest.track('purchase', { value: 249 });
Trimite un eveniment personalizat. Se numără doar dacă site-ul are o conversie de tipul Eveniment personalizat cu exact acest nume. Altfel, apelul nu trimite nimic. Vezi Eveniment personalizat.
nameeste numele evenimentului: litere, cifre și._:-, cel mult 64 de caractere. Literele mari și mici contează.valueeste opțional: un număr, în moneda spațiului de lucru, fără simbol. Se folosește doar dacă valoarea conversiei este Din eveniment. Se rotunjește la două zecimale; valorile negative devin 0, iar cele peste 1.000.000 devin 1.000.000. O valoare care nu este număr se ignoră. Vezi Valoare din eveniment.- Dacă apelezi
trackînainte ca scriptul să fie gata (de exemplu, înainte de acord), apelul așteaptă și se trimite după aceea. Se păstrează cel mult 50 de apeluri. - O conversie „O dată per vizitator” se trimite cel mult o dată pe încărcare de pagină și se numără o singură dată per vizitator.
track nu numără nimic în previzualizare, în editorul vizual, cu ab_force, din browsere automate sau înainte de acord.
abtest.consent()#
window.abtest && abtest.consent();
Pornește codul de urmărire pe pagina curentă când ai activat Cere consimțământul. Fără opțiunea aceasta, codul pornește singur și apelul nu face nimic. Al doilea apel pe aceeași pagină nu mai face nimic.
Pentru un banner propriu, apelează-l la fiecare încărcare de pagină a unui vizitator care a acceptat și în momentul în care acceptă:
// Înlocuiește acordulExista() și evenimentul cu cele ale bannerului tău.
if (acordulExista()) window.abtest && abtest.consent();
window.addEventListener('acord-acceptat', function () {
window.abtest && abtest.consent();
});
abtest.onReady()#
window.abtest && abtest.onReady(function () {
// variantele sunt alese
});
Rulează funcția după ce codul de urmărire a ales variantele vizitatorului. Dacă scriptul este deja gata, funcția rulează imediat. Cu consimțământul cerut, funcția așteaptă abtest.consent().
„Gata” nu înseamnă că pagina s-a încărcat: funcția poate rula înainte ca restul paginii să existe. Dacă lucrezi cu elemente din pagină, așteaptă și DOMContentLoaded.
Erorile din funcția ta nu opresc codul de urmărire. În previzualizare și în editorul vizual, funcția rulează imediat.
abtest.getVariant()#
window.abtest && abtest.onReady(function () {
var variantId = abtest.getVariant('ID-ul-experimentului');
if (variantId) console.log('Vizitatorul vede varianta', variantId);
});
Întoarce ID-ul variantei pe care o vede vizitatorul în experimentul dat, sau null dacă vizitatorul nu este în experiment (nu se potrivește cu regulile de audiență sau nu intră în trafic). Ca să fii sigur că variantele sunt alese (de exemplu, cu consimțământul cerut), apelează-l în onReady.
- ID-ul experimentului este ultima parte a adresei experimentului din aplicație. Îl iei cu Copiază linkul, din meniul experimentului.
- Funcția întoarce ID-ul variantei, nu numele ei. Aplicația nu afișează ID-urile variantelor. Ca să afli ID-ul variantei pe care o vezi, deschide pagina cu ab_debug=1 și uită-te în consolă.
- În previzualizare, în editorul vizual și pe paginile pe care codul nu a pornit, întoarce
null.
Exemple#
Pentru fiecare exemplu, creează întâi în aplicație o conversie Eveniment personalizat cu același nume (purchase, calendly_booking și așa mai departe). Pune codul după eticheta codului de urmărire.
Valoarea unei comenzi#
Pe pagina de confirmare a comenzii, trimite suma plătită. Conversia „Achiziție” are numele purchase, De fiecare dată și valoarea Din eveniment.
window.abtest && abtest.track('purchase', { value: 249 });
Înlocuiește 249 cu totalul comenzii, scris de platforma ta de magazin. Exemplul complet, cu trei planuri, este în Numărare și valoare.
Programare în Calendly#
Calendly rulează într-un iframe, așa că o programare nu se vede ca Trimitere formular. Calendly anunță însă pagina printr-un mesaj:
window.addEventListener('message', function (e) {
if (e.origin === 'https://calendly.com' && e.data && e.data.event === 'calendly.event_scheduled') {
window.abtest && abtest.track('calendly_booking');
}
});
Formular HubSpot#
Formularele HubSpot încorporate anunță trimiterea reușită printr-un eveniment. Ascultă-l pe cel potrivit formularului tău:
// Formularele HubSpot clasice
window.addEventListener('message', function (e) {
if (e.data && e.data.type === 'hsFormCallback' && e.data.eventName === 'onFormSubmitted') {
window.abtest && abtest.track('hubspot_lead');
}
});
// Formularele din noul editor HubSpot
window.addEventListener('hs-form-event:on-submission:success', function () {
window.abtest && abtest.track('hubspot_lead');
});
Mesajul de succes al unui formular#
Multe formulare care nu redirecționează afișează, după trimiterea reușită, un mesaj de succes ascuns până atunci. Spre deosebire de Trimitere formular, care numără încercarea, codul de mai jos numără doar trimiterile acceptate. Înlocuiește .mesaj-succes cu selectorul mesajului de pe site-ul tău și pune codul la sfârșitul paginii, înainte de </body>, ca să ruleze după ce formularele există pe pagină:
<script>
document.querySelectorAll('.mesaj-succes').forEach(function (done) {
var observer = new MutationObserver(function () {
if (getComputedStyle(done).display !== 'none') {
observer.disconnect();
window.abtest && abtest.track('form_lead');
}
});
observer.observe(done, { attributes: true, attributeFilter: ['style', 'class', 'hidden'] });
});
</script>
Derularea paginii#
Numără vizitatorii care derulează cel puțin trei sferturi din pagină:
window.addEventListener('scroll', function onScroll() {
var seen = (window.scrollY + window.innerHeight) / document.documentElement.scrollHeight;
if (seen >= 0.75) {
window.removeEventListener('scroll', onScroll);
window.abtest && abtest.track('scroll_75');
}
}, { passive: true });