Formularul are doisprezece câmpuri și pare lung. Checkoutul are cinci pași și pare și mai lung. Prima reacție este să tai câmpuri și să comprimi totul într-un singur ecran. Totuși, lungimea vizuală nu spune ce blochează oamenii. Un câmp necesar și bine explicat poate proteja livrarea; un selector opțional, ascuns în al patrulea pas, poate produce mai multă confuzie decât tot restul formularului.
Întrebarea utilă nu este „câte câmpuri sunt permise?”, ci „ce informație este necesară acum, cine o folosește și ce se întâmplă dacă nu o cerem?”. Pentru checkout, nu întrebi doar câte ecrane există, ci câte decizii, interacțiuni și erori trebuie să gestioneze clientul până la confirmare.
Ghidul construiește o hartă a abandonului pentru formulare de ofertă și checkout eCommerce. Separă expunerea, începerea, eroarea, progresul și finalizarea pe fiecare pas, cu mobilul tratat distinct. Dacă traseul începe mai devreme, verifică întâi landing page-ul. Dacă ai nevoie de diagnosticul întregului magazin, pornește de la creșterea eCommerce, nu de la eliminarea aleatorie a unui câmp.
Localizezi abandonul înainte să elimini câmpuri
„Abandon de formular” poate însemna cel puțin patru lucruri: persoana a văzut formularul și nu l-a început; l-a început și s-a oprit; a întâlnit o eroare; ori l-a trimis, dar confirmarea și sistemul din spate au eșuat. Fiecare cere altă corecție. Dacă numeri doar pageview și thank-you page, toate devin aceeași gaură.
În checkout, traseul este și mai sensibil. Un client poate adăuga produsul în coș pentru a verifica totalul, fără intenția de a cumpăra acum. Poate abandona când vede livrarea, fiindcă opțiunea nu ajunge în localitatea lui. Poate plăti, iar redirectul spre confirmare să eșueze. Rata agregată nu arată motivul.
Baymard publică în cercetarea checkout 2025 o medie globală a abandonului de 70,19%, construită din studii agregate, apoi separă motive prin studii cantitative și usability testing. Nu folosi 70,19% drept țintă pentru magazinul tău. Populația, produsele, sursele și definiția diferă. Folosește metodologia ca model: separă oamenii care nu erau gata să cumpere de cei blocați de experiență.
Pentru un formular de ofertă, instrumentează următoarele evenimente:
| Etapă | Eveniment minim | Întrebare de diagnostic |
|---|---|---|
| expunere | formularul a intrat în viewport sau pasul a fost deschis | persoana a avut șansa reală să îl vadă? |
| început | primul câmp relevant a primit input | oferta motivează suficient pentru efort? |
| progres | secțiunea ori câmpul-cheie a fost completat | unde încetinește sau se oprește? |
| eroare | tip, câmp și moment | formatul, regula sau implementarea blochează? |
| submit | tentativa de trimitere | utilizatorul a decis să finalizeze? |
| succes tehnic | serverul a acceptat și a creat înregistrarea | requestul a ajuns? |
| succes comercial | lead acceptat ori comandă încasată | acțiunea a produs valoare? |
Nu trimite în analytics date personale introduse în câmpuri. Ai nevoie de ID-ul câmpului, categoria erorii și identificatori tehnici permiși, nu de nume, e-mail, telefon sau adresă. Proiectează schema împreună cu responsabilul de confidențialitate și cu dezvoltatorul.
Separă abandonul voluntar de defect. Dacă plata este respinsă, persoana poate încerca alt card. Dacă nu există livrare, decizia este o nepotrivire operațională. Dacă butonul nu răspunde, ai defect. Dashboardul trebuie să permită aceste ramuri, nu să le comprime într-un singur „drop-off”.
Începe cu reproducerea funcțională. Testează fiecare cale, browser, metodă de plată și regulă de eligibilitate înainte să interpretezi recordings. O eroare care apare numai după cod poștal nu va fi reparată prin scurtarea câmpului de nume.

