CRMconnect Azuvio · Docs

Workflow: Surveys — Colectare Feedback

Module implicate: Surveys · Email Lists · Clients · Leads · Staff
Cine îl folosește: Marketing · Customer Success · HR
Durata tipică: Creare + trimitere = 30 min · Răspunsuri = 1–14 zile

Overview

Modulul Surveys permite crearea de chestionare cu 6 tipuri de întrebări, trimiterea prin email către liste de destinatari și colectarea răspunsurilor prin link public. Trimiterea este 100% manuală — nu există triggere automate pe events CRM (factură plătită, tichet închis, proiect finalizat).

Nu există tip NPS dedicat. Cel mai apropiat echivalent este tipul rating (1–5 stele), care nu este o scală NPS standard (0–10) și nu calculează NPS score. Dacă aveți nevoie de NPS real, folosiți tipul rating cu instrucțiuni personalizate în textul întrebării.

Răspunsurile nu sunt legate de înregistrări CRM. tblsurveyresultsets stochează doar IP + user agent — nu client_id, nu lead_id. Nu se poate identifica automat cine a răspuns (dacă nu folosiți câmpuri custom în mail lists sau linkuri personalizate).

Trimiterea funcționează prin cron. Emailurile nu se trimit instant — sunt puse în coadă și procesate de cron cu un minim de 1 oră între rulări, maxim 100 emailuri per rulare.


Diagrama fluxului

[CREARE SURVEY]
  │
  ├── New Survey: subject, description (corp email), viewdescription (header public)
  ├── Adaugă întrebări: input / textarea / checkbox / radio / rating / progress1
  ├── Opțiuni acces: active, onlyforloggedin, iprestrict, redirect_url
  └── URL public generat: site_url/survey/{id}/{hash}
  │
  ↓
[TRIMITERE — manual, staff inițiază]
  │
  ├── Surveys → {survey} → Send Survey tab
  ├── Selectare destinatari (una sau mai multe opțiuni):
  │     ├── Toți contactele active (cu filtru opțional grup client)
  │     ├── Toți leads-urile (cu filtru opțional status lead)
  │     ├── Toți staff-ul activ
  │     └── Mail Lists personalizate
  │
  ├── Insert în tblsurveysemailsendcron (coada de trimitere)
  ├── Insert în tblsurveysendlog: total=0, iscronfinished=0
  └── Status: "așteptare cron"
  │
  ↓
[PROCESARE CRON]
  │
  ├── Condiție: ora curentă - last_survey_send_cron ≥ 1 oră
  ├── Trimite maxim survey_send_emails_per_cron_run (implicit 100) emailuri
  ├── Fiecare email: înlocuiește {survey_link} cu URL-ul public
  │     + câmpuri custom din mail list (ex: {lista-prenume})
  ├── La trimitere reușită: șterge rândul din tblsurveysemailsendcron
  └── La finalizare: tblsurveysendlog.iscronfinished = 1
  │
  ↓
[COMPLETARE SURVEY — respondent]
  │
  ├── Respondentul deschide URL public: /survey/{id}/{hash}
  ├── Completează întrebările
  ├── La submit:
  │     ├── Insert în tblsurveyresultsets: ip, useragent, date (nu client_id!)
  │     └── Insert în tblform_results: câte un rând per răspuns (per boxid/boxdescriptionid)
  └── Redirect la redirect_url (dacă configurat) sau mesaj de confirmare
  │
  ↓
[VIZUALIZARE REZULTATE]
  │
  ├── Surveys → {survey} → Results tab
  ├── checkbox/radio/rating: bare de progres cu count și % per opțiune
  └── input/textarea/progress1: lista tuturor răspunsurilor text (modal)

[FEEDBACK COLECTAT ✓]

Pas cu pas

1. Creare survey

Unde: /admin/surveys → New Survey

Câmp Descriere
subject Subiectul emailului de trimitere
description Corpul emailului (suportă merge tag {survey_link})
viewdescription Textul afișat în header-ul paginii publice de survey
active 1 = vizibil public · 0 = 404 pentru non-staff
onlyforloggedin Dacă 1, necesită sesiune autentificată (client sau staff)
iprestrict Dacă 1, permite un singur răspuns per adresă IP
redirect_url URL de redirect după completare (opțional)

Câmpuri vizuale (opționale): header_bg, footer_bg, wrapper_color, footer_description — personalizare aspectul paginii publice.


2. Tipuri de întrebări

Unde: în formularul de survey → Add Question

Tip (boxtype) Afișare Răspuns stocat
input Câmp text o linie Text liber în tblform_results.answer
textarea Câmp text multilinie Text liber în tblform_results.answer
checkbox Opțiuni multiple selectabile boxdescriptionid per opțiune selectată
radio Opțiune unică selectabilă boxdescriptionid al opțiunii alese
rating 5 stele (Bad / Good / Very good / Great / Awesome) boxdescriptionid cu valoarea 1–5
progress1 Slider 0–100 Valoarea numerică în answer

