Web Forms & Lead Capture
Build embeddable web forms that capture leads directly into your CRM with validation and routing.
Overview
Web Forms in SalesOS let you build, customize, and embed lead capture forms on your website, landing pages, and marketing campaigns. Every submission flows directly into your CRM as a new lead (or updates an existing record), with automatic field mapping, validation, assignment routing, and confirmation actions — all without writing code.
Whether you need a simple contact form, a gated content download, a demo request page, or a multi-step qualification questionnaire, the SalesOS form builder provides the flexibility to create forms that match your brand and feed your pipeline.
Form Builder
Navigate to Marketing > Web Forms and click Create Form to open the form builder.
Drag-and-Drop Interface
The form builder uses a visual drag-and-drop interface:
- Left panel — available field types organized by category
- Center canvas — your form layout with live preview
- Right panel — properties for the selected field (label, placeholder, validation, mapping)
Drag fields from the left panel onto the canvas to add them. Reorder fields by dragging them up or down. Click any field to configure its properties in the right panel.
Form Settings
At the form level, configure:
- Form name — internal identifier for reporting and management
- Form title — displayed heading above the form (optional)
- Description — introductory text shown below the title (optional)
- Submit button text — customize the button label (default: "Submit")
- Layout — single column, two column, or inline
- Progressive profiling — show different fields on subsequent visits based on what you already know about the visitor
Field Types
SalesOS supports a comprehensive set of field types to capture any information you need:
| Field Type | Description | Use Cases |
|---|---|---|
| Text (Single Line) | Short text input | Name, company, job title |
| Text (Multi Line) | Textarea for longer responses | Message, project description |
| Email input with format validation | Work email, personal email | |
| Phone | Phone input with international formatting | Work phone, mobile |
| Number | Numeric input with min/max | Budget, team size, revenue |
| Dropdown | Single-select from predefined options | Country, industry, role |
| Multi-Select | Choose multiple options | Interests, products, challenges |
| Checkbox | Single yes/no toggle | Consent, newsletter opt-in |
| Checkbox Group | Multiple checkboxes | Features of interest |
| Radio Buttons | Single-select with all options visible | Company size range, timeline |
| Date | Date picker | Preferred contact date, project start |
| File Upload | File attachment (configurable types/size) | Resume, RFP document, logo |
| Hidden | Invisible field with preset value | UTM parameters, campaign ID, source |
| URL | Website URL input with format validation | Company website, LinkedIn profile |
| Paragraph | Non-input display text | Instructions, disclaimers, section headers |
| Rating | Star or numeric scale | Interest level, priority |
| Country | Pre-populated country selector | Billing country, shipping country |
Field Properties
Each field supports the following properties:
- Label — the text shown above the field
- Placeholder — ghost text inside the field
- Help text — small description below the field
- Required — whether the field must be filled
- Default value — pre-filled value (static or dynamic)
- CRM field mapping — which Lead/Contact field receives this data
- Conditional visibility — show/hide based on other field values
- Width — full width or half width (for two-column layouts)
Styling and Branding
Built-In Themes
Choose from pre-built themes that adjust colors, fonts, border radius, and spacing:
- Minimal — clean lines, subtle borders, maximum white space
- Modern — rounded inputs, shadow effects, contemporary feel
- Bold — strong colors, larger fonts, high-contrast buttons
- Classic — traditional form styling with clear field boundaries
- Dark — dark background theme for sites with dark aesthetics
Custom Styling
For precise brand alignment, customize every visual aspect:
| Element | Customizable Properties |
|---|---|
| Background | Color, image, opacity |
| Form container | Border, border-radius, shadow, padding |
| Labels | Font family, size, weight, color |
| Inputs | Background, border, border-radius, focus state color |
| Button | Background, text color, hover state, border-radius, padding |
| Error messages | Color, font size, icon |
| Help text | Color, font size, style |
| Success message | Background, text color, icon |
Custom CSS
For advanced customization, inject custom CSS that targets form elements. This is useful for matching complex brand guidelines or applying animations:
Responsive Design
All forms are fully responsive by default. The builder includes a device preview toggle (desktop, tablet, mobile) so you can verify appearance across screen sizes before publishing.
Embedding Options
SalesOS provides multiple embedding methods to suit different technical environments:
HTML Snippet
Copy a lightweight HTML snippet and paste it into any webpage. The snippet loads the form asynchronously and renders it inline:
JavaScript Widget
For more control, use the JavaScript API to programmatically load and configure forms:
iFrame Embed
For environments where script injection is restricted (some CMS platforms, email), use an iframe:
The iframe automatically resizes to fit content when the parent page includes the SalesOS resize helper script.
WordPress Plugin
Install the SalesOS WordPress plugin to embed forms via shortcode or Gutenberg block:
- Shortcode:
[salesos_form id="abc123"] - Gutenberg block: search "SalesOS Form" in the block inserter, select your form from the dropdown
Landing Page Builder Integration
SalesOS forms integrate natively with popular landing page tools:
- Unbounce (drag-and-drop component)
- Instapage (custom HTML widget)
- Webflow (embed element)
- Squarespace (code block)
Submission Handling
Create Lead
By default, each form submission creates a new Lead record in SalesOS with fields mapped according to your configuration. The lead includes:
- All mapped field values
- Source information (form name, page URL, referrer)
- UTM parameters (if captured via hidden fields)
- Submission timestamp
- IP-based geolocation (country, region, city)
- Device and browser information
Update Existing Records
When a submission matches an existing record (matched by email address), you can configure the form to:
- Always create new — create a duplicate lead regardless of matches
- Update existing lead — overwrite mapped fields on the matched lead
- Update existing contact — update the matched contact record
- Create activity on match — log a form submission activity without modifying fields
- Smart merge — update only fields that are currently empty on the matched record
Deduplication Rules
Configure matching logic:
- Match on email (default)
- Match on email + company name
- Match on phone number
- Match on custom field (e.g., external ID)
- Match on domain (for account-level deduplication)
Field Mapping
Field mapping connects form fields to CRM record fields. The mapping interface shows:
| Form Field | CRM Object | CRM Field | Transform |
|---|---|---|---|
| Full Name | Lead | firstName + lastName | Auto-split on space |
| Work Email | Lead | Lowercase, trim | |
| Company | Lead | companyName | Title case |
| Phone | Lead | phone | Format to E.164 |
| Industry | Lead | industry | Map to picklist value |
| Message | Lead | description | None |
| UTM Source (hidden) | Lead | source | None |
| UTM Campaign (hidden) | Lead | campaign | None |
Transform Functions
Apply transformations during mapping:
- Lowercase — normalize email addresses
- Title case — capitalize company and contact names
- Phone format — convert to international format
- Name split — split "Full Name" into first and last
- Value mapping — map form option labels to CRM picklist values
- Concatenation — combine multiple form fields into one CRM field
- Date format — convert date formats between systems
Validation Rules
Built-In Validation
- Required fields — prevent submission with empty required fields
- Email format — validate standard email format ([email protected])
- Phone format — validate phone number structure
- URL format — ensure valid URL with protocol
- Number range — enforce minimum and maximum values
- Character limits — set min/max character count for text fields
- File size — limit upload file size (default: 10MB)
- File type — restrict uploads to specific extensions (pdf, doc, png, etc.)
Custom Validation
Create custom validation rules using:
- Regex patterns — validate against any regular expression
- Domain allowlist/blocklist — accept only corporate emails, block free providers (gmail, yahoo)
- Country restrictions — limit submissions to specific countries
- Honeypot fields — invisible fields that catch bot submissions
- Submission rate limiting — maximum submissions per IP per time window
CAPTCHA
Enable CAPTCHA to prevent automated spam submissions:
- reCAPTCHA v2 — checkbox "I'm not a robot"
- reCAPTCHA v3 — invisible scoring (no user interaction)
- hCaptcha — privacy-focused alternative
- Custom challenge — simple math or logic question
Auto-Assignment
Route new leads to the right rep automatically based on form submission data:
Assignment Rules
| Rule Type | Example |
|---|---|
| Round-robin | Distribute equally among team members |
| Geographic | Route by country or region field |
| Company size | Route enterprise leads to senior reps |
| Industry | Route healthcare leads to vertical specialist |
| Product interest | Route by selected product/service |
| Named account | Route to existing account owner if company matches |
| Capacity-based | Route to rep with fewest open leads |
| Score-based | Route high-score leads to top performers |
Assignment Workflow
- Submission received and lead created
- Assignment rules evaluated in priority order
- First matching rule determines assignee
- Lead assigned to rep (or queue if rep unavailable)
- Assignment notification sent to rep
- SLA clock starts for response time tracking
Confirmation Actions
Configure what happens after a successful submission:
Thank You Page
Display an inline thank you message that replaces the form. Customize the heading, body text, and include additional CTAs (download link, calendar booking, social links).
Redirect
Send the visitor to a specific URL after submission. Useful for:
- Dedicated thank you pages with conversion tracking pixels
- Gated content download pages
- Calendar booking links (Calendly, SalesOS Smart Scheduler)
- Next step in a multi-form workflow
Autoresponder Email
Automatically send a confirmation email to the submitter:
- Customizable subject line and body
- Merge fields from the submission (name, company)
- Attach documents (whitepapers, guides)
- Include calendar links or meeting booking CTAs
- Delay option (send immediately or after N minutes)
Internal Notifications
Alert your team when a form is submitted:
- Email to the assigned rep
- Slack message to a channel or DM
- In-app notification
- SMS for high-value submissions (e.g., enterprise demo requests)
Webhook
Fire a webhook to external systems on submission:
- Push data to marketing automation platforms
- Trigger workflows in Zapier or Make
- Log events in analytics platforms
- Sync to external databases
Form Analytics
Track form performance in Marketing > Web Forms > Analytics:
Key Metrics
| Metric | Description |
|---|---|
| Views | Number of times the form was loaded/displayed |
| Starts | Visitors who interacted with at least one field |
| Submissions | Successfully completed submissions |
| Conversion Rate | Submissions / Views (percentage) |
| Drop-off Rate | Starts that did not complete (percentage) |
| Average Completion Time | Time from first interaction to submission |
| Error Rate | Submissions that triggered validation errors |
Field-Level Analytics
Identify problematic fields:
- Drop-off by field — which field causes the most abandonment
- Error by field — which field triggers the most validation errors
- Time per field — which fields take the longest to complete
- Skip rate — how often optional fields are left empty
Source Tracking
See where your form submissions originate:
- Page URL where the form is embedded
- Referrer (organic, paid, social, direct)
- UTM parameters
- Device type (desktop, mobile, tablet)
- Geographic region
A/B Testing
Test variations of your forms to optimize conversion rates:
What You Can Test
- Form length — short (3 fields) vs long (8 fields)
- Field order — email first vs name first
- Button text — "Submit" vs "Get Started" vs "Download Now"
- Layout — single column vs two column
- Design — minimal vs bold theme
- CAPTCHA — with vs without (measuring spam vs conversion trade-off)
- Progressive profiling — all fields at once vs revealed over multiple visits
Running a Test
- Select an existing form and click Create Variant
- Modify the variant (change fields, styling, copy)
- Set traffic split (50/50 by default, adjustable)
- Define the success metric (submission rate, qualified lead rate)
- Set minimum sample size and test duration
- Launch the test
Interpreting Results
The A/B test dashboard shows:
- Conversion rate per variant with confidence interval
- Statistical significance indicator (requires 95% confidence)
- Projected annual impact (additional leads if winner is deployed)
- Recommendation to declare winner or continue testing
Multi-Step Forms
For longer qualification flows, break forms into multiple steps:
- Each step shows a subset of fields with a progress indicator
- Partial submissions are saved so you capture data even if the visitor abandons
- Conditional logic can skip steps based on previous answers
- Back navigation allows visitors to review and edit earlier steps
Best Practices
- Keep forms as short as possible. Every additional field reduces conversion rate. Ask only what you need to route and qualify the lead; enrich the rest later.
- Put the lowest-friction field first. Starting with email or first name creates momentum; starting with "budget" or "phone" creates hesitation.
- Use hidden fields for tracking. Capture UTM parameters, page URL, and campaign IDs in hidden fields so you never lose attribution context.
- Block free email providers for B2B. If you sell to businesses, require corporate email addresses to reduce unqualified submissions.
- Enable progressive profiling for return visitors. Do not ask for information you already have. Show new questions to build a richer profile over time.
- Test your forms on mobile. Over 40% of form submissions happen on mobile devices. Verify that your form is usable on small screens.
- Set up autoresponders. Immediate acknowledgment builds trust and sets expectations for next steps. Even a simple "we received your request" improves the experience.
- Monitor field-level analytics monthly. If a specific field has a high drop-off rate, consider making it optional, rewording the label, or removing it entirely.
- Use conditional logic to personalize. Show relevant follow-up questions based on earlier answers. A prospect who selects "Enterprise" should see different fields than one who selects "Startup."
- Implement CAPTCHA thoughtfully. Invisible reCAPTCHA v3 provides protection without adding friction. Reserve visible challenges for forms that experience heavy spam.
- Run A/B tests continuously. Even small improvements in conversion rate compound over time. Always have at least one form test running.
- Align confirmation actions with intent. A demo request form should redirect to a calendar booking page; a whitepaper download form should deliver the PDF immediately.