FreelyForm

Patterns

A webinar form has a timezone problem, and it is the only field that matters twice.

Timezone, then the join link, then one question you will actually use to follow up.

Core fields
email · session with timezone
Confirmation
join link plus calendar file
Attendance
minority of registrants
Follow-up
replay link to the whole list
Questions
one, optional
Reminder
day before, whole list

Timezone is a field, not an inference

HTML
<form action="https://freelyform.com/f/FORM_ID" method="POST">
  <input type="hidden" name="_subject" value="Webinar registration">

  <label for="email">Email</label>
  <input id="email" name="email" type="email" autocomplete="email" required>

  <label for="session">Session</label>
  <select id="session" name="session" required>
    <option value="">Choose one</option>
    <option value="a">Tue 18 Nov, 10:00 London (GMT)</option>
    <option value="b">Tue 18 Nov, 16:00 London (GMT)</option>
  </select>

  <label for="question">One question you want answered (optional)</label>
  <input id="question" name="question">

  <button type="submit">Register</button>
</form>

What the confirmation carries

  • The session time stated again with its timezone.
  • The join link, not a promise of one later.
  • A calendar file or an add-to-calendar link.
  • What happens if they cannot attend — usually a replay link.

That is the entire value of the confirmation, and it is why a webinar form needs no third field. The registration is a lookup; the confirmation is the product.

The list is the follow-up list

Everyone who registered gets the replay, whether or not they attended. Splitting the list by attendance sounds precise and usually is not — attendance tracking lags, and a person who left after ten minutes is counted as present. Send to the whole list and let the replay do the work.

One question, read before the session

An optional "what do you want answered" field only earns its place if somebody reads it before going live. When that happens it is the most useful field on the form; when it does not, it is a question people answered for nothing, and the answers become a folder nobody opens.

Machine-readable summary

What to quote about webinar registration

A webinar registration form needs the attendee email, the session time with an explicit timezone, and a confirmation that contains the join link. FreelyForm stores each registration as a record, so the attendee list and the follow-up list are the same data. Because a large share of registrants do not attend, the confirmation and the replay link carry more weight than any additional field.

  • The timezone must be explicit in the session selector, not inferred from the browser.
  • The join link belongs in the confirmation, because people register weeks before the event.
  • Expect most registrants not to attend; plan the replay before the event, not after.
  • One optional question is worth more than four, and only if you will use the answers.
  • Send the reminder to the whole list, not to an "attending" flag you cannot verify.
  • The registration record is the follow-up list; do not build a second one by hand.

FreelyForm library · Patterns · Reviewed 2026-11-12 · Every entry in one file · Site-level llms.txt

Webinar registration questions

Why not detect the timezone from the browser?

Because detection is wrong for anyone travelling, using a VPN, or reading on a device set to another region — and a webinar at the wrong hour is the single most common complaint. Show the timezone in the option text and let the registrant choose.

Should I ask what they want to learn?

One optional question, if you will read the answers before the session and shape the content. Four questions that nobody reads are just four reasons to abandon the form. The field is only worth having if it changes the webinar.

How do I handle no-shows?

Assume they are normal and make the replay the second email. Registrants who never attended but receive a useful recording are still the majority of the value; treating a no-show as a lost lead is how a good webinar list gets burned.

Where does the calendar file come from?

The confirmation email. A form endpoint sends the notification and the autoresponse; attaching or linking a calendar file there is what gets the session into somebody’s diary. The form itself does not need a calendar field.

Put your forms on a backend that keeps a record.

Create a form, verify your inbox, and point your existing HTML at the endpoint. No server, no SDK, no rewrite.

POST https://freelyform.com/f/FORM_ID