Forms

Form field schemas

How PageFork reads the fields on your forms — which become a person's name, email and phone, and which become custom fields.

Each form on your site has a schema — the list of fields it sends. PageFork uses it in two ways:

  • To show each submission’s answers, as columns in the submissions list and the CSV export.
  • To work out who sent the submission, and which answers to keep on that person.

You don’t manage a schema by hand. It’s a reflection of what the form actually sends.

How a schema is built

PageFork reads your forms when you publish, and again each time a submission arrives. Any field name it hasn’t seen before is added. The schema grows automatically with the form.

Which fields identify the person

Four details are special: name, email, phone and company. They’re what a person record is built from, and email and phone are how PageFork recognises someone who comes back.

PageFork decides which form field is which from the field’s type and its name:

DetailRecognised when the field…
Emailis an email input, or is named email, e-mail, email_address, your_email, contact_email, or anything starting with email
Phoneis a phone input, or is named phone, tel, telephone, mobile, cell, whatsapp, phone_number, or anything starting with one of those
Nameis named name, full_name, your_name or contact_name
Companyis named company, company_name, organisation, organization, business or business_name

Capitals don’t matter.

First and last name. If the form has separate fields named first_name (or given_name) and last_name (or surname, family_name), PageFork joins them with a space into one name.

Values are checked too. A field called email that doesn’t contain a valid address isn’t used as the person’s email. A phone needs at least 7 digits.

Forms PageFork generates use these names already. It matters when you ask for something unusual — “call the email field reach_me_at” would leave PageFork unable to tell it’s an email unless the input is an email-type input.

A form with no email and no phone field still creates a lead, but PageFork can’t recognise the visitor next time. Each submission becomes a new person.

Everything else becomes a custom field

Every other field on the form becomes a custom field on the site — “Budget”, “Preferred date”, “Message” — and its answer is saved on the person.

When the field is found at publish, PageFork uses the label visitors see and a matching type:

Form inputCustom field type
Number or sliderNumber
DateDate
Dropdown or radio buttonsSelect, with the same options
Single checkboxYes/No
Web addressURL
Anything elseText

A field that first turns up in a submission, rather than at publish, becomes a Text field named after the form field.

An answer only fills a custom field that is empty on the person. If they already have a value there, the new answer doesn’t replace it. The submission itself always keeps the full original answers.

Fields that are ignored

Some values are technical and never become custom fields:

  • Campaign tracking values starting with utm_.
  • Ad click IDs: gclid, fbclid, msclkid.
  • Captcha responses.
  • Any field whose name starts with an underscore.

When the schema gets messy

Occasionally you’ll see junk fields — typically after:

  • Renaming a field in the form — old submissions used the old name; new ones use the new name. Both appear as columns, and you get two custom fields.
  • Spam entries with random field names — rare, but possible.
  • Pasting a form into a new place and forgetting a stale name=… attribute.

Cleaning up

If you want things consistent going forward:

  1. Edit the form in PageFork so the field names match what you want. Ask in chat: “rename the ‘email_address’ field to ‘email’ on the contact form”.
  2. Republish the site so visitors start submitting the new names.
  3. Hide the leftover custom field in the fields editor. Hiding keeps its data but takes it off person pages and list columns. See Custom fields.

Old submissions keep their original fields, and they show in the submissions CSV as extra columns. You can ignore or delete them in your downstream tool.

If a single submission has a wrong value — a typo in an email, say — fix that one submission instead. See Correcting submission data.

Field ordering

Fields are listed in the order they were first seen. If you want a particular order:

  • Edit the form in PageFork so fields appear in the right order on the page. Most browsers submit fields in page order.
  • Custom fields have their own order, which you set by dragging in the fields editor.

Next