Field Mapping & Data Transformations
Field Mapping lets you control exactly how your lead data appears in webhook payloads. You can rename fields, exclude fields, change data types, and map individual option values to match what your CRM or lead buyer expects. Each webhook has its own independent field mapping, so you can send different data to different systems from the same funnel.
Where to Find Field Mapping
- Open your funnel in the builder.
- Go to the Lead Delivery tab.
- Click on your webhook to expand its settings.
- Scroll to the Field Mapping section.
The field mapping section shows two groups: System Fields (at the top) and Form Fields (below). Both are configurable per webhook.
Customizing System Field Names
System fields are metadata that LeadCapture includes automatically (lead ID, IP address, page URL, etc.). You can rename these to match your CRM's expected field names.
| System Field | Default Name | Example Custom Name |
|---|---|---|
| Lead ID | lead_id |
lc_lead_id |
| Page URL | parent_url |
source_url |
| IP Address | ip_address |
visitor_ip |
| User Agent | user_agent |
browser_info |
| Partial Lead | is_partial_lead |
incomplete_submission |
Each webhook maintains its own system field names. Changing names on one webhook does not affect others.
Customizing Form Field Names
For each form field, you can configure:
- Include/Exclude: Toggle whether the field is sent in this webhook's payload.
- Webhook Key: Override the auto-generated field name with a custom key. For example, rename
first_nametofname. - Data Type: Cast the value as
string(default),integer, orfloat. This is useful when your CRM expects numeric values.
Field Name Resolution
LeadCapture resolves the webhook field name in this priority order:
- Integration-level override (set in Field Mapping) - highest priority
- Field-level default (auto-generated from the field label, in snake_case)
- Sanitized label - fallback if no other name is set
Option Value Mapping
For button groups and dropdown fields, you can map individual option values per webhook. This is useful when your CRM expects numeric codes instead of text labels.
For example, a "Coverage Type" button group with options "Term Life", "Whole Life", and "Final Expense" could be mapped to:
| Option Label | Default Value Sent | Mapped Value |
|---|---|---|
| Term Life | Term Life | 1 |
| Whole Life | Whole Life | 2 |
| Final Expense | Final Expense | 3 |
To configure option mapping, expand a button or dropdown field in the Field Mapping section and set custom values for each option.
Data Type Conversions
The Data Type setting lets you cast field values to a specific type before sending:
| Data Type | Input | Output |
|---|---|---|
| String (default) | 42 |
"42" |
| Integer | "42" |
42 |
| Float | "3.14" |
3.14 |
Date Field Formatting
Date fields can be formatted in several ways depending on what your endpoint expects:
| Format | Example Output |
|---|---|
| ISO (default) | 2024-01-15 |
| US | 01/15/2024 |
| EU | 15/01/2024 |
| Unix timestamp | 1705276800 |
State Field Formatting
State/province dropdown fields support different output formats:
| Format | Example Output |
|---|---|
| Full (default) | California |
| Abbreviated | CA |
| Both | California (CA) |
Multi-Select Separators
If a field allows multiple selections, you can choose how the values are separated in the payload:
| Format | Example Output |
|---|---|
| Array | ["Option A", "Option B"] |
| Comma | Option A, Option B |
| Semicolon | Option A; Option B |
| Pipe | Option A|Option B |
Special Field Types
| Field Type | Mapping Behavior |
|---|---|
| Address Autocomplete | Sub-fields (street, city, state, postal code, country) each appear as separate mappable rows |
| Property Enrichment | Enabled property data fields each have their own webhook key |
| Hidden (Hardcoded) | Appears as "Hidden: {label}" with a fixed value and a mappable key |
| Hidden (UTM) | Appears as "UTM: {parameter}" and captures the URL parameter value |
| Consent Blocks | Each consent block has its own webhook key for the consent text |
Pro Tips
- Use the Exclude toggle to remove sensitive fields from specific webhooks while still sending them to others.
- Option value mapping is per webhook, so you can send text labels to one CRM and numeric codes to another.
- If your lead buyer requires zip code as an integer, set the Data Type to
integerfor that field. - Always test your webhook after changing field mappings to verify the payload matches expectations.