# Paid media attribution for SaaS

> Measure paid in a long SaaS cycle: platform reported versus CRM sourced, self reported attribution questions, geo holdouts and lift tests at small budgets.

Source: https://saas-marketing.net/guides/paid-media-attribution-for-saas/
Topic: SaaS PPC and Paid Ads
Type: guide
Published: 2026-09-11
Last updated: 2026-09-11
Publisher: SaaS Marketing (saas-marketing.net)
License: CC BY 4.0. Quote or republish with attribution and a link to https://saas-marketing.net/guides/paid-media-attribution-for-saas/

## Short answer

Paid media attribution in B2B SaaS works best as four methods run together rather than one model. Use CRM sourced pipeline as the source of truth, add a self reported attribution question on every form, run geo or audience holdouts quarterly on your two largest channels, and add media mix modelling only once paid spend clears roughly $1M a year. Platform reported conversions typically exceed CRM sourced pipeline by 1.5x to 4x, so publish the gap ratio rather than arguing about it.

## Key takeaways

- Platform reported conversions typically exceed CRM sourced pipeline by 1.5x to 4x for structural reasons, not because someone broke tracking.
- A self reported attribution question costs an hour to add and catches the dark social and AI referral traffic no pixel sees.
- At small budgets, holdout tests can only detect large effects, so design them to answer whether a channel works at all.
- Detecting a 20 percent lift needs roughly 390 conversions per test arm, which is why you measure on leads rather than opportunities.
- Media mix modelling needs about 100 weeks of history and roughly $1M a year in spend before it beats a well run holdout.
- Report sourced and influenced pipeline as two separate numbers with stated windows, and never add them together.

---

Google Ads says you generated 340 conversions last month. Salesforce says paid created 94 records. Finance asks which number is real and the meeting goes badly for forty minutes.

Both numbers are real. They measure different things, and the gap between them is stable enough to be useful once you stop treating it as a bug. The useful work is not reconciling the two figures, which is impossible. It is choosing which number governs decisions, and then running a separate test that tells you whether any of it was incremental.

## Why platform reported conversions always exceed CRM sourced pipeline

They exceed it for four structural reasons, none of which is a broken pixel. Understanding the four is what stops the monthly argument.

Platforms count view through conversions. Somebody sees a LinkedIn ad, does not click, and converts nine days later through branded search. LinkedIn counts that. Your CRM records it as organic search and is not wrong to do so.

Platforms count cross device and modelled conversions. Google's data driven attribution fills gaps created by consent refusals, tracking prevention in Safari, and people who research on a phone and buy on a laptop. Those are estimates, correctly labelled as such in the documentation and read as facts by everybody in the meeting.

Every platform claims the same conversion independently. Run search, LinkedIn and retargeting on one buyer and all three will report the deal. Add the platform totals together and you get a number larger than your actual lead count, which is how teams end up reporting 140 percent of their own pipeline.

And a chunk of form fills never become CRM records at all. Duplicates merge, personal email domains get filtered, routing rules drop records without an account match, and test submissions get deleted. Ten to twenty percent shrinkage between form and CRM is common in a well run stack.

Stop trying to close the gap. Calculate it monthly per channel as platform conversions divided by CRM sourced records, and chart it. A stable ratio of 2.3 that moves to 3.8 in one month means something changed in tracking, consent, or routing. A stable ratio means your measurement is working even though the two numbers disagree.

## The four methods that actually work in B2B SaaS

Four methods survive contact with a 60 day sales cycle, a buying committee, and a marketing team of five. They answer different questions and cost wildly different amounts, so the decision is which combination you can afford to run.

The last row is the uncomfortable one because somebody in your company is probably evaluating one of those platforms right now. Multi touch models distribute credit according to rules a human chose. Change the rule from linear to time decay and LinkedIn's contribution moves 40 percent, with no change in the world. That is fine for trend reporting and useless for deciding whether to cut a channel. The trade-off is laid out properly in [multi touch attribution vs incrementality testing](/comparisons/multi-touch-attribution-vs-incrementality/).

My position: if you have $50,000 a year for measurement, spend $0 of it on an attribution platform, $5,000 on CRM and reporting work, and the rest on the withheld spend in two holdout tests. You will learn more.

## CRM sourced pipeline as the source of truth

Make one number governing and write down its definition in a place people can find. Sourced means the paid channel created a record where no prior known touch existed on that contact or account, judged at the moment of record creation.

**Setting up CRM sourced reporting so it survives an audit**

Step three is the one most teams skip and it silently breaks enterprise reporting. When a security engineer fills in your form after the VP saw a LinkedIn ad six weeks earlier, contact level first touch says organic and account level first touch says LinkedIn. Both facts are useful, and only one of them tells you where the demand came from.

## Self reported attribution: question wording that does not bias the answer