Numărul corect de câmpuri vine din necesarul pasului
Nu există un maxim universal pentru formularul de cerere de ofertă. Trei câmpuri pot fi prea multe dacă pagina nu explică ce primești. Zece pot fi acceptabile dacă fiecare este necesar pentru o evaluare valoroasă, iar persoana înțelege de ce răspunde. Efortul este raportat la motivație, risc și consecință.
Fă un inventar pentru fiecare câmp:
| Câmp | Cine îl folosește | De ce este necesar acum | Poate fi derivat/colectat ulterior? | Costul dacă lipsește |
|---|---|---|---|---|
| nume | vânzări | adresare și identificare | nu complet, dar poate fi un singur câmp | mic |
| telefon/e-mail | vânzări | canalul de răspuns promis | cere unul sau lasă alegerea, după proces | mare dacă nu există contact |
| localitate | operațiuni | eligibilitate geografică | uneori din adresă/IP, dar nu presupune precizie | mare pentru servicii locale |
| buget | calificare | numai dacă schimbă oferta și următorul pas | poate fi interval sau conversație ulterioară | depinde de capacitate |
| mesaj | diagnostic | context liber | poate fi opțional dacă întrebările structurate ajung | variabil |
Elimină câmpul dacă nimeni nu îl folosește, dacă poate fi derivat fiabil, dacă poate fi colectat după confirmare sau dacă riscul de a-l cere acum depășește valoarea. Păstrează-l dacă previne o promisiune imposibilă, o livrare greșită, fraudă ori un volum pe care echipa nu îl poate califica.
Nu confunda câmpul ascuns cu efortul eliminat. Un accordion „detalii suplimentare” pe care aproape toți trebuie să îl deschidă mută interacțiunea, nu o reduce. Precompletarea greșită poate costa mai mult decât tastarea. Un selector cu cincizeci de opțiuni poate fi mai greu decât un input cu autocomplete.
WCAG 2.2 cere etichete sau instrucțiuni pentru input, inclusiv indicarea formatelor neobișnuite și a câmpurilor obligatorii. Eticheta trebuie să rămână vizibilă după ce începe tastarea; placeholderul nu este înlocuitor robust. Spune „Telefon pentru confirmarea programării”, nu doar „Telefon”, dacă scopul reduce incertitudinea.
Pentru date de adresă și plată, folosește capabilități ale browserului și componente verificate. web.dev recomandă atribute semantice precum type, name, autocomplete și required, tastatura potrivită pe mobil și testarea pe dispozitive reale. Sursa este despre sign-in; principiile HTML și mobile se aplică inputurilor comparabile, nu transformă orice formular într-un login.
În lead generation, un formular scurt poate crește volumul și scădea calificarea. Măsoară rata leadurilor acceptate, timpul de prelucrare și programările onorate. Dacă elimini bugetul, iar vânzările petrec ore cu cereri complet nepotrivite, ai mutat fricțiunea de la vizitator la echipă. Uneori aceasta este alegerea bună; trebuie făcută conștient.
Checkoutul se simplifică după efort, nu după numărul de ecrane
Un „one-page checkout” poate conține cinci secțiuni, zeci de câmpuri și mai multe butoane intermediare. Un checkout în trei pași poate fi ușor dacă fiecare ecran are o sarcină clară, păstrează datele și arată progresul. Numărul URL-urilor nu este experiența.
Analiza Baymard din 2024 raportează în benchmark o medie de 5,1 pași și 11,3 câmpuri, dar afirmă că numărul câmpurilor pe care utilizatorul trebuie să le gestioneze influențează usability mai mult decât numărul pașilor. Cercetarea se referă la checkouturi eCommerce, nu la formulare B2B. Chiar și în eCommerce, cifrele descriu populația evaluată, nu „scorul ideal” al magazinului tău.
Comasează sau elimină un pas numai când reduci o sarcină ori clarifici secvența. Exemple de simplificare:
- oferă guest checkout vizibil când contul nu este necesar tranzacției;
- folosește adresa de livrare drept adresă de facturare implicită, cu opțiune de diferențiere;
- colectează datele contului după comandă, dacă parola nu este cerință de cumpărare;
- calculează și afișează costul total înainte de surpriza finală;
- păstrează datele când plata este respinsă sau utilizatorul revine la pasul anterior;
- ascunde câmpurile de firmă până când persoana alege facturarea relevantă;
- evită confirmările intermediare pe care următorul buton le poate salva.
Ultimul punct are dovezi specifice. Baymard a observat în mai multe runde că utilizatorii omit ori confundă butoanele „Apply/Save” din interiorul checkoutului. Recomandarea nu înseamnă să elimini confirmarea pentru orice acțiune; promo code și gift card sunt excepții firești, iar editarea datelor de cont poate cere feedback. Principiul este să nu concureze mai multe acțiuni primare în aceeași sarcină.
Adresa este o sursă frecventă de efort. Stripe Address Element localizează formatele, poate oferi autocomplete și permite sincronizarea shipping/billing când este integrat cu elementele sale. Este documentația furnizorului și nu garantează conversia. Orice componentă trebuie verificată pentru țările, datele, politicile și fallbackurile magazinului.
Definește și un contract de recuperare pentru fiecare eșec. La adresă invalidă, păstrează valorile corecte și mută focusul la câmpul care cere intervenție. La plată respinsă, păstrează coșul, livrarea și identitatea, dar nu afișa din nou date sensibile pe care procesatorul nu le returnează. La timeout, spune dacă cererea a fost primită înainte să inviți persoana să încerce din nou; altfel poți crea comenzi sau leaduri duplicate. La revenirea din pagina băncii, reconstruiește starea dintr-un identificator controlat, nu din presupunerea că tabul a rămas deschis.
În instrumentare, separă eroarea de validare, indisponibilitatea serviciului, refuzul procesatorului și abandonul voluntar. Salvează familia erorii, pasul, versiunea și rezultatul retry-ului, fără payloadul sensibil. Mesajul pentru utilizator explică acțiunea posibilă; logul tehnic păstrează cauza investigabilă. Testul de acceptare include refresh, Back, dublu clic, rețea întreruptă și reluare pe mobil. Astfel, scurtarea formularului nu ascunde un defect de stare.
Nu elimina review-ul comenzii dacă oamenii au nevoie să verifice cantități, livrare, facturare ori cost. Poți face review-ul persistent, nu neapărat un pas separat. Simplificarea înseamnă să reduci memoria și corecturile, nu să ascunzi consecințele.
Pentru fiecare etapă, scrie: sarcina, datele cerute, opțiunile, erorile posibile, sistemul care răspunde și ce se păstrează la eșec. Această hartă dezvăluie adesea că „pasul inutil” este de fapt o dependență operațională neexplicată.
Încrederea lângă butonul final înseamnă informație verificabilă
Încrederea nu se rezolvă cu o iconiță de lacăt desenată. Lângă acțiunea finală, persoana are nevoie să știe ce va fi taxat, când și cum primește, cine procesează datele, ce se întâmplă la eroare și dacă poate corecta.
Pentru checkout, afișează înainte de „Plasează comanda”:
- produsele, cantitățile și variantele;
- subtotal, reduceri, transport, taxe și total;
- adresa și metoda de livrare, cu termenul disponibil;
- metoda de plată și momentul debitării;
- linkuri accesibile către retur, termeni și confidențialitate;
- un mod de editare fără pierderea datelor;
- textul butonului care descrie consecința.
Pentru cererea de ofertă, arată ce date trimiți, cine răspunde, în ce interval realist, ce primește persoana și dacă solicitarea implică un angajament. „Trimite” este mai slab decât „Solicită evaluarea inițială” dacă acesta este pasul real. Nu promite „răspuns imediat” când leadurile intră într-o coadă manuală.
Semnalele de încredere trebuie legate de risc. Un badge de plată poate ajuta la identificarea procesatorului; o politică de retur clară răspunde riscului produsului; o adresă și identitate legală răspund riscului comerciantului. Testimonialele nu explică securitatea cardului, iar lacătul nu explică livrarea.
Nu adăuga pop-upuri de urgență, countdownuri sau mesaje de stoc fără date reale. Pot grăbi o acțiune și eroda încrederea, pot încălca politicile și pot produce suport. Urgența etică are termen, cauză și condiții verificabile.
Sursa românească GPeC despre motivele abandonului coșului este din 2020 și compilează explicații din industrie. O folosim ca listă de întrebări locale, nu pentru procente. Cifrele actuale și populațiile sunt controlate prin cercetarea Baymard, iar diagnosticul magazinului trebuie făcut pe date proprii.
Confirmarea după submit este parte din încredere. Afișează număr de comandă ori cerere, sumar, canalul de confirmare, timpul următor și alternativa dacă e-mailul nu ajunge. Nu șterge formularul și nu lăsa un spinner fără verdict. În spate, loghează requestul și evită duplicatele la refresh.

