Forms are the bridge from anonymous visitor to known contact. Every form submission becomes a contact record (or updates an existing one), and forms can trigger any workflow.
1. Sites → Forms → "+ Build Form"
2. Drag fields onto the canvas: name, email, phone, dropdown, etc.
3. Configure each field: label, placeholder, required/optional, validation
4. Set form behavior: where to redirect after submit, what tags to apply, what workflow to trigger
5. Customize the styling (colors, button text, spacing) or accept defaults
5. Save → click Embed for the code, or Share to copy a direct URL
| Field | Use case | Validation |
|---|---|---|
| Text (single line) | Name, company, short answers | Min/max length |
| Text (paragraph) | Notes, comments, longer answers | Optional max length |
| Email address | Format validation built-in | |
| Phone | Phone number | Format validation, country code |
| Number | Quantity, age, score | Min/max value |
| Dropdown | Pick one from a list | Required vs optional |
| Multi-select / Checkbox group | Pick several | Min/max checked |
| Date / Time | Birthday, preferred date | Range limits |
| File upload | UTM source, referrer, page URL | Set programmatically |
| Signature | E-signature consent | Required for legal forms |
The shorter, the better. Each additional field reduces submission rate
Phone OR email, not both required. Some people give one, some the other. Forcing both costs you submissions
Use placeholder text to show format. "e.g., (571) 555-1234" prevents ambiguity
Show errors inline. Don't make users submit, see a red error, scroll up, fix, resubmit
Confirm submission clearly. Either redirect to a thank-you page or show a success message right where the form was
Triggered workflow runs immediately (welcome SMS, confirmation email)
Contact record is created or updated
Configured tags are applied
Submission is logged with timestamp, source URL, and any UTM parameters
TIP — Capture UTM parameters
Add hidden UTM fields (utm_source, utm_medium, utm_campaign) to every form. They auto-populate from the URL when a visitor arrives via a tagged ad. Without them, you can't tell which ad campaign generated which leads — and ad spend optimization becomes guesswork.