convertixDocumentație
Intră în cont

Codul de urmărire

Codul de urmărire este un singur script, același pe toate paginile unui site. El alege varianta fiecărui vizitator, aplică modificările variantei, numără conversiile și trimite evenimentele către Convertix. Pagina aceasta explică ce face scriptul, pas cu pas, ca să știi cum se comportă pe site-ul tău.

Pentru instalare (unde îl lipești pe platforma ta), vezi Instalează codul de urmărire.

Eticheta#

Codul arată așa, cu cheia publică a site-ului tău la final:

html
<script src="https://app.convertix.ro/s/pk_cheia_site-ului.js"></script>

Copiază eticheta exactă din aplicație (Site-uri → site-ul tău → Instalează codul de urmărire), nu o scrie de mână. Cheia începe cu pk_ și identifică doar site-ul; nu este o parolă. Vezi Cheia publică.

Scriptul conține deja configurația site-ului: experimentele active, variantele lor, regulile de audiență și conversiile. Nu face alte cereri ca să afle ce variantă să aplice, deci pagina nu așteaptă rețeaua.

De ce sincron, în head#

Pune eticheta cât mai sus în <head>, fără async și fără defer. Așa scriptul rulează înainte ca browserul să afișeze pagina și poate aplica varianta înainte ca vizitatorul să vadă originalul.

Cu async sau defer, sau dacă îl încarci printr-un manager de etichete (de exemplu Google Tag Manager), scriptul rulează după ce pagina a apărut. Vizitatorul vede o clipă pagina originală, apoi varianta.

Orice script de pe pagină care apelează abtest trebuie să vină după eticheta codului de urmărire. Vezi funcțiile window.abtest.

Fără clipire#

Ca vizitatorul să nu vadă pagina originală înainte de variantă, scriptul ascunde pagina cât timp aplică modificările:

  • Ascunde pagina doar dacă adresa paginii se potrivește cu regulile de pagină ale cel puțin unui experiment activ. Pe celelalte pagini nu ascunde nimic.
  • Adaugă în <head> un stil cu ID-ul ab-hide, care face pagina transparentă (html{opacity:0!important}).
  • Arată pagina imediat ce modificările sunt aplicate, când structura paginii (DOM-ul) s-a încărcat.
  • Oricum ar merge lucrurile, pagina nu rămâne ascunsă mai mult de 800 ms. După 800 ms se afișează, chiar dacă varianta nu a fost încă aplicată.
  • În previzualizare, pagina rămâne ascunsă cel mult 2 secunde, pentru că varianta ciornă se încarcă din rețea.

Elemente care apar mai târziu#

Dacă o modificare se referă la un element care nu există încă (de exemplu, un bloc adăugat de un alt script), codul de urmărire îl așteaptă și aplică modificarea când apare. Dacă elementul tot nu există la 5 secunde după încărcarea paginii, modificarea se raportează ca eroare în panoul Erori JavaScript.

Dacă ceva nu merge#

Codul de urmărire este făcut să cedeze în siguranță. Dacă apare o eroare, scoate stilul care ascunde pagina, iar vizitatorul vede pagina originală. Obiectul window.abtest rămâne disponibil, deci apelurile tale nu dau erori.

Ce se întâmplă la fiecare încărcare de pagină#

  1. Scriptul citește sau creează ID-ul aleator al vizitatorului (cookie-ul _abv).
  2. Pentru fiecare experiment activ, verifică regulile de audiență: pagina, dispozitivul, țara și traficul. Dacă vizitatorul intră, primește aceeași variantă la fiecare vizită, cât timp păstrează cookie-ul.
  3. Aplică modificările variantei. La un test între pagini, redirecționează către adresa variantei.
  4. Înregistrează intrarea vizitatorului în experiment, cel mult o dată pe sesiune.
  5. Urmărește conversiile site-ului: vizitările de pagină, clicurile, trimiterile de formular și evenimentele trimise cu abtest.track().

Ce date se trimit și ce se păstrează în browser găsești în Date colectate și confidențialitate.

