RevOps

Why Your Salesforce Reports Don't Match Pardot (And How to Fix Attribution)

Brett Thompson
7 min read

Two dashboards, two truths, zero trust

It's the most common reporting complaint in B2B: marketing presents campaign results from Marketing Cloud Account Engagement (Pardot), sales pulls up Salesforce, and the numbers don't match. Not even close, sometimes. Cue the quarterly argument about whose dashboard is "right."

Here's the uncomfortable answer: they're usually both right. They're just answering different questions — and until you understand which questions, no amount of dashboard rebuilding will make them agree.

The five real reasons the numbers diverge

1. Different objects, different counts. Account Engagement counts prospects. Salesforce counts leads and contacts — and only the ones that sync. Unmailable prospects, records stuck in sync errors, and prospects that never met your sync criteria exist in one system but not the other. If the two systems don't contain the same records, no report built on top of them can match.

2. Different attribution models. Out of the box, Account Engagement leans first-touch: the campaign that originally created the prospect gets credit — forever. Salesforce campaign influence, depending on configuration, may credit the most recent campaign, evenly split credit, or only count campaigns attached to opportunity contact roles. Same deal, different winner. Neither is wrong; they're different models answering "what started this relationship?" versus "what influenced this deal?"

3. Campaign membership is incomplete. Salesforce campaign influence only works when contacts are actually added to campaigns — and added with the right member status. If webinar attendees never get campaign membership, or your UTM data never becomes campaign assignment, Salesforce sees a deal with no marketing touch at all. Marketing did the work; the data just never recorded it.

4. Opportunity contact roles are empty. The quiet killer. Salesforce ties marketing influence to opportunities through contact roles — and most sales teams don't fill them in. No contact role, no attribution, regardless of how much nurturing preceded the deal. This one line item explains a shocking share of "marketing shows zero influence" reports.

5. Date semantics. Account Engagement reports on activity dates (when the email sent, when the form submitted). Salesforce reports on record dates (created date, close date). A January campaign that sources a deal closing in June appears in different periods depending on which system you ask. Quarter-boundary deals make this look like missing data when it's just calendar math.

How to fix it: one funnel, agreed definitions

The goal is not making two systems show identical numbers — that's structurally impossible. The goal is one agreed report for each question, built where the data is strongest.

Step 1: Fix the plumbing first. Sync errors, duplicates, and unmapped fields make everything downstream unfixable. Clear the sync error queue before touching a dashboard.

Step 2: Make campaign membership automatic. Completion actions and automation rules should add prospects to the right Salesforce campaigns with the right status — no manual steps. Manual campaign hygiene always decays.

Step 3: Enforce opportunity contact roles. A validation rule or flow requiring at least one contact role on opportunities past an early stage transforms attribution quality overnight. Sales grumbles for two weeks; the data improves for years.

Step 4: Pick your attribution model on purpose. First-touch for "what generates new demand," influence-based for "what moves deals." Document the choice, configure both systems to match it, and stop comparing reports built on different models.

Step 5: Declare one home per question. Campaign engagement (opens, clicks, form fills) lives in Account Engagement. Pipeline and revenue attribution live in Salesforce. Publish the funnel from one place. When someone asks "which report is right," the answer should be a link, not a debate.

The payoff

When this is set up correctly, the quarterly argument disappears — and something better replaces it: marketing can finally see which campaigns produce revenue rather than clicks, and budget conversations get dramatically shorter. That visibility is the whole point of running both platforms, and it's the thing most implementations never finish wiring up. (Getting sales and marketing onto one funnel is core RevOps work — arguably the core RevOps work.)

If your Salesforce and Pardot numbers have never agreed and nobody can explain why, the diagnosis is faster than you'd think — the five causes above cover nearly every case we've audited. Attribution setup is a named service in our Account Engagement retainer ("finally make Salesforce and MCAE agree" — it's been on our site since day one). Let's talk.

Brett Thompson

Founder of Thompson Technology. Salesforce and Account Engagement consultant for B2B companies.

Need help with this topic?

Let's Talk