Lead source in Keap.
Keap’s Lead Source field is whatever your rep types. Capture the real source automatically instead.
Works with every Keap form.
Keap web forms, landing page forms, and forms embedded on external sites all work. Keap Pro, Max, and Ultimate. Including legacy Infusionsoft orgs. No campaign builder edits required.
Whatever your rep typed. If they typed anything.
Keap’s Lead Source field is a text field. It’s populated. If at all. By whoever’s working the lead. Result: years of free-text values that don’t reconcile with ad spend.
If you can’t trust the Lead Source field, you can’t use it for budget decisions. Lead Source captures it automatically. Same field, real data, every time.
One snippet on your site. Source written to Keap automatically.
- 01Lead Source captures the visitor’s real source, campaign, and page journey from the moment they land. UTMs, referrer, ad click ID, full session journey.
- 02When the visitor submits a Keap web form, Lead Source receives the form data, captures the source, and pushes the contact into Keap via the Keap API. With the Lead Source field populated with a clean, structured value.
- 03You can map the source into Keap’s built-in Lead Source field, a custom field, or both. We recommend the built-in field so existing reports and campaign automations keep working.
- 04Source data survives campaign workflows, tag changes, and rep edits. Because it’s written once at submission and stays unless your team explicitly changes it.
One line, before the closing </head>.
<script async src="https://cdn.leadsource.co/track.js" data-site-id="YOUR_SITE_ID" data-keap-app="YOUR_KEAP_APP_NAME"></script>
Set data-keap-app to your Keap app name (the subdomain on your Keap URL). Lead Source auto-detects Keap forms on the page and writes the source to your Keap contact at submission. No campaign builder edits.
Done in five minutes.
Add the snippet to your site
Paste the script tag above before the closing </head> on any page that has a Keap form. Site is built on Keap landing pages? Paste it in the page’s custom HTML block.
Connect Keap in your Lead Source dashboard
From Lead Source › Integrations › Keap, click Connect and authorise. We use Keap’s official OAuth flow. No API key paste-in. Pick whether to map source to the built-in Lead Source field, a custom field, or both.
Submit a test form
Open one of your Keap forms with a UTM in the URL (e.g. ?utm_source=google&utm_campaign=test) and submit. The new contact in Keap will have the Lead Source field populated with the real source.
Questions, answered.
Doesn't Keap already have a Lead Source field?
It has the field. It doesn't have a capture mechanism. The field is populated manually. Usually by whoever's working the lead, usually inconsistently, usually with values like "Web" or blank. Lead Source automates the capture so the field actually carries usable data.
Will this overwrite Lead Source values our reps have manually typed?
For existing contacts, no. We only write the source at submission for new form fills. For new leads going forward, you can choose to write to the built-in Lead Source field (overwriting any future manual entries) or to a separate custom field that runs in parallel with whatever your team types in.
Does this work with old Infusionsoft orgs?
Yes. The Keap API is the same underlying API as the legacy Infusionsoft REST API. We handle both. Orgs still on the Infusionsoft brand work without changes.
Will this break my existing Keap campaigns?
No. Lead Source writes the source to the contact record. Your existing campaign triggers, tags, and automations run unchanged. If you have a campaign that triggers off the Lead Source field value, it will start firing with cleaner, more specific values. Which is usually what people want.
Is the data secure?
Yes. Lead emails and phone numbers are encrypted at rest and in transit, with access tightly controlled. Aligned with GDPR, UK GDPR, and the Australian Privacy Principles. Privacy details.
See your real Keap lead sources.
Free. Five-minute install. No credit card.
Start freeFree to start · no card