Get the working resource ↓
SaaS PPC and Paid Ads Guide 9 min read

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.

On this page 9 sections
  1. Why platform reported conversions always exceed CRM sourced pipeline
  2. The four methods that actually work in B2B SaaS
  3. CRM sourced pipeline as the source of truth
  4. Self reported attribution: question wording that does not bias the answer
  5. Geo holdout design, with the sample size maths for a small budget
  6. Media mix modelling, and when it stops being premature
  7. Dark social and AI answer engines that send no referrer
  8. A reporting standard that separates sourced from influenced
  9. What to run this quarter
  10. Frequently asked questions

The 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 points before you start

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.

The ratio is the artefact worth keeping

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.

MethodCostEffortThe decision it can support
CRM sourced pipelineLow, mostly CRM admin timeMedium setup, low ongoingWhich channels keep their budget next quarter
Self reported attributionNear zeroOne hour to add, ongoing reviewWhich sources are invisible to your tracking
Geo or audience holdoutThe withheld spend, typically 10% to 20% of a channelHigh, needs design disciplineWhether a channel produces anything incremental
Media mix modelling$60,000 to $250,000, or a data scientist for a quarterVery highHow to split budget across the whole mix
Multi touch attribution platform$25,000 to $120,000 a yearMediumTrend reporting, and little the first two do not do cheaper
What each attribution method costs and what it can actually decide

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.

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.

Editable CSV worksheet

Get the benchmark evaluation worksheet

A worksheet for checking source dates, definitions and sample limitations before you use an industry benchmark.

We never sell your data. Your resource opens here after submission.

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

  1. Stamp first touch on the contact, permanently

    Write the first known channel, campaign and date to fields that no workflow may overwrite. Verified when you can pick a random contact from 2024 and still see the original values.

  2. Stamp last touch before opportunity creation separately

    A second set of fields, updated up to the moment the opportunity record is created and then frozen. Verified when the two field sets differ on at least a third of records.

  3. Add an account level first touch

    In a buying committee sale the person who converted is often not the person who first found you. Roll first touch up to the account. Verified when account first touch predates contact first touch on some records.

  4. Define the influenced window in writing

    Ninety days before opportunity creation is the common default. Pick one, write it in the reporting doc with the date you chose it, and do not change it mid year.

  5. Reconcile platform to CRM monthly

    One row per channel, three columns: platform conversions, CRM records, ratio. Verified when the ratio moves less than 25 percent month over month absent a known change.

  6. Publish the definitions page alongside the dashboard

    Anyone reading the number should be one click from knowing exactly what it counts. Verified when a new hire can explain the difference between sourced and influenced without help.

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.

FieldTypeWording
DiscoveryRequired, open text, 120 char limitHow did you first hear about us?
TriggerOptional, open textWhat made you look for a tool like this now?
ConsiderationOptional, multi select, randomised orderWhich 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.

What the mismatch looks like in practice

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 detectConversions needed per armAt 20 opportunities a month in the test armAt 250 leads a month in the test arm
10%About 1,570Not feasible6 months, both arms
20%About 39020 months1.6 months
30%About 1759 months3 weeks
50%About 633 months8 days
100%About 161 month2 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

  1. Pick the measured event first

    Use the highest volume event downstream of the ad, usually leads or self serve signups. Check the opportunity count directionally afterwards. Verified when the chosen event has at least 150 instances a month.

  2. Build matched geo pairs

    Rank your top 40 US metros by trailing 12 month lead volume, pair adjacent ranks, and randomly assign one of each pair to control. Verified when the two arms' trailing volumes are within 10 percent.

  3. Turn the channel fully off in control

    Partial reductions produce effects too small to detect. Off means zero, including retargeting into those regions. Verified by a geo report showing zero impressions in control.

  4. Run for one sales cycle plus four weeks, minimum six weeks

    Shorter runs measure the click, not the buyer. Write the end date before you start and do not move it.

  5. Compare on the pre agreed event, then look at everything else

    The primary comparison is the one you named in step one. Everything else is a secondary observation, clearly labelled as such.

  6. Restore spend and hold the result for a quarter

    Do not rerun for at least a quarter. Incrementality changes with saturation, so an annual cadence per channel is enough.

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 and the B2B specific constraints in incrementality testing for B2B SaaS.

Consultation request

Talk to a SaaS marketing strategist

Tell us about your marketing bottleneck and request a working session. We will confirm availability before scheduling.

We never sell your data. Your request is saved for review.

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 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.

NumberDefinitionTypical relative sizeWhat it is for
Sourced pipelineChannel created the record with no prior known touchBaseline, call it 1.0xChannel budget decisions
Influenced pipelineChannel touched the account within 90 days of opportunity creation2x to 5x sourcedUnderstanding the buying journey
Incremental pipelineMeasured difference from a holdout test0.3x to 0.9x sourcedBoard reporting and the annual budget case
Platform reported conversionsWhat the ad platform claims1.5x to 4x CRM recordsIn-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 and the wider treatment in B2B SaaS marketing attribution. If your account itself is the problem, run the SaaS PPC audit checklist 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, and read the result against the channel mechanics in SaaS PPC and paid ads. One honest holdout a quarter on your two biggest channels beats any model you can buy, and it costs less than the software licence.

Editable CSV worksheet

SaaS PPC and Paid Ads planning worksheet

A practical paid planning worksheet: decisions, owners, evidence and next actions.

We never sell your data. Your resource opens here after submission.

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.

The saas-marketing.net editorial team Research and editorial

We research, write and maintain every page on this site. The library explains marketing decisions through practical frameworks, explicit assumptions and references. Corrections can be requested through the contact page.

Published September 11, 2026. Last updated .