Salesforce integration

Lead source in Salesforce.

Stop guessing in the Lead Source field. Capture the real campaign on every Web-to-Lead.

Works with Web-to-Lead and MCAE/Pardot No Apex, no custom fields required Source survives Lead-to-Contact conversion

Works across Salesforce’s form ecosystem

Web-to-Lead forms MCAE/Pardot landing pages Experience Cloud forms Embedded on your site Lightning & Classic UI Sales & Service Cloud
The gap

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.

What Salesforce gives you

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
What it leaves to you

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
The usual workaround

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

  • 01
    Create custom fields for utm_source__c, utm_medium__c, utm_campaign__c, utm_content__c, utm_term__c on the Lead object. Then again on Contact. Then again on Opportunity.
  • 02
    Modify every Web-to-Lead form’s generated HTML to include hidden fields mapped to those custom fields. Re-generate every time the form changes.
  • 03
    Build 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.
  • 04
    Configure field mapping for Lead conversion. Salesforce doesn’t carry custom fields across conversion automatically. Audit the mapping every release.

With Lead Source

  • 01
    Script tag on the site where your Web-to-Lead forms are embedded. Captures source independently of Salesforce.
  • 02
    For MCAE/Pardot landing pages or Experience Cloud forms, paste one webhook URL into your form completion action.
  • 03
    Source recorded with the campaign name written out: “Google Ads · Local Services Sydney”. Available in your Lead Source dashboard alongside Salesforce’s native data.
  • 04
    Optionally: 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.

What you install

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.

example only · for Web-to-Lead forms (embedded on your site)
<!-- 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.

example only · for MCAE/Pardot & Experience Cloud forms
# 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.

Install with Salesforce

Three steps. Done in five minutes.

1

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.

No credit card required to start. Use whichever install path matches your setup, or use both at once if you have a mix.
2

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.

Got a mix? Install both. Lead Source de-duplicates submissions automatically. You won’t get two records for the same Lead.
3

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.

Want to compare? Open the same Lead in Salesforce. Where the Lead Source field shows the picklist default and Lead Source shows the actual campaign, you’ve just identified an attribution gap to close.
Common questions

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&rsquo;s standard Lead Source field. No Apex, no custom fields wired up across three objects, no rep training. When your picklist shows &ldquo;Web&rdquo;, we show the actual campaign.

Start free

Free to start &middot; no card