Concepts
Field Types
The different types of fields in SuperFunnel — form fields, computed fields, hidden fields, and more.
Overview
Fields are how forms collect, calculate and store data. Understanding the different field types helps you build more powerful assets and integrations. You can ask your agent to create fields, modify them, or set up complex logic around them.
Form Fields
Form fields are the basic fields visible to your visitors, i.e. what they fill out. It may include text inputs, email fields, phone numbers, dropdowns, checkboxes, and more.
Data path: data.form.{field_name}.value
When to use:
- Collecting contact information (name, email, phone)
- Gathering preferences (industry, company size, budget)
- Capturing quiz or form responses
- Any data the visitor directly enters
Example: A "Company Name" form field is accessed in mappings as data.form.company_name.value.
Computed Fields
Computed fields are calculated or derived fields created by the agent based on form answers or other data. They don't appear as input fields; instead, they're calculated dynamically.
Data path: data.form.{field_name}.value (same as form fields)
Common use cases:
Scoring — Calculate a lead score based on answers:
- "Create a health score: 10 points for enterprise company, 5 points for team size > 50, 3 points for budget > $100k"
- "Sum up the answers to the qualification questions and store as lead_score"
Categorization — Map or group responses:
- "Map these traffic sources to 'Paid Social': Facebook, Instagram, LinkedIn, TikTok"
- "Map enterprise, mid-market, and SMB to tiers: enterprise=1, mid-market=2, smb=3"
Data transformation — Convert or combine data:
- "Combine first_name and last_name into full_name"
- "Convert the selected date to ISO 8601 format"
- "Extract the domain from the email address"
Risk assessment — Flag or qualify leads:
- "If budget < $50k and company_size < 10, mark as low_priority"
- "Create a 'qualified' flag: true if all these conditions are met..."
Prompting the agent to create computed fields:
Simply ask your agent to create the field in natural language:
- "Create a field called 'health_score' that sums the numeric answers to questions 2, 4, and 6"
- "Add a computed field that maps these traffic sources to 'Paid Social': Facebook, Instagram, LinkedIn, TikTok"
- "Create a field called 'qualified_lead' that is true if budget > $100k and company_size >= 50"
The agent will set up the field and the calculation logic for you.
Hidden Fields
Hidden fields store data that the visitor doesn't see or interact with, but that gets captured and sent downstream. They're populated via:
- URL query parameters
- Local or session storage
- API lookups (via API validation steps)
- Computed logic
Data path: data.form.{field_name}.value
Common use cases:
- Store UTM parameters or referral source
- Store session IDs or tracking data
- Capture geolocation or device info
- Store results from API lookups (address validation, IP geolocation, CRM lookup)
Example: A hidden field called traffic_source might be populated from data.queryParams.utm_source, so if the visitor arrives via ?utm_source=google_ads, the hidden field captures "google_ads" without the visitor seeing it.
System Fields
System fields are automatically captured by SuperFunnel and are always available in payloads:
sessionHash— Unique identifier for this visitor's sessionvisitHash— Unique identifier for this page visitaccountId— Your SuperFunnel account IDcampaignId— The page or quiz IDvariantId— The specific variant showncreatedAt— Timestamp of submissionip— Visitor's IP addressurl— The full URL the visitor was onqueryParams— All URL query parameters
These are useful for tracking, reconciliation, and linking records across systems.
Field Mapping for Integrations
When you send data to HubSpot, Zapier, webhooks, or other integrations, you map SuperFunnel fields to the destination system's fields.
All field types (form, computed, hidden) use the same path in mappings:
data.form.{field_name}.valueQuery parameters use:
data.queryParams.{parameter_name}See Field Mapping for detailed examples and how to use these paths in your integrations.