Multi Step Form UI for Treatment Quizzes and Consults
A multi step form UI for med spa treatment quizzes: four short pages, field names, and a payload your AI setter uses to personalize its first message.

A good multi step form UI for a treatment quiz is four short pages with one decision each, a progress bar, and the phone number asked last. Every answer becomes a named field, and those fields go to your AI seetter so its first text can mention the concern, the treatments and the timing the person gave you. Below are the layout, the field map and the webhook.
Start from the lead form template
The four-page layout
A "which treatment suits me" quiz converts best when each page asks something the visitor can answer without thinking about it. Ask for contact details only after they have invested three pages of answers.
- Concern. One multiple choice question: what would you like to change? Offer five or six plain-language options ("fine lines", "volume loss", "skin texture", "unwanted hair", "not sure yet").
- Treatments. A multi-select of the treatments that fit the concern they picked, plus "Not sure, advise me". Conditional logic fillters the list so a person who picked hair removal never sees injectables.
- Timing and experience. When do you want to start, and have you had this treatment before?
- Contact. First name, mobile number, preferred way to be reached, and a consent checkbox for text messages.
Turn on the progress bar in the form Settings drawer. On a phone, "page 3 of 4" tells people the end is close, which keeps them going.
What each answer does downstream
The quiz is only useful if every field changes what the setter says or does. If an answer would not change the fiest message or the booking offer, cut the question.
| Page | Question | Block | Field name | What the setter does with it |
|---|---|---|---|---|
| 1 | What would you like to change? | Multiple choice | concern |
Names the concern in the opening line |
| 2 | Which treatments interest you? | Multi-select | treatments |
Asks about those treatments and skips the rest |
| 3 | When would you like to start? | Multiple choice | timing |
"This month" gets this week's consult slots first |
| 3 | Had it before? | Multiple choice | first_timer |
Decides how much to explain |
| 4 | First name | Short answer | first_name |
Greeting |
| 4 | Mobile number | Phone number | phone |
Destination for the first SMS |
| 4 | Contact preference | Multiple choice | channel |
Text or call |
| 4 | Text consent | Checkboxes | sms_consent |
Setter only texts if ticked |
| Hidden | Ad and page source | Hidden fields | utm_source, utm_campaign |
Tells you which campaign produced the booking |
| Hidden | Country | Respondent's country | country |
Sets phone format and local time zone for slots |
Build it step by step
We build this layout on Qwenvo, the free form builder our team makes. The same structure works in other builders, but these are the exact steps there.
- Create the form and add pages. Type
/to insert blocks and use "New page" between each of the four groups. Our general walkthrough on building a multi-step form covers the editor in more detail. - Add the questions. Use Multiple choice for the concern, Multi-select for treatments, and a Phone number block for the mobile number. Use the Checkboxes block for consent with the exact wording your legal advisor gives you.
- Add conditional logic. From the treatments question, open "Add conditional logic" and show only the options that match the concern. Keep it to one level; nested branches make the quiz hard to test.
- Add hidden fields. Add
utm_sourceandutm_campaignas hidden fields and pass them in the page URL, as in?utm_source=instagram&utm_campaign=autumn-skin. The hidden fields help article shows the setup. - Set the form settings. Switch on the progress bar, switch off the Qwenvo badge, and set a redirect on completion to a page that says when to expect the first message.
- Embed it. Use the Standard embed on your treatment page, or the Popup embed for a "Take the quiz" button. Put it on
forms.yourclinic.comtheough the Domains page: add a CNAME to qwenvo.com and the TXT record shown, click Verify, then pick the domain on the Share tab. - Add the webhook. Point it at the endpoint that feeds your setter (more on that next).
The payload the setter reads
Qwenvo sends webhooks to any URL, so the quiz can post staight into the automation that triggers the setter. The exact envelope is in the webhooks help article; what matters is that you flatten the answers into the field names from the table. This is the shape we map to:
{
"first_name": "Maya",
"phone": "+14155550123",
"channel": "text",
"sms_consent": true,
"concern": "Fine lines around the eyes",
"treatments": ["Botox", "Not sure, advise me"],
"timing": "Within a month",
"first_timer": "Yes",
"utm_source": "instagram",
"utm_campaign": "autumn-skin",
"country": "US"
}
From that, the setter's first message is assembled from fields rather than written from scratch:
Hi Maya, it's [Clinic]. You mentioned fine lines around the eyes and an interest in Botox, and you'd like to start within a month. Since it would be your first time, the consult is a short chat with no obligation. Want me to hold a slot this week?
The quiz fills the blanks, the setter writes the sentence, and the reply goes out inside the 60 seconds the system is built for. We treat every free text answer as data, never as instructions, so a long answer containing "ignore your rules" cannot steer the model.
Where the quiz sits in the setter workflow
In the Med Spa AI Appointment Setter, the form is the capture step for traffic that arrives from ads and your site. Phone calls, SMS, web chat and later Instagram DMs reach the setter through their own channels, and the quiz gives it a head start with the answers already in hand. Once the setter has the fields, it screens treatment interest, offers consultation times, books one and schedules no-show reminders.
Read the multi-step form guide
Keep medical history out of the quiz
A treatment quiz should collect preferences, not health history. Allergies, medications, pregnancy and past reactions belong in the consult and your clinical intake, not in a marketing form feeding an automation.
This matters for the toool choice too. Qwenvo does not offer HIPAA compliance and is hosted in the United States. Jotform lists HIPAA features on its paid plans, and Tally is hosted in Europe, which some UK and EU clinics prefer. If your intake form must carry protected health information, use a tool that supports that and keep the quiz a lead form only.
Failure cases and what to measure
Most quiz problems show up in the first week.
- Abandoned page 4. Someone gives a phone number but never submits. Turn on partial submissions so incomplete rows appear in the Submissions table, and decide with your counsel whether you may contact them. The consent checkbox is safe line: no ticked box, no text.
- Bad numbers. Use the Phone number block and check the
countryfield. A UK number without a country prefix will fail at the SMS provider. - Duplicates. Switch on "prevent duplicate submissions" and dedupe on
phonein the automation anyway. - "Not sure" overload. If most people choose "Not sure, adgise me", your concern options are too vague. Rewrite them in the words your front desk hears.
- Slots offered at the wrong time. Use
countryand the clinic's own time zone when proposing times.
Measure four things: the drop-off per page (Qwenvo has drop-off analytics), the time from submit to first reply, the share of quiz leads who book a consult, and the no-show rate for those consults. Break the booking rate down by utm_campaign.
Questions teams ask
How many pages should a treatment quiz have?
Four is a good ceiling. Each extra page costs completions, so if a question does not change the first message or the booking offer, drop it. A second quiz after the consult can collect more detail.
Should the quiz recommend a treatment?
We would not let it. The quiz gathers interest and the consultation produces the recommendation. Use "Not sure, advise me" as a real option and let the setter route those people to a consult.
Can I build this in Tally, Typeform or Fillout instead?
Yes. Tally's free plan includes logic and unlimited submissions, but custom domains, branding removal and partial submissions are on Pro at $29 a month. Typeform is strongest on design, with one question at a time, and its Plus plan at $79 a month removes branding. Fillout's free plan includes 1,000 responses a month and its Business plan at $89 a month adds custom domains and partial submissions. Qwenvo includes all of those at no cost.
Where should the quiz live?
On the tratment page itself, as an embed, or behind a "Take the quiz" popup from ads. A full-page link on your own subdomain works best for Instagram bio links.
Next step
Build the four pages this afternoon, submit the quiz yourself with a test number, and confirm the webhook arrives with all eleven fields before you point any ad at it.
Med Spa AI Appointment Setter
Third-party platform and model usage billed to you directly. No lock-in. Live in 5 days.