How to Create an Online Registration Form: Eight Steps, From Fields to Tracking Codes
A registration form that enforces capacity, rejects wrong national IDs and mobile numbers, gives each registrant a tracking code and hands you a clean list in Excel. Three decisions before you build, the fields each kind of registration needs, eight build steps, common mistakes and a pre-launch checklist.
An online registration form looks simple: a few fields and a button. The trouble comes later: a class with twenty people too many, a list where half the national IDs are wrong, registrants who don't know whether they got a place, and an Excel file that takes hours to clean by hand. This guide builds the form around exactly those problems. If you're in a hurry, here is the short version:
- Settle capacity, deadline and approval before you build.
- Ask only for what you will actually use, and use dedicated fields for national ID and mobile number.
- Enforce capacity on the whole form or per option, turn on tracking codes, and test the form on a phone before publishing.
To build the form itself from ready-made templates, see the online registration form page; here we explain the method step by step.
Before you build: three decisions
- Capacity and deadline. How many places do you have, and until when is registration open? If you have separate sessions, workshops or classes, what is each one's capacity? These numbers decide whether you cap the whole form or each option.
- Automatic acceptance or review? For a free conference, submitting usually means you're in; for school admission or association membership, someone has to look at documents and approve or reject.
- Do you charge? If so, is the fee fixed or does it depend on choices (number of sessions, companions, transport)? And must people pay before submitting, or after approval?
The fields each kind of registration needs
Every extra field lowers the completion rate. This table shows the minimum for common registrations; the last column is a ready-made template with the same fields:
| Registration | Required fields | Optional but useful | Template |
|---|---|---|---|
| Class or course | Name, mobile, course or level, session | National ID (for certificates), background, how they heard about you | Course registration |
| Conference or event | Name, mobile or email, in person or online | Organisation, role, workshops, companions, dietary needs | Event registration |
| Competition or tournament | Person or team name, age group, mobile, acceptance of the rules | Documents, team members, coach | Sports competition registration |
| Association or club membership | Name, national ID, mobile, membership type | Qualifications, experience, referee | Association membership application |
| Kindergarten or school | Child's name and date of birth, parent's name and mobile, grade or age group | Transport, allergies, authorised pick-up person | Kindergarten and preschool enrolment |
Ask for a national ID only when you need it, for example to issue a certificate or prevent duplicate registrations; asking for it without a reason makes respondents suspicious, and you become responsible for keeping it safe.
Building the registration form in Porsino, step by step
Step 1: start from a template or a blank page
Pick one of the registration templates and delete the fields you don't need; that is usually faster than starting from scratch. Building and publishing a form is free.
Step 2: use the right field for each piece of data
Ask for the national ID with the "National ID" field, which checks the check digit on the spot and keeps leading zeros; for the mobile number use the "Mobile" field, which normalises Persian and Latin digits; use the Jalali calendar for dates of birth and the two-step field for province and city. These four choices remove most of the clean-up later. The reasons are explained in validating Iranian national IDs in forms and the Iranian mobile number field.
Step 3: keep the form short with conditional logic
Someone who chooses "online" doesn't need the dietary question; someone without companions shouldn't see the companion fields. With "if … then show" conditions each person sees only their own questions, and a long form never feels long to anyone.
Step 4: enforce capacity
- A cap on the whole form: when the number is reached, the form closes and shows the message you wrote.
- Capacity per option: for example 20 places in the morning session and 15 in the afternoon; a full option can no longer be chosen, and you can show how many places are left.
- Quotas: for example at most 50 people from one city or one faculty.
Porsino holds capacity atomically: if two people click the last free place at the same moment, only one registration goes through. Why this matters is covered in event registration: capacity, waiting lists and no-shows.
Step 5: prevent duplicate registrations
"One response per person, by browser" is the simplest option, but switching browsers gets around it. If you ask for a national or student ID, set "one response per code" on that question so the same code can't be registered twice, from any device. SMS mobile verification is in the Business plan: until the registrant enters the code texted to them, the registration doesn't go through.
Step 6: if you charge a fee, take payment inside the form
Set a fixed amount, or calculate it from the choices (sessions, companions, transport) with a calculated field. Payment goes through your own Zarinpal or Zibal gateway and the money goes straight to your account; a registration is marked "paid" only after the server confirms the transaction with the gateway itself. Publishing a paid form requires the Pro plan or higher; details are in the online payment guide.
Step 7: don't leave registrants in the dark
Turn on tracking codes so every registration gets a unique code such as TRK-1405-00001 and sees it straight away. Registrants can later check their status on the tracking page; if registrations are reviewed, an approval workflow (in the Business plan) shows the outcome of each stage there too. Also turn on the email receipt for registrants and a notification for each registration for yourself. The full guide is under tracking codes.
Step 8: publish and download the list
Send the short link in messengers, print the QR code on a poster or embed the form in your website with an iframe. Download the registration list to Excel whenever you like; dates come in both Jalali and Gregorian, and province and city in separate columns.
Seven common registration form mistakes
- Asking for everything. A full postal address isn't needed for a free webinar. Test each field with: "What do I lose if I don't ask?"
- National ID in a plain text field. The result is nine-digit codes, mixed digits and made-up codes.
- Counting capacity by hand. By the time you close the form, several extra people have registered.
- Silence after submission. A registrant who gets no clear message and no tracking code registers again or calls you.
- One form for everyone. When questions depend on choices, use conditional logic, not a note saying "leave this blank if you're attending online".
- Gregorian dates or a text field for dates. Dates of birth written in a dozen formats won't sort in Excel.
- Not testing on a phone. Most registrations happen on phones; fill in the form yourself on one before publishing.
Pre-launch checklist
- The form title says what the registration is for and until when it is open.
- National ID, mobile and date fields use their dedicated field types.
- The capacity cap and the "registration is full" message are set.
- If duplicates matter, "one response per code" or mobile verification is on.
- The tracking code and the ending-page message are clear and accurate.
- The form has been filled in once on a phone and once on a computer, and its Excel export has been checked.
- Test registrations have been deleted before the real launch.
Frequently asked questions
Does building an online registration form cost anything?
Building and publishing the form, capacity limits, tracking codes and Excel export are included in Porsino's free plan. SMS mobile verification, approval workflows and appointment booking are in the Business plan, and online payment is in the Pro plan and higher; each plan's response limit is on the pricing page.
Do registrants need to create an account?
No. They just open the link and fill in the form; only the form's creator needs an account.
What happens when capacity is full?
If the cap is on the whole form, the form closes and shows your message. If capacity is set per option, only the full option becomes unavailable and the rest stay open.
How does a registrant know their registration was accepted?
Right after submitting they see the tracking code and the ending-page message, and if you turned on the email receipt, the email arrives too. If registrations are reviewed, they see the outcome with the same code on the tracking page.
Can I put the registration form on my own website?
Yes: inside a page with an iframe, or as a popup or floating button. A short link and QR code are also ready for messengers and posters.
Ready? The registration templates and the capacity and tracking settings are together on the online registration form page; for other forms, see the online form builder.