Setup calculator fields: scor automat, preț estimat, ROI calculat în formular
Cum construiești câmpuri calculate cu formule matematice peste răspunsurile date — preț instant, scor lead, ROI estimat. Variabile, operatori, funcții.
Cazuri tipice unde calculator fields ajută
(1) Calculator preț estimat servicii: client alege opțiuni → formularul afișează prețul estimat instant fără reload. (2) Scor lead pentru sales: răspunsurile la 8 întrebări de calificare se transformă în scor 0-100 pe care sales îl vede imediat în panou. (3) ROI calculator pentru landing page B2B: vizitator introduce 4 metrici despre business-ul lui → formularul calculează economia estimată cu produsul tău. (4) Asigurări auto: marca + anul + km → preț orientativ instant. (5) Quiz educațional cu scor adaptiv.
Adăugare câmp calculator
În editor → click „+ Adaugă întrebare” → tip „Câmp calculat (Calculator)”. Câmpul calculator NU are input vizibil pentru respondent — afișează doar rezultat. Configurare: (a) Label afișat (ex „Preț estimat”), (b) Format afișare (număr, procent, monedă EUR/USD/MDL/RON), (c) Formula (sintaxa de mai jos), (d) Vizibilitate (mereu, sau show_if conditional).
Sintaxa formulei
Variabilele = referințe la întrebări anterioare cu format {{q1}}, {{q2}}, {{q3}} etc. Operatori matematici: + - * / pentru aritmetică, ( ) pentru grupare, ** pentru putere. Operatori comparare: == != < > <= >= → returnează 1 sau 0. Logice: AND OR NOT. Exemplu simplu: {{q1}} * {{q2}} * 1.19 (preț cu TVA 19%). Exemplu complex: ({{q3}} == „premium”) * 500 + ({{q3}} == „standard”) * 200 (preț condițional).
Funcții disponibile (15)
MIN(a, b, c) - minim din listă; MAX(a, b, c) - maxim; SUM(q1, q2, q3) - sumă; AVG(q1, q2, q3) - medie; ROUND(x, 2) - rotunjire 2 zecimale; CEIL(x) / FLOOR(x); ABS(x); SQRT(x); POW(x, n); LOG(x); IF(condiție, valoare_dacă_adevărat, valoare_dacă_fals); COUNT(q1, q2, q3) - număr de răspunsuri non-empty; CONCAT(a, b, c) - alipire text; LEN(text) - lungime; CONTAINS(text, substring).
Exemplu detaliat: scor lead B2B
5 întrebări de calificare: q1 mărime companie (1-10 / 11-50 / 51-200 / 200+), q2 buget anual marketing ($, număr), q3 decizia decision-maker (Da/Nu), q4 timeline cumpărare (sub 1 lună / 1-3 luni / 3-6 luni / peste 6 luni), q5 industria (lista). Formula scor: SCORE_COMPANY({{q1}}, „200+”) * 25 + MIN({{q2}}/1000, 25) + IF({{q3}} == „Da”, 20, 0) + IF({{q4}} == „sub 1 lună”, 20, IF({{q4}} == „1-3 luni”, 10, 0)) + IF({{q5}} in [„SaaS”, „Finance”, „Health”], 10, 0). Scor maxim 100. Lead-uri 80+ = hot (Telegram alert sales), 50-79 = warm (email nurture), <50 = cold (newsletter only).
Exemplu: calculator preț real-time servicii
Salon înfrumusețare cu 4 servicii: q1 serviciu (manichiură / pedichiură / coafură / cosmetică), q2 lungime păr (scurt / mediu / lung), q3 stilist (junior / senior / master), q4 produse premium (Da/Nu). Formula preț: ({{q1}} == „manichiură”) * 200 + ({{q1}} == „pedichiură”) * 250 + ({{q1}} == „coafură”) * ({{q2}} == „scurt”) * 300 + ({{q1}} == „coafură”) * ({{q2}} == „mediu”) * 400 + ({{q1}} == „coafură”) * ({{q2}} == „lung”) * 500 + ({{q1}} == „cosmetică”) * 350 + ({{q3}} == „senior”) * 50 + ({{q3}} == „master”) * 150 + ({{q4}} == „Da”) * 100. Respondentul vede instant prețul estimat în MDL, plus disclaimer „preț orientativ, confirmat la programare”.
Validare formula
La salvare, sistemul parsează formula (AST), detectează variabile referențiate, verifică că există în formular și nu creează cicluri (q3 calculator nu poate referenția q5 calculator care îl referențiază pe q3). Dacă formula are sintaxa invalidă (paranteze nepereche, operator invalid, funcție inexistentă), apare eroare la linie + coloană. Test live cu valori dummy disponibil în editor.
Securitate (anti-injection)
Engine de evaluare e o implementare safe-eval custom (NU eval() JS, NU Function constructor). Doar operatorii și funcțiile whitelisted sunt permise. Respondentul NU poate injecta cod prin răspunsurile lui — chiar dacă răspunde la o întrebare text cu „<script>...</script>”, textul e tratat ca string opac la evaluare. Server-side re-evaluează formulele la submit pentru consistență.
Limite plan
Free: max 2 calculator fields per formular, max 10 operatori per formulă. Pro: max 10 calculator fields, max 50 operatori. Business+: nelimitat + acces la toate cele 15 funcții (Free/Pro doar 8 funcții de bază).