Tipul progress2 (bare de progres numerice) este dezactivat în interfață (codul PHP pentru butonul de adăugare este comentat). Nu poate fi adăugat de staff.

Câmpuri per întrebare:

  • question — textul întrebării
  • required1 = obligatorie pentru submit
  • question_order — ordinea afișării

3. Mail Lists — liste personalizate de destinatari

Unde: /admin/surveys → Mail Lists → New List

Mail Lists permit trimiterea către adrese email care nu sunt neapărat contacte sau leads în CRM.

Câmp Descriere
name Denumire listă
Emails Adăugare individuală sau import CSV
Custom Fields Câmpuri suplimentare per email (ex: Prenume, Companie) — folosibile ca merge tags în email cu sintaxa {list-name-fieldname}

4. Trimitere survey

Unde: /admin/surveys/{id} → tab Send Survey

Destinatari disponibili:

Opțiune Filtru opțional GDPR filtrat?
Toate contactele active Grup client Da (dacă GDPR activ)
Toate lead-urile Status lead Da (dacă GDPR activ)
Toți staff-ul activ Nu
Mail Lists Selectare liste specifice Nu

Merge tag obligatoriu: Includeți {survey_link} în câmpul description (corpul emailului). Fără acesta, emailul nu conține linkul spre survey.

Configurare volum trimitere: Unde: /admin/settings → Cron tab → Surveys

Opțiune Implicit Descriere
survey_send_emails_per_cron_run 100 Emailuri trimise per execuție cron

Intervalul minim dintre rulări cron este de 1 oră (last_survey_send_cron opțiune actualizată la fiecare rulare).


5. Vizualizare rezultate

Unde: /admin/surveys/{id} → tab Results

Pentru checkbox, radio, rating:

  • Fiecare opțiune afișează: număr voturi / total completări = procentaj
  • Bara de progres vizualizează distribuția

Pentru input, textarea, progress1:

  • Buton View All Answers → modal cu lista tuturor răspunsurilor text

Limitări importante:

  • Nu există export CSV/Excel al răspunsurilor
  • Nu există analiză trend în timp
  • Nu există cross-survey comparație
  • Nu există calcul NPS (chiar dacă folosiți rating 1–5)
  • Răspunsurile nu sunt asociate cu client_id sau lead_id

6. Automatizări disponibile (limitate)

Modulul Surveys nu are integrare cu:

  • workflow_automation (nu există triggere pe events CRM)
  • ma (Marketing Automation)
  • Orice alt hook CRM (invoice paid, ticket closed etc.)

Singura automatizare existentă: cron-ul de trimitere (procesare coadă tblsurveysemailsendcron).


Permisiuni necesare

Permisiune Acces
surveys → view Vizualizare surveys și rezultate
surveys → create Creare surveys noi
surveys → edit Editare surveys existente
surveys → delete Ștergere
Configurare volume cron is_admin()

Gotchas

Problemă Cauză Soluție
Emailurile nu se trimit Cron inactiv sau interval 1h neîndeplinit Verificați că cron job-ul rulează + așteptați cel puțin 1 oră
Survey-ul afișează 404 active = 0 Setați active = 1 pe survey
Lipsă link în email {survey_link} absent din description Adăugați merge tag-ul în corpul emailului
Nu știu cine a răspuns tblsurveyresultsets nu stochează client_id Folosiți mail lists cu câmpuri custom + cereți email în survey
„Rating" nu e NPS real Rating e 1–5 stele, nu 0–10 Documentați explicit scala în textul întrebării; calculați NPS manual din export
Cron trimite mai puțin de 100 / rundă survey_send_emails_per_cron_run = valoare mai mică Ajustați în Settings → Cron → Surveys

Referințe module

  • Clients — trimitere către contacte
  • Leads — trimitere către leads
  • Marketing Campaigns — campanii email (pentru emailuri automate)
  • GDPR — filtrare consimțăminte la trimitere
Tip

Programați sondajele post-eveniment să se trimită automat la un interval fix (ex: 3 zile după rezolvarea tichetului, 14 zile după onboarding) — configurați declanșatorul în setările sondajului astfel momentul răspunsurilor este consecvent fără trimitere manuală pentru fiecare eveniment.

Note

Fiecare destinatar al sondajului primește un link unic de participare care nu necesită autentificare. Răspunsurile sunt legate automat de înregistrarea CRM a clientului sau lead-ului lor, permițând analiză segmentată pe industrie, tier sau produs fără potrivire manuală a datelor.