Add one required field to every form asking how the person heard about you, and use an open text box rather than a dropdown. A dropdown with Google in the first position gets clicked because it is in the first position.

Here is the question set I would ship, in this order, after the contact fields and before the submit button.

| Field | Type | Wording |
| --- | --- | --- |
| Discovery | Required, open text, 120 char limit | How did you first hear about us? |
| Trigger | Optional, open text | What made you look for a tool like this now? |
| Consideration | Optional, multi select, randomised order | Which of these did you look at while evaluating? |

The open text field is worth more than the other two combined and it is the one people fight you on, because it produces messy data that somebody has to categorise. Budget 45 minutes a month to bucket the responses by hand. That 45 minutes is the only place you will ever see the words a podcast, a Slack community, my old company used it, or ChatGPT recommended you.

Two warnings about reading the results. Roughly a third of respondents will say Google regardless of what actually happened, because Google is how they got to the final click and that is what they remember. And people under-report advertising systematically, partly because nobody enjoys admitting an ad worked on them.

A mid market analytics vendor found 8 percent of self reported responses named LinkedIn while LinkedIn's own reporting claimed 31 percent of conversions. The holdout test they ran afterwards landed at 14 percent incremental. Three instruments, three answers, and the truth sat between the two extremes. That is the normal shape of the result, and it is still far more useful than any single number.

## Geo holdout design, with the sample size maths for a small budget

A holdout turns a channel off in matched regions and compares outcomes. It is the only method that measures incrementality directly, and the reason most B2B teams avoid it is that the sample size maths are brutal and nobody wants to say so.

For count outcomes, the conversions you need in each arm is roughly 16 divided by the square of the relative lift you want to detect, at 80 percent power and 95 percent confidence. That single line explains everything about why B2B lift tests fail.

| Relative lift you want to detect | Conversions needed per arm | At 20 opportunities a month in the test arm | At 250 leads a month in the test arm |
| --- | --- | --- | --- |
| 10% | About 1,570 | Not feasible | 6 months, both arms |
| 20% | About 390 | 20 months | 1.6 months |
| 30% | About 175 | 9 months | 3 weeks |
| 50% | About 63 | 3 months | 8 days |
| 100% | About 16 | 1 month | 2 days |

Read across the opportunity column and the conclusion writes itself. You cannot measure a 20 percent channel improvement on opportunity counts inside a year. You can measure whether a channel does anything at all, because that is a large effect, and you can measure moderate effects if you run the test on leads or trial signups instead.

**A holdout design that works at $20,000 a month**

At budgets under roughly $15,000 a month per channel, geo splits fragment too far. Use an audience holdout instead: randomly assign 20 percent of your target account list to a suppression list and exclude them from the channel. Same logic, more statistical power, and it works well on LinkedIn and account based display where the audience is a list you control. The full design detail sits in the [incrementality testing playbook](/playbooks/incrementality-testing/) and the B2B specific constraints in [incrementality testing for B2B SaaS](/guides/incrementality-testing-b2b-saas/).

## Media mix modelling, and when it stops being premature

Media mix modelling regresses weekly outcomes against weekly spend by channel plus seasonality and external factors. It needs roughly 100 weeks of history, meaningful variation in spend by channel, and somewhere near $1M a year in total paid spend before the coefficients mean anything.

Below that threshold, the model has too few observations and too little variance to separate channels that always move together. If you have spent the same $12,000 a month on search and $9,000 on LinkedIn for two years, the model cannot tell them apart, and it will produce confident looking numbers anyway.

Two open source options remove the licence cost. Meta's Robyn and Google's Meridian are both credible, both free, and both need a competent data person for about a quarter to build, calibrate and validate. Calibrate against a holdout test if you have one, because a model that has never been checked against an experiment is a very expensive opinion.

The honest cost picture: a vendor engagement runs $60,000 to $250,000 a year, an in-house build costs a data scientist quarter plus ongoing maintenance, and both need somebody who can explain the output to a board without overclaiming. Most SaaS companies under $30M ARR should not be doing this, and the ones that do it well got there after two years of running holdouts first.

## Dark social and AI answer engines that send no referrer

A growing share of demand arrives with no measurable origin. Someone reads a post in a private Slack group, copies your URL into a browser, and lands as direct traffic. Someone asks Perplexity for tools in your category and clicks through, sometimes with a referrer and sometimes without. Someone hears your founder on a podcast and searches your brand name three weeks later.

Every one of those shows up in your analytics as direct or branded search. None of them is incremental to the paid channel that gets the credit, and none of them is invisible to a buyer who asks the person filling in your form what happened.