Mobilul cere context, tastatură și recuperare
Pe mobil, tastatura reduce spațiul vizibil, autofillul poate schimba valori, conexiunea poate întrerupe pașii, iar butonul final poate fi acoperit. Un design care „se potrivește” pe 390 px nu este automat un formular utilizabil.
Testează fiecare câmp cu următoarele întrebări:
| Control mobil | Defect frecvent | Corecție |
|---|---|---|
| etichetă | dispare după input sau iese din viewport | label persistent și specific |
| tastatură | apare layout text pentru telefon/card | type și inputmode adecvate |
| focus | pagina sare, acoperă eroarea ori butonul | scroll/focus controlat și layout testat |
| autocomplete | completează câmpul greșit | atribute stabile și valori standard |
| validare | roșu fără explicație | mesaj textual lângă câmp și sumar accesibil |
| persistență | datele dispar la Back, refresh sau plată respinsă | salvare sigură și restaurare controlată |
| acțiune | două butoane par principale | ierarhie și consecință explicită |
W3C cere ca o eroare detectată automat să identifice câmpul și să fie descrisă în text. Nu este suficientă bordura roșie. Mesajul „Telefon invalid” este insuficient dacă formatul acceptat nu este evident; „Introdu un număr de 10 cifre, fără extensie” poate ghida, dacă aceasta este regula reală.
Validarea trebuie plasată la momentul potrivit. Dacă validezi agresiv înainte ca persoana să termine, produci erori temporare. Dacă validezi numai la final și trimiți înapoi fără focus, crești corecturile. Testează cu screen reader, zoom, tastatură, autofill și copy/paste, nu doar cu mouse.
Nu sparge un singur concept în mai multe câmpuri fără necesitate. Numărul de telefon, codul poștal sau numele pot deveni o serie de tapuri și schimbări de focus. Unele sisteme au nevoie de componente separate; atunci gestionează focusul și explică formatul. Nu impune modelul bazei de date ca experiență.
Recordings pot arăta rage clicks, reveniri și blocaje. Video-ul oficial Microsoft Clarity arată că heatmaps pot fi separate pe device și comparate, însă observația nu este cauză. Verifică eroarea în loguri și reproduce pe dispozitiv. Un utilizator care abandonează după card poate fi respins de bancă, nu confuz de design.
Testează pe telefoane și browsere din traficul real, cu rețea lentă și metode de plată relevante. Simularea desktop este utilă pentru început, nu predare. Înregistrați versiunea, device-ul, browserul și codul de eroare ca să poți grupa, fără date sensibile.
Măsurarea pe pași leagă funnelul de rezultat
Funnelul corect are un numitor pentru fiecare pas: utilizatorii eligibili care au văzut pasul. Nu împărți finalizările cardului la toate pageviewurile magazinului. Nu compara rata mobilă cu desktop fără mix, metode de plată și surse.
Pentru fiecare pas calculează:
Rata de progres = utilizatori care au intrat în pasul următor / utilizatori eligibili expuși pasului curent × 100.
Adaugă rata erorilor, timpul până la rezolvare, retry și succesul serverului. Pentru checkout, urmărește autorizat, capturat, eșuat, anulat și rambursat conform procesatorului. Pentru leaduri, urmărește creat, deduplicat, acceptat, contactat și câștigat.
Microsoft Clarity explică în FAQ că 0% checkout abandonment poate însemna că instrumentul nu a detectat sesiuni care au început checkoutul și l-au abandonat. Zero nu înseamnă automat perfecțiune; poate însemna lipsă de detectare sau volum. Definește evenimente proprii și verifică instrumentarea.
Construiește raportul pe rânduri:
| Pas | Expuneri | Încep | Finalizează | Erori | Abandon | Mobil vs desktop | Rezultat comercial |
|---|---|---|---|---|---|---|---|
| formular ofertă | de completat | de completat | de completat | după tip | calculat | separat | lead acceptat |
| livrare | de completat | de completat | de completat | adresă/opțiune | calculat | separat | comandă eligibilă |
| plată | de completat | de completat | de completat | procesator | calculat | separat | autorizare/captură |
Valorile se completează din date, nu se inventează. Un drop-off mare este semnal de investigație. Prioritatea depinde de volum, valoarea recuperabilă, severitate și costul corecției. Dacă un pas pierde 40% din zece utilizatori, impactul poate fi mai mic decât o eroare de 5% din zece mii.
După remedierea defectelor, schimbările cu incertitudine pot fi testate. Urmează protocolul de A/B testing și păstrează unitatea, metricile și guardrailurile. Nu testa dacă formularul trebuie să funcționeze; testează două implementări funcționale când există o decizie reală.
Un serviciu de optimizare CRO ar trebui să predea și harta evenimentelor, nu numai ecranele noi. Fără măsurare, echipa vede doar finalizările și repetă aceeași discuție despre câmpuri după fiecare redesign.
Întrebări frecvente
Câte câmpuri sunt prea multe într-un formular de cerere de ofertă?
Sunt prea multe când cer informații care nu sunt folosite, pot fi derivate fiabil ori colectate după primul pas, iar efortul depășește valoarea promisă. Auditează fiecare câmp după proprietar, necesitate, moment și costul lipsei. Măsoară și calitatea leadurilor; un formular mai scurt poate crește volumul și încărcarea echipei fără mai multe vânzări.
Pe ce pas din checkout pierd cei mai mulți clienți?
Nu poți afla din media industriei. Instrumentează expunerea, începerea, progresul, eroarea, submitul și succesul pentru fiecare pas, separat pe mobil, sursă și metodă de plată. Verifică apoi recordings și loguri pentru segmentul afectat. Un drop-off poate însemna lipsă de intenție, cost neașteptat, eroare tehnică sau respingerea plății.

Formularul optim protejează utilizatorul și operațiunile
Optimizarea nu înseamnă să ajungi la trei câmpuri sau la un singur ecran. Înseamnă să ceri informația potrivită la momentul potrivit, să explici consecința, să previi și să repari erorile și să păstrezi datele când sistemul eșuează.
Începe cu harta evenimentelor, nu cu redesignul. Justifică fiecare câmp, tratează mobilul ca mediu propriu, arată costul și livrarea înainte de confirmare, apoi leagă finalizarea de leadul acceptat ori comanda încasată. Când utilizatorul și echipa internă pot termina pasul fără informație pierdută sau surprize, formularul este mai aproape de optim — indiferent câte rânduri ocupă.