Trimiterea evenimentelor#

Evenimentele se adună și se trimit la fiecare 2 secunde și când vizitatorul părăsește pagina sau schimbă fila. Dacă trimiterea eșuează, ultimele evenimente se păstrează în browser și se retrimit la următoarea încărcare de pagină.

Convertix acceptă evenimente doar de pe domeniul site-ului, prin https (cu și fără www), și de pe Adresele suplimentare. De pe alte adrese, evenimentele sunt refuzate.

Cache: cât durează până ajunge o modificare pe site#

Scriptul se păstrează în cache, ca să se încarce repede:

  • Serverul nostru păstrează configurația site-ului cel mult 30 de secunde.
  • Browserul și rețeaua de livrare (CDN) păstrează scriptul 60 de secunde.
  • După aceea, o copie veche mai poate fi folosită încă cel mult 10 minute, cât timp se descarcă una nouă în fundal.

Așa că pornirea, pauza sau o variantă editată ajung pe site de obicei în 1–2 minute și în cel mult aproximativ 12 minute. Dacă nu vezi o modificare, așteaptă câteva minute și reîncarcă pagina.

Consimțământ#

Dacă ai pornit Cere consimțământul în setările site-ului, codul de urmărire așteaptă acordul pentru statistici (analytics) din bannerul de cookie-uri. Până atunci:

  • nu creează cookie-uri și nu scrie nimic în browser;
  • nu alege o variantă și nu trimite evenimente.

Acordul se citește automat, fără cod în plus, în această ordine:

  1. Răspunsul deja salvat de banner, citit din cookie-ul lui (CookieYes, Cookiebot, OneTrust, Complianz). Dacă vizitatorul a acceptat deja, codul pornește imediat și ascunde pagina până aplică varianta, ca fără consimțământ: fără clipire.
  2. Google Consent Mode: o actualizare cu analytics_storage: 'granted' în dataLayer. O valoare implicită limitată la anumite regiuni (region) nu se ia în calcul.
  3. IAB TCF v2: acord pentru scopurile 1 (stocare) și 8 (măsurare), sau gdprApplies: false.

Codul ascultă bannerul timp de 10 minute de la încărcarea paginii. Când vizitatorul acceptă, varianta se aplică pe pagina curentă. Apelurile abtest.track() făcute înainte de acord așteaptă și se trimit după acord. Dacă bannerul spune că vizitatorul a refuzat, Convertix șterge cookie-urile _abv și _abs.

Pentru un banner pe care nu îl recunoaștem, apelează singur abtest.consent() la fiecare încărcare de pagină a unui vizitator care a acceptat:

html
<script src="https://app.convertix.ro/s/pk_cheia_site-ului.js"></script>
<script>
  // Doar pentru bannere proprii. Înlocuiește acordulExista() cu verificarea bannerului tău.
  if (acordulExista()) window.abtest && abtest.consent();
</script>

Mai multe exemple găsești în funcțiile window.abtest.

Browsere automate#

Când pagina este deschisă de un browser automat (care raportează navigator.webdriver, de exemplu Playwright, Puppeteer sau Selenium), codul de urmărire aplică variantele, dar nu înregistrează nimic din ce ține de experimente: nici vizitările de pagină, nici intrarea în experiment, nici conversiile sau erorile de variantă. Testele automate rulate pe site-ul live nu apar deci la Vizitatori în rezultate și nu consumă din limita lunară.

Se trimite doar confirmarea instalării. Ca să vezi o anumită variantă într-un test automat, folosește ab_force.

Când codul nu rulează experimente#

  • În editorul vizual. Pe pagina deschisă în editor, codul de urmărire încarcă editorul și nu aplică experimente.
  • În previzualizare. Se aplică doar varianta previzualizată și nu se înregistrează nimic.
  • La un câștigător afișat audienței. Varianta se aplică vizitatorilor care se potrivesc cu regulile de audiență, dar nu se mai înregistrează nimic pentru acel experiment. Vezi Arată câștigătorul audienței.

Pagini înrudite#