How do I set up Salesforce Campaign Influence so my LinkedIn and Google ads get credit for pipeline?
TofuAnswer by the Tofu team · checked
Turn on Customizable Campaign Influence in Setup, then add everyone your LinkedIn and Google ads bring in to an active Salesforce campaign. Salesforce's influence models credit only campaign members who are also a contact role on an open opportunity, so ad leads must be converted and added to the deal. The default Primary Campaign Source model gives 100% to one campaign. Account Engagement users can add first-touch, last-touch and even-distribution models, and anyone can build custom ones. People who only saw an ad never reach Salesforce, so those views get no credit.
Ask Tofu next
Pick a question and Tofu Ads Agent answers it in chat.
- Should I use first-touch or even-distribution campaign influence for paid ads?
- How do I get LinkedIn Lead Gen Form leads into a Salesforce campaign automatically?
- Show the account journey from first ad impression to closed-won for my biggest deals this quarter
- Which of my LinkedIn campaigns touched the most open pipeline last quarter?
- Add UTM tracking parameters to all my LinkedIn campaigns
As of October 2026.
Before you start
- The right edition. Customizable Campaign Influence works in Professional, Enterprise, Performance, Unlimited and Developer Editions, in Lightning Experience. Salesforce turns it on by default for new users: if Setup shows a Model Settings page when you search for campaign influence, you already have it. The older Campaign Influence 1.0 works only in Salesforce Classic.
- Permissions. To turn it on, you need Customize Application and a Sales Cloud User, Service Cloud User or CRM User permission set license. To see influence records, users need the Campaign Influence permission set, Read on campaigns and opportunities, and Marketing User checked on their user record.
- If you use Account Engagement (Pardot): Salesforce recommends turning on Connected Campaigns first.
Step 1: Create a Salesforce campaign for each ad campaign
Create one Salesforce campaign for each LinkedIn or Google campaign, or one per channel if channel-level credit is enough. Tick Active: influence models only scan active campaigns. Set the campaign Type to a value you can filter on later, such as Paid Social or Paid Search, and give it a name your UTMs or hidden fields can match.
Step 2: Add the people your ads bring in as campaign members
The influence models only look at campaign members, so a LinkedIn or Google lead that never joins a campaign gives that campaign nothing.
| Where the lead comes from | How you know which ad | How it joins the campaign |
|---|---|---|
| LinkedIn Lead Gen Forms | Hidden fields with dynamic values such as CAMPAIGN_NAME or AD_SET_NAME (up to 20 per form) | Your sync creates the lead, then a flow or Zapier's Add Lead to Campaign action adds the member |
| LinkedIn ads that click through to your site | URL tracking parameters in Campaign Manager, such as utm_campaign={{CAMPAIGN_NAME}} | Hidden form fields save the UTMs on the lead, then a flow adds the member |
| Google Search ads that click through to your site | UTMs you add in the Final URL suffix (auto-tagging adds only a gclid) | Same as above |
| Google lead form assets | The webhook sends campaign_id and gcl_id with each lead | Your webhook handler or Zapier creates the lead and adds the member |
| Account Engagement forms | The prospect's Account Engagement campaign | Campaign Member Sync adds the first-touch campaign; add a completion action for later campaigns |
A record-triggered flow that creates a campaign member when a lead's UTM campaign field matches a Salesforce campaign covers most website traffic. Two LinkedIn limits: you can't add hidden fields to a form that's attached to an active ad set (duplicate the form instead), and dynamic URL parameters can be set only at the account or campaign level.
For the sync itself, see How do I automatically send LinkedIn Lead Gen Form leads to HubSpot or Salesforce?
Step 3: Turn on Customizable Campaign Influence
- From Setup, enter Influence in the Quick Find box and click Campaign Influence Settings.
- Under Campaign Influence, select Enabled.
- If you use Account Engagement, choose whether to enable Additional Campaign Influence Models (see Step 5). With these on, auto-association rules support standard fields only.
Step 4: Set the auto-association rules
Open Auto-Association Settings. Set a time frame so old campaign touches stop counting, and add criteria such as campaign Type so only the campaigns you mean get credit. The same settings apply to every model.
Step 5: Pick the model that gives ads fair credit
| Model | How it splits credit | Who can use it |
|---|---|---|
| Primary Campaign Source (default) | 100% to the campaign in the opportunity's Primary Campaign Source field | Everyone. Records are automatic, and nobody can add them by hand |
| First Touch | 100% to the first campaign the prospect touched (based on the campaign member's Created Date) | Account Engagement users |
| Last Touch | 100% to the last campaign before the deal closed (based on the campaign member's Last Modified Date) | Account Engagement users |
| Even Distribution | An equal share to every campaign the prospect touched | Account Engagement users |
| Custom | Whatever reps enter, or what your Apex triggers or the API write | Professional and Enterprise: 3 custom models. Performance and Unlimited: 5. Account Engagement Growth: 3. Plus, Advanced and Premium: 5. Developer: 1 |
With Primary Campaign Source, ads get credit only when an ad campaign is in that one field on the deal. If buyers also touch events, email and sales campaigns, a model that splits credit shows the ads' share more fairly. To build a custom model, from Setup enter Influence, click Model Settings, then New Attribution Model. A locked model accepts records from the API only. Turning off one of the standard models deletes its influence records.
Step 6: Get ad contacts onto the opportunity as contact roles
A lead counts only after it's converted to a contact and that contact is added to the deal as a contact role. Make this part of how reps create opportunities: a deal with no contact roles gives no campaign any credit. Once an opportunity closes (won or lost), Salesforce stops creating influence records for it. Every campaign member counts, whatever their member status.
Step 7: Show the results and report on them
Add the related lists to your page layouts: Campaign Influence on opportunities, Influenced Opportunities on campaigns, and Campaign Influence on accounts (with charts of revenue share by campaign and by campaign type). Related lists show only the model marked Default Model, and only one model can be the default. For pipeline by campaign, run the standard report Campaigns with Influenced Opportunities (Customizable Campaign Influence): opportunity amount, stage and revenue share next to campaign details. Its Contact column shows primary campaign members only, and it can't use the Opportunity Contact Role object or cross filters. You can build your own reports for any active model.
Common problems
| Problem | Why it happens | Fix |
|---|---|---|
| Ad campaigns show no influenced opportunities | Ad leads never became campaign members, the person isn't a contact role on the deal, the deal had already closed, or the campaign isn't active | Add members (Step 2), add the contact role, check the dates, tick Active |
| The related list is empty or missing | It isn't on the layout, it shows a different default model, or the user lacks Marketing User or the Campaign Influence permission set | Add the list, set the default model, fix permissions |
| First-touch credit looks wrong for older prospects | A synced member's created date is the date it synced, not when the prospect was created in Account Engagement, and turning on Member Sync syncs existing prospects retroactively | Judge first touch on prospects created after Member Sync was on |
| People who only saw your ads get no credit | Salesforce only sees campaign members | Don't add everyone you target as members: every member counts, so you'd credit people who may never have seen an ad |
Where Tofu fits
Tofu doesn't change Campaign Influence settings or create campaign influence records. It connects to Salesforce or HubSpot and your ad accounts, reads your pipeline and your closed-won and closed-lost deals, writes dynamic UTMs back to the CRM, and shows account journeys from first impression through opportunity to closed-won. Those journeys start with ad impressions, which Campaign Influence can't see, while Campaign Influence stays your record in Salesforce.
Sources (11)
- Campaign Influence Implementation Guide, Winter '27 (Salesforce), checked October 30, 2026
- Connected Campaigns Implementation Guide, Winter '27 (Salesforce), checked October 30, 2026
- Object Reference for the Salesforce Platform, Winter '27: CampaignInfluence and CampaignInfluenceModel (Salesforce Developers), 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
- URL tracking parameters in Campaign Manager (LinkedIn Help), 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
- About lead form assets (Google Ads Help), checked October 30, 2026
- Implementation, Lead Form Webhook (Google for Developers), checked October 30, 2026
- Salesforce integrations (Zapier), checked October 30, 2026