Three practical instruments. The self reported field catches the ones people remember. Branded search volume tracked weekly catches the aggregate effect of everything creating demand, which is why branded search growth is the best single proxy for demand creation you will get cheaply. And [brand lift](/glossary/brand-lift/) studies on the platforms that offer them measure recall directly, though the B2B panel sizes are usually too small to be reliable under about $100,000 in campaign spend.

What does not work: assuming direct traffic growth belongs to whichever channel you increased most recently. It might. It might also be a competitor's bad launch sending people looking for alternatives. Without a holdout, that sentence is a guess wearing a chart.

## A reporting standard that separates sourced from influenced

Publish three numbers monthly and never blend them. Sourced pipeline, using the frozen first touch rule. Influenced pipeline, using a stated window. And spend, so anyone can do their own division.

| Number | Definition | Typical relative size | What it is for |
| --- | --- | --- | --- |
| Sourced pipeline | Channel created the record with no prior known touch | Baseline, call it 1.0x | Channel budget decisions |
| Influenced pipeline | Channel touched the account within 90 days of opportunity creation | 2x to 5x sourced | Understanding the buying journey |
| Incremental pipeline | Measured difference from a holdout test | 0.3x to 0.9x sourced | Board reporting and the annual budget case |
| Platform reported conversions | What the ad platform claims | 1.5x to 4x CRM records | In-platform optimisation only |

Incremental sits below sourced, usually well below, and the first time you show that to a leadership team it lands badly. Say it anyway, and say it before someone else discovers it. A channel that is 60 percent incremental at $40,000 a month is a good channel, and the version of you that already published that number has enormous credibility when the next budget request comes up.

For the CRM plumbing and the reporting tools that make this legible, start with [PPC tools for SaaS teams](/guides/ppc-tools-for-saas/) and the wider treatment in [B2B SaaS marketing attribution](/guides/b2b-saas-attribution/). If your account itself is the problem, run the [SaaS PPC audit checklist](/checklists/saas-ppc-audit/) first, because no measurement method rescues a badly structured account.

## What to run this quarter

Add the self reported attribution field this week. It takes an hour, it costs nothing, and by the end of the quarter you will have data nobody else in your company has.

Then pick your largest paid channel and design one holdout for it, measured on leads rather than opportunities, running six weeks minimum. Put the end date in a calendar invite so nobody ends it early on a bad week. Size the withheld spend with the [SaaS PPC budget calculator](/calculators/saas-ppc-budget-calculator/), and read the result against the channel mechanics in [SaaS PPC and paid ads](/saas-ppc/). One honest holdout a quarter on your two biggest channels beats any model you can buy, and it costs less than the software licence.

## Frequently asked questions

### What attribution model should a B2B SaaS company use for paid media?

Use CRM sourced pipeline with a documented first touch rule as your reporting standard, then validate it with holdout tests on your largest channels. Multi touch models distribute credit using rules you invented, so they can tell you how a channel is trending but never whether it is incremental. The holdout answers the question the model cannot.

### Why do Google Ads and LinkedIn report more conversions than my CRM?

Four structural reasons. Both platforms count view through and cross device conversions your CRM never sees, both use long click windows, both claim the same conversion independently so totals double count, and modelled conversions fill gaps where consent or tracking prevention blocks measurement. A 1.5x to 4x gap is normal. Track the ratio over time instead of trying to close it.

### What is self reported attribution and does it work?

It is a question on your form asking how the person heard about you. It works as a directional instrument, not a precise one, because roughly a third of respondents name a search engine regardless of what actually influenced them. Its real value is surfacing podcasts, communities, newsletters, word of mouth and AI assistants that leave no referrer at all.

### How do you run a geo holdout test for B2B SaaS ads?

Split your market into matched regions on historical pipeline, turn the channel off in the control regions, and run for at least one full sales cycle plus four weeks. Measure on the highest volume event downstream of the ad, usually leads or trial signups, because opportunity counts are too small to reach a reliable read inside a quarter.

### When is media mix modelling worth it for a SaaS company?

Around $1M a year in paid spend and roughly two years of consistent weekly history. Below that the model has too few observations and too little spend variation to separate channels. Open source options like Meta's Robyn and Google's Meridian remove the licence cost but still need a data person for about a quarter to build and validate.

### How do you measure traffic from ChatGPT and Perplexity in paid reporting?

Mostly you cannot measure it with a pixel. Some assistants pass a referrer and many do not, and a link copied from a chat into a browser arrives as direct traffic. The practical instrument is the self reported attribution field plus a watch on direct and branded search volume, which tend to move with total demand creation rather than with any one campaign.

### What is the difference between marketing sourced and marketing influenced pipeline?

Sourced means the channel created the record where no prior known touch existed. Influenced means the channel appeared somewhere in a defined window before the opportunity was created, commonly 90 days. Sourced is smaller and defensible, influenced is larger and easy to inflate. Report both separately with the window stated, and never add them together.
