Why are the UTM fields blank on my Salesforce leads from Google and LinkedIn ads, and how do I capture them?
Usually because nothing copies the UTMs from the landing page URL into the lead, and Google Ads auto-tagging adds a gclid, not UTMs. Salesforce has no UTM fields, so you need custom fields, hidden form fields filled from the URL, and mapping through to the contact. Add Google UTMs in the Final URL suffix. LinkedIn Lead Gen Form leads never visit your site, so use hidden fields with dynamic values. Iframed forms, visitors who browse to another page before the form, and unmapped Account Engagement fields also leave them blank.
Ask Tofu next
Pick a question and Tofu Ads Agent answers it in chat.
- How do I keep both first-touch and last-touch UTMs on a Salesforce lead?
- What UTM naming should I use for LinkedIn and Google ads so Salesforce reports stay clean?
- Audit the conversion tracking on my Google Ads account
- Why don't my Google Ads conversions match the leads in Salesforce?
- Which of my LinkedIn campaigns brought the most Salesforce leads last month?
As of October 2026.
Does Salesforce have UTM fields?
No. The standard Lead object has a Lead Source picklist ("the origin or source of the lead") but no UTM fields, so blank UTM fields are custom fields that something failed to fill. Create a text field on Lead for each value you want (source, medium, campaign, content, term), plus matching fields on Contact and, if you want them on deals, Opportunity. Decide whether each field keeps the first value or the latest one. One field can't do both.
Why are UTM fields blank on leads from Google Ads?
Because Google Ads auto-tagging adds a gclid parameter to the click, not UTM parameters, and it's on by default for new accounts. Add UTMs yourself in the Final URL suffix, which you can set for the whole account or for a campaign, ad group or ad, for example utm_source=google&utm_medium=cpc&utm_campaign=brand-search. Keep auto-tagging on. Google says GA4 gives auto-tagging priority over UTMs, so this won't change how GA4 credits Google Ads. Save the gclid in its own hidden field too: you need it for offline conversion imports. If your site redirects, Google says the gclid has to reach the final landing page, and the same goes for your UTMs.
Why are UTM fields blank on leads from LinkedIn ads?
Because LinkedIn adds only the parameters you set. In Campaign Manager, add URL tracking parameters: static ones at the account, campaign or ad level, and dynamic ones at the account or campaign level, such as utm_campaign={{CAMPAIGN_NAME}}. Since October 2025 the dynamic values are ACCOUNT_ID, ACCOUNT_NAME, CAMPAIGN_ID, CAMPAIGN_NAME, AD_SET_ID, AD_SET_NAME, AD_ID and AD_NAME. They don't replace parameters already in your destination URL.
Why are UTM fields blank on LinkedIn Lead Gen Form leads?
Because the person fills in the form on LinkedIn and never lands on your site, so there's no URL to read. Add hidden fields to the form (up to 20), with static values such as linkedin for the source, or dynamic values such as CAMPAIGN_NAME and AD_NAME. You can't add hidden fields to a form that's attached to an active ad set, so duplicate the form, add them to the copy, and swap it in. Then map each hidden field to its Salesforce UTM field in whatever syncs your leads, and check a fresh lead. The sync options are in How do I automatically send LinkedIn Lead Gen Form leads to HubSpot or Salesforce?
How do I capture UTMs from a website form?
Add a hidden field for each UTM to the form, and fill it from the page URL with a short script or your form tool's URL prefill. The catch is that UTMs live only in the URL of the page the ad opened. As Terminus, a UTM tracking vendor, puts it: "Parameters exist in the URL for exactly one page view." If the visitor clicks through to your pricing page before filling in the form, the values are gone unless a script saved them in a first-party cookie on the first page. Terminus also notes that if you load the script only after cookie consent, as it advises in the EU and UK, visitors who decline arrive with empty fields, which is expected.
Why are UTMs blank when my form is in an iframe?
An iframed form loads from its own URL, so it can't see the parameters on the page around it. Account Engagement forms embedded on your site load in an iframe (Salesforce's setup guide has you allow iframed assets on your tracker domain for this), and Terminus notes that cookies set on your site can't be read inside an iframe on another domain unless they're set with SameSite=None; Secure. The fix Terminus recommends is an Account Engagement form handler: you write the form HTML on your own page, so your script can fill the UTM fields directly.
Why does Account Engagement only keep the first UTM source?
Its Google Analytics fields hold the visit that first brought the prospect to your site, not the channel that turned the prospect into a lead, according to Medix, a Japanese B2B marketing agency, writing in February 2025. So a prospect who first came from organic search and later converted from a LinkedIn ad keeps the organic values. For the latest touch, create your own custom UTM prospect fields that your forms update on every submission. Campaigns work the same way: Campaign Member Sync puts a prospect in the Salesforce campaign of its first touch (with the status Connected), and Salesforce says to add members after that with completion actions.
Why do the UTM values disappear when a lead is converted?
Because Salesforce copies custom lead fields to the contact, account or opportunity only if your admin maps them. In Setup, go to Object Manager > Lead > Fields & Relationships, click Map Lead Fields, and map each UTM field to its contact field (and to opportunity fields, if you made them). Terminus warns that unmapped UTM fields are simply lost at conversion.
Why don't my Account Engagement UTM fields show up in Salesforce?
Custom prospect fields sync only when they're mapped to a Salesforce field. Create the Salesforce lead and contact fields first, then map them in Account Engagement under Admin > Configure Fields > Prospect Fields (in the Lightning app: Account Engagement Settings > Object and Field Configuration > Prospect Fields). To map one prospect field to both lead and contact, the two Salesforce fields need the same API name. Mapping doesn't start a sync on its own, so a record updates the next time it syncs. Also check that the version 2 Salesforce connector isn't still paused (it's created paused) and that the fields are on your lead and contact page layouts.
How do I test the whole chain?
Open your landing page with test UTMs in the URL, click to a second page, then submit the form. Check the lead, convert it, and check the contact and the opportunity. Then repeat from a live Google ad, a LinkedIn ad and a Lead Gen Form submission. If a value is missing, the step just before it is the one that's broken.
Where Tofu fits
Tofu doesn't edit your forms, your Account Engagement setup or your Salesforce field mapping, so the fixes above are still yours to make. Its pipeline view writes dynamic UTMs back to Salesforce or HubSpot and shows account journeys from first impression to closed-won. On Google Search, it also includes a conversion tracking audit.
Sources
- Object Reference for the Salesforce Platform, Winter '27: Lead (Salesforce Developers), checked October 30, 2026
- Metadata API Developer Guide, Winter '27: LeadConvertSettings (Salesforce Developers), checked October 30, 2026
- Account Engagement Setup Implementation Guide, Winter '27 (Salesforce), checked October 30, 2026
- Connected Campaigns Implementation Guide, Winter '27 (Salesforce), checked October 30, 2026
- About auto-tagging (Google Ads Help), checked October 30, 2026
- Add a Final URL suffix (Google Ads Help), checked October 30, 2026
- URL tracking parameters in Campaign Manager (LinkedIn Help), checked October 30, 2026
- Lead Gen Form hidden fields (LinkedIn Help), checked October 30, 2026
- Permissions for Lead Gen Forms (LinkedIn Help), checked October 30, 2026
- Salesforce UTM Capture and Lead Source Attribution (Terminus blog, updated September 16, 2026), checked October 30, 2026
- Measuring B2B ad cost-effectiveness with Account Engagement and Google Analytics (Medix, in Japanese, February 26, 2025), checked October 30, 2026