Lead source in Salesforce.
Stop guessing in the Lead Source field. Capture the real campaign on every Web-to-Lead.
Works across Salesforce’s form ecosystem
Salesforce trusts you to populate Lead Source.
The Lead Source field is a picklist. The Web-to-Lead form generator produces HTML that maps form fields to Lead object properties. None of it captures source data automatically. Salesforce assumes you’ll wire that up. Most orgs don’t. The ones that do, do it differently every time.
The framework
- Standard Lead Source picklist
- Web-to-Lead form generator
- Custom fields for anything you need
- Lead conversion → Opportunity flow
- Reports on Lead Source breakdown
The data itself
- Which campaign actually drove the click
- Persisting UTMs across visitor navigation
- Normalising values across team data entry
- Pages they read before submitting
- Surviving Lead → Contact → Opportunity intact
Custom fields, Apex triggers, Flow rules. Pick three.
Salesforce has every hook you need to capture source, and gives you the whole job. Create the fields. Modify the Web-to-Lead HTML. Build the triggers. Carry the data through conversion. Maintain it as your org grows.
The manual way
- 01Create custom fields for
utm_source__c,utm_medium__c,utm_campaign__c,utm_content__c,utm_term__con the Lead object. Then again on Contact. Then again on Opportunity. - 02Modify every Web-to-Lead form’s generated HTML to include hidden fields mapped to those custom fields. Re-generate every time the form changes.
- 03Build a Flow or Apex trigger to populate the hidden fields from URL parameters before form submission. Test across Lightning & Classic, Experience Cloud, and embedded contexts.
- 04Configure field mapping for Lead conversion. Salesforce doesn’t carry custom fields across conversion automatically. Audit the mapping every release.
With Lead Source
- 01Script tag on the site where your Web-to-Lead forms are embedded. Captures source independently of Salesforce.
- 02For MCAE/Pardot landing pages or Experience Cloud forms, paste one webhook URL into your form completion action.
- 03Source recorded with the campaign name written out: “Google Ads · Local Services Sydney”. Available in your Lead Source dashboard alongside Salesforce’s native data.
- 04Optionally: push to a single custom field on Lead via outbound webhook. We supply the data, you map it once. No per-field plumbing.
// Salesforce gives you the framework. The data is your job. We can be that job.
Two install paths. Pick the one that matches your forms.
Sign up to get both a script tag and a webhook URL. Use the script for Web-to-Lead forms embedded on your site. Use the webhook for Salesforce-hosted forms. MCAE/Pardot landing pages, Experience Cloud, or any form that submits server-side without a page you control.
<!-- illustrative. Paste your real snippet from app.leadsource.co --> <script src="https://leadsource.co/s/[your-site-id].js" async></script>
Add this anywhere in your site’s <head>. Same domain as your Web-to-Lead form. Detects the standard Web-to-Lead submission event automatically.
# illustrative. Paste your real webhook URL from app.leadsource.co https://hooks.leadsource.co/[your-account-id]
Add this as a completion action / external system callout in your Pardot form or Experience Cloud flow. Receives every submission with source, campaign, and page journey attached.
Three steps. Done in five minutes.
Sign up. Get both your snippet and your webhook URL
Create your free Lead Source account. Your dashboard shows both: a script tag for sites you control, and a webhook URL for receiving submissions from hosted forms.
Install the path that matches your forms
If your Web-to-Lead forms are embedded on your own site, paste the script into your <head>. If your forms are on Pardot landing pages or Experience Cloud sites, configure a completion action / external callout pointing at your Lead Source webhook URL.
Submit a test through any Salesforce form
Fill in a real Web-to-Lead or Pardot form. Submit. Within a minute or two, the Lead appears in your Lead Source dashboard with the source, campaign, and full page journey. Alongside whatever Salesforce records in the standard Lead Source picklist.
Questions, answered.
Will Lead Source conflict with Web-to-Lead?
No. Lead Source observes the submission event but doesn't modify the form, intercept the POST to Salesforce, or change any field values. Web-to-Lead keeps doing exactly what it does today, including creating the Lead record with whatever Lead Source value the picklist provides. We capture source data in parallel, in Lead Source.
Does it work with Pardot / Marketing Cloud Account Engagement (MCAE) forms?
Yes. Use the webhook install path. MCAE form completion actions support external system callouts; paste your Lead Source webhook URL there. We receive every form submission with source, campaign, and page journey attached. Works equally well with Pardot landing pages, Pardot-hosted forms, and forms embedded via iframe.
Will Lead Source overwrite the standard Lead Source field?
Not by default. Lead Source data lives in your Lead Source dashboard as the primary record. If you want to push it into Salesforce, we'll write to a custom field (e.g., Lead_Source_Detail__c). Never to the standard Lead Source picklist unless you explicitly enable that.
Can I push data to a custom Salesforce field?
Yes. From the Lead Source dashboard you can configure an outbound webhook that posts each new lead's source data to a Salesforce custom field via the REST API. Set it up once; we populate the field on every new submission going forward.
Does the source data survive Lead-to-Contact conversion?
If you map the custom field on conversion (Setup → Object Manager → Lead → Fields and Relationships → Map Lead Fields), yes. The Lead Source dashboard record always persists regardless, even if Salesforce loses the field value, your independent record stays intact in Lead Source.
Fix your Salesforce attribution. Free to start.
Lead Source runs alongside Salesforce’s standard Lead Source field. No Apex, no custom fields wired up across three objects, no rep training. When your picklist shows “Web”, we show the actual campaign.
Start freeFree to start · no card