Senior and engineering
$75 to $120/ hour
Account strategy, attribution engineering, CRM integration, offline conversion pipelines, measurement design. Senior only.
SaaS PPC
A SaaS PPC agency should be judged on qualified pipeline, not on cost per lead. We publish the benchmark figures with their methodology, explain why the sources disagree by three times, and send CRM outcomes back into the ad account so bidding learns which clicks produced revenue.
A SaaS PPC agency plans, builds and runs paid search and paid social for software companies, and the competent ones are measured on pipeline rather than clicks. The work is account structure, query and audience selection, landing pages, conversion tracking that reaches the CRM, and the weekly decision about where budget moves.
That list is deliberately ordered. The agencies that fail in B2B software almost always fail at the third and fourth items while doing the first two competently, and the account looks fine on the dashboard the entire time.
Paid search for software differs from paid search for most other industries in four ways that change the work.
The volumes are small. A category term in B2B software might have a few hundred searches a month in the United States. Automated bidding is built for accounts with thousands of conversions. Running a B2B SaaS account well is partly the craft of making decisions on thin data without fooling yourself.
The lag is long. A click today becomes a demo next week, an opportunity next month and a closed contract in the quarter after. Every number you look at inside the first sixty days is a leading indicator at best.
More than one person buys. The engineer who finds you is not the person who signs. Conversion rate per click undercounts a channel whose job is sometimes to be found by the researcher who later forwards a link.
The conversion you can measure is not the one that matters. Trials, downloads and demo requests are all easy to count and all weakly related to revenue. This is the gap that most of this page is about.
Published figures put B2B SaaS non brand clicks somewhere between 5 and 14 dollars and cost per lead between roughly 84 and 350 dollars, which is a spread too wide to plan against. The cross industry search average sits at 5.42 dollars per click and 66.69 dollars per lead, and software sits above it.
Here is what the sources actually say, with the methodology where it is published, because the methodology is the whole story.
| Segment | Figure | Source and sample | What it hides |
|---|---|---|---|
| All industries, search | $5.42 CPC, $66.69 CPL | LocaliQ, thousands of client campaigns across 23 categories, count not disclosed | A floor, not a target. Mixes local services with software. |
| B2B SaaS, non brand search | $8.50 to $14.00 CPC median | Agency dataset, methodology not published | Non brand only, which is why it sits far above the cross industry figure. |
| B2B SaaS, blended | $5.34 CPC | Agency dataset of about 2,000 campaigns | Blended brand and non brand, which pulls the average down hard. |
| B2B SaaS, 100+ accounts | $13.75 CPC non brand, $84 CPL blended | Agency research page | Note the mismatch: non brand clicks, blended leads. |
| B2B SaaS by vertical | $7.50 developer tools to $18 cybersecurity | Agency dataset | Vertical spread is larger than the gap between most sources. |
The closest thing to a transparent source in that table is the cross industry line, drawn from LocaliQ's 2026 search benchmarks across 23 industry categories. Even that one says only thousands of client campaigns without giving a count or a date range, which tells you how thin the methodology reporting is across this whole subject. It is useful as a floor and nothing more, because it averages software in with restaurants and dentists. In the same dataset the most expensive vertical, legal services, runs at 9.87 dollars a click and 131.63 dollars a lead, which tells you that competitive B2B software sits at or above the top of the general market. Worth noting too that the same source reports cost per lead falling across all industries for the first time in five years, so the direction of travel is not uniformly upward.
Our planning numbers, stated as ranges because that is what they are: expect 6 to 15 dollars a click on cold category terms in the United States, 1 to 3 dollars on your own brand, 2 to 4 percent click to lead on a competent landing page, and a cost per qualified opportunity three to ten times whatever your cost per lead turns out to be. If a vendor quotes you tighter numbers than that before seeing your account, they are quoting their portfolio, not your business.
Published SaaS PPC benchmarks disagree because the sources are measuring different things and rarely say so. Mixing branded with cold traffic, leaving the word lead undefined, and publishing only surviving client accounts each move the number by enough to explain the gap on their own.
Six specific choices account for almost all of the variance. Read these as a checklist for any benchmark anyone sends you.
Branded clicks can cost a fifth of category clicks and convert several times better. A source that blends them reports a number you can never reproduce on cold traffic. This single choice explains most of the three times spread.
One source counts newsletter signups, another counts demo requests, a third counts qualified opportunities. Cost per lead without a definition of lead is not a measurement.
Almost every published SaaS benchmark comes from an agency describing its own accounts. Accounts that were cancelled do not appear. The survivorship bias runs one direction.
Performance Max frequently reports a lower cost per lead than Search because it harvests brand and existing demand. Averaging the two flatters the account and tells you nothing about cold acquisition.
A developer tool at a 40 dollar monthly price and a security platform at a 90,000 dollar contract both appear as B2B SaaS. Their economics have nothing in common.
United States clicks commonly cost several times the equivalent in smaller English speaking markets. A global average hides which market the spend was in.
The practical consequence is simple. A benchmark is only worth anything when it comes with the segment, the conversion definition, the date range and the market. Three of the five rows in the table above fail that test, and we have said so rather than quietly averaging them into a number that looks authoritative.
What to do instead: build your own baseline in the first sixty days and compare the account against itself. Your account from last quarter is a better benchmark than someone else's portfolio, because it shares your product, your price, your market and your definition of a lead.
Campaigns produce leads but no pipeline because the account is optimised toward the only event it can see. Tell automated bidding that a form fill is success and it will find people who fill in forms, which is a measurably different group from people who buy software.
This is the single most common pattern we are called in to fix, and it is worth being precise about the mechanism because it is not an execution failure. The account is working exactly as instructed.
Smart bidding optimises for whatever you tell it a conversion is. Tell it form fills and it will reliably find people who fill in forms, which is a different population from people who buy software.
Broad category terms attract researchers, students and job seekers. They convert on gated content at a flattering rate and never enter a pipeline.
On competitor and category terms a meaningful share of clicks are from vendors and agencies doing research. They are a real cost with a guaranteed zero return.
A self serve trial is the easiest conversion to buy and the least informative. Without an activation event, you are bidding toward a metric that does not predict revenue.
This is the root cause of the four above. If the CRM never tells Google which leads became pipeline, the bidding algorithm cannot learn the difference and will keep buying the cheapest form fill.
The chain runs like this. A conversion action is set to any form submission. Automated bidding is told to get more of those as cheaply as possible. It discovers that broad informational queries convert to form fills at a decent rate and at a quarter of the cost of category terms. Budget drifts there, because that is the instruction. Cost per lead falls, the dashboard improves, the monthly report looks like progress, and the sales team quietly stops working the leads. Six months later someone asks why paid search has never produced a customer.
Nothing in that sequence requires an incompetent agency, which is why it is so common. It requires only that nobody closed the loop between the CRM and the ad account.
Capture the click identifier on the form, store it on the CRM record, and send the outcome back as an offline conversion when the lead reaches a stage that matters. Assign each stage a value so bidding optimises toward qualified pipeline instead of raw form volume.
Mechanically this is a few days of engineering work and it changes what the account is capable of. The sequence:
Capture the identifier. The click identifier arrives as a URL parameter. Read it on page load, keep it through the session, and write it into a hidden field so it lands on the lead record with everything else. Most broken implementations fail here, usually because a redirect or a cookie banner strips the parameter before the form loads.
Store it where it survives. On the CRM record, not in an analytics tool. It has to still be attached when the opportunity is created weeks later, which means it needs to travel from lead to contact to opportunity without being dropped by a merge.
Send the outcome back. When a lead becomes qualified, becomes an opportunity, or closes, upload that event against the stored identifier with a value. The ad platform then knows which clicks produced revenue and bids accordingly.
Choose values with sales, not marketing. A held discovery call, a qualified opportunity and a closed contract should carry different values. Getting these roughly right matters far more than getting them precisely right.
One honest constraint. Automated bidding wants something in the region of thirty conversions in thirty days to learn well, and plenty of B2B SaaS accounts produce ten qualified opportunities a month. Where the volume is not there, the workable compromise is to optimise toward a well chosen mid funnel event, a held meeting rather than a form fill, and to use value based bidding so that the expensive good leads outweigh the cheap bad ones. That is a real limitation, not a reason to skip the work.
Separate brand from everything else, group cold campaigns by intent rather than by keyword, ring fence competitor terms, and give the high intent long tail its own budget. Small search volumes mean fewer campaigns with more data in each beats a tidy structure that never learns.
Five campaign groups cover nearly every B2B software account we have worked in.
A separate campaign with its own budget and its own reporting. Mixing brand into a category campaign makes every blended number meaningless and lets the algorithm spend category budget on people already searching for you.
The campaigns that actually acquire. Grouped by intent rather than by keyword, because B2B search volumes are too small to give each term its own campaign enough data to learn.
Own budget, own expectations, own landing page. Treat it as an experiment with a stop date rather than an always on line item.
Pricing, alternatives, integrations, comparison and implementation queries. Low volume, high conversion, and consistently the best performing cluster in B2B software accounts.
Maintained weekly from the search terms report, applied at account level. Jobs, salary, free, tutorial, course, login and the names of your own customers belong on it early.
The mistake worth naming is over segmentation. Accounts built by people trained on high volume ecommerce often arrive with forty campaigns, each with three conversions a month, none of which can inform a bidding decision. In B2B software the usual correction is to consolidate until each campaign has enough conversion volume to mean something, then split again only when a split is justified by data rather than by neatness.
The long tail deserves a specific note because it is consistently underfunded. Pricing, alternatives, integration and comparison queries have low volume and the highest intent in the account. They are also the queries where a genuinely useful page beats a better funded competitor, which is where paid search and SaaS SEO start reinforcing each other rather than competing for the same budget.
Performance Max often reports a lower cost per lead than Search while delivering less incremental revenue, because it harvests brand and existing demand that would have converted anyway. Run it with brand excluded and reported separately, or the number it produces will mislead you.
Published datasets showing Performance Max beating Search on cost per lead are usually correct about the measurement and wrong about the conclusion. The campaign type is good at finding people who were already going to find you. Counted as new acquisition, that is double counting.
If you run it, the guardrails that matter are a brand exclusion list, account level negatives applied to it, audience signals built from real customer lists rather than guesses, and separate reporting so its numbers never get averaged into cold acquisition performance. Then judge it on incremental pipeline over a period long enough to see the lag, which in practice means a quarter.
The same scepticism applies to broad match keywords with automated bidding. The combination is sold as letting the system find queries you would not have thought of. In a small account with a weak conversion signal, what it reliably finds is cheap informational traffic. Broad match becomes defensible once offline conversions are flowing and the system knows what a good outcome looks like, and not before.
Bidding on competitor brand terms works in narrow circumstances and wastes money in most. Expect high costs, low click through rates and poor conversion unless the landing page makes a genuine, specific comparison. It is an experiment with a stop date, not a permanent line item.
The economics are unfavourable by design. Someone searching a competitor's brand has already chosen a direction. Your ad is an interruption, your quality score on their term will be poor, and your cost per click will be higher than theirs on the same keyword. Expect to pay a premium to convert a minority.
Where it does work, three conditions usually hold together. The searcher has a live reason to reconsider, which in practice means renewal timing, a price change or a product change. Your comparison page is specific and fair rather than a feature grid where you win every row. And the contract value justifies an expensive click, because this traffic converts worse than anything else in the account.
One asymmetry to weigh before starting. Competitor bidding invites competitor bidding on you, and defending your own brand term costs less than attacking theirs. If your brand has search volume worth protecting, consider what the retaliation costs you before you open it.
Paid media is the inventory you buy, PPC is one pricing model for buying it, and performance marketing is a way of being accountable for what the spend produced. Most agencies use the three interchangeably, so judge what a performance marketing agency measures rather than what it calls itself.
The vocabulary is genuinely confused, and because the terms are used as synonyms in sales conversations it is worth separating them.
| Term | What it actually describes | What it does not tell you |
|---|---|---|
| Paid media | The inventory: search, social, display, video, retail and anything else bought rather than earned | Nothing about how it is bought or judged. Paid media companies may be buyers, planners or both. |
| PPC | A pricing model. You pay when someone clicks, as opposed to paying per thousand impressions or per acquisition | Which channel, which objective, or whether anyone is accountable for outcomes past the click. |
| Performance marketing | A stance: spend is justified by a measurable outcome rather than by reach | Which outcome. This is where the term quietly fails, because a form fill is a measurable outcome too. |
| Demand generation | The objective: creating interest that did not exist, rather than capturing interest that did | The channels, which can include all of the above plus a lot that is not paid at all. |
The gap worth noticing sits in the third row. Performance marketing promises accountability to an outcome and almost never specifies which outcome, which is how an agency ends up reporting a falling cost per lead while pipeline stays flat and still describing itself accurately. Every performance marketing agency, including this one, should be made to name the metric before the engagement starts.
Two questions that settle it quickly with any paid media or performance marketing company you are evaluating. Which single number will you report as the headline in month four, and what would have to happen for you to recommend reducing our spend. Vagueness on the first means they intend to pick the flattering metric later. Nothing on the second usually means they are paid as a percentage of it.
Percentage of ad spend is the industry default and the worst aligned model, because it pays the agency more to grow your budget regardless of whether growth is the right decision. Hourly against an agreed scope or a flat fee both avoid that, each with its own weakness.
This is worth more attention than it usually gets, because the payment model quietly determines what advice you receive.
| Model | Typical | What the incentive does |
|---|---|---|
| Percentage of ad spend | Typically 10 to 20 percent | It pays the agency more when your budget goes up, whether or not that is the right call. Nobody on a percentage of spend recommends halving a budget that is not working. |
| Flat monthly retainer | Common for mid sized accounts | Predictable, and the incentive is to do the minimum that keeps the account. Protects you from the budget inflation problem and introduces an effort problem. |
| Hourly against a scope | What we do | You see what the money bought and a quiet month costs less. Requires the agency to keep honest records and the client to read them. |
| Performance or per lead | Offered more than it works | Needs attribution clean enough to settle disputes, which almost no B2B SaaS account has. Usually collapses into arguments about lead quality by month three. |
We bill hourly against a scope we agree in advance. The honest weakness of our model is that it requires you to read a timesheet and requires us to keep one accurately. The honest strength is that when we think your spend should come down, saying so costs us nothing, and in roughly half of the accounts we audit that is the correct first recommendation.
Two questions worth asking any paid search vendor regardless of model. Who owns the ad account and the historical data if we stop working together, and what happens to the figure you are quoting me if we cut spend in half. The answers are usually more revealing than the case studies.
Measure cost per qualified opportunity, pipeline created per dollar of spend, and CAC payback by channel. Cost per lead rewards buying worse leads more cheaply, which is exactly the failure mode that makes paid search look like it is working while pipeline stays flat.
A ladder, from the metrics that only diagnose to the ones that decide.
| Metric | Status | What it is for |
|---|---|---|
| Click and impression metrics | Diagnostic only | CPC, CTR and impression share tell you whether the account is functioning. They say nothing about whether the spend was worth it. |
| Cost per lead | Weak, and the industry default | Useful only alongside a definition of lead and a conversion rate from that lead to an opportunity. On its own it rewards buying worse leads more cheaply. |
| Cost per qualified opportunity | The first number that means anything | Requires the CRM to be the source of truth and a stable qualification definition. Expect it to be three to ten times your cost per lead. |
| Pipeline per dollar spent | The number to report to a board | Total qualified pipeline created divided by spend, measured on a cohort of leads rather than a calendar month, because the lag is the whole difficulty. |
| CAC payback by channel | The decision metric | How many months of gross margin it takes to repay the cost of acquiring the customer. Paid search can look expensive on cost per lead and still be the fastest paying channel you own. |
On the last row, a reference point worth holding. Across 198 B2B software and AI companies reporting full year 2025 data, the median CAC payback period was 16 months, with companies at sub 5,000 dollar contract values recovering in about 11 months and those at 50,000 to 100,000 dollar contracts taking around 22. Worth noting that the same source states a top quartile of six months or better in one place and a 25th percentile of ten months in another, which is a reminder to read the methodology on benchmarks rather than quoting the headline.
Measure the lag deliberately. Report on cohorts of leads by the month they arrived, not on opportunities by the month they appeared, or a good month of lead generation will show up as a bad month of pipeline and you will make the wrong call.
The first ninety days go to measurement before optimisation. Audit and tracking repair in the first month, restructure in the second, landing pages and the first honest read on cost per opportunity in the third. Spend frequently falls before it rises.
Audit and measurement truth Read the search terms report in full, map every conversion action, find where tracking breaks between the ad click and the CRM record. We usually find at least one conversion action counting something nobody intended.
Rebuild the measurement GCLID capture into the CRM, offline conversion import, stage values agreed with sales. Nothing else is worth doing until outcomes can get back into the account.
Restructure and cut Brand separated, intent clusters rebuilt, negatives applied, the long tail given real budget. Expect spend to fall in this window before it rises.
Pages and iteration The landing pages are usually the binding constraint by now. Same traffic, better pages, measurable difference. Then the first honest read on cost per opportunity.
We say the spend reduction part out loud at the start because it surprises people. An account optimised toward form fills is usually spending real money on traffic that cannot buy, and the first competent month looks like retreat on every dashboard that counts leads. The number that should move in that window is cost per qualified opportunity, and it is the only one we report as a headline.
What we need from you to do this at all: access to the ad accounts and analytics, a named person in sales who will agree what a qualified opportunity means, and the ability to change the website. Without the third, we can improve the account and will hit a ceiling set by the pages.
Paid search is wrong when nobody searches for your category, when the contract value cannot carry the click cost, when no one follows up on leads quickly, when the product is not retaining, or when the positioning is still moving. In those cases the budget belongs elsewhere.
If the problem you solve has no established search demand, paid search has nothing to buy. Demand creation is a different budget and a different channel.
At 14 dollars a click and a 2 percent conversion to lead, a lead costs 700 dollars before anyone talks to it. On a 500 dollar annual contract that arithmetic never recovers.
Paid search produces leads on a schedule. If nobody follows up inside a day, you are buying leads for a competitor who does.
Paid acquisition into a leaking bucket raises the cost of the leak. Fix retention first, and the same spend becomes defensible.
Paid search rewards a settled message against a known query. Before that, the money buys noise that is hard to read.
We turn down paid search work for the second and fourth reasons on that list more than any others. If the arithmetic between click cost and contract value does not close, no amount of account craft rescues it, and taking the retainer anyway would be dishonest. The usual alternative we suggest is organic search on high intent long tail queries, which costs time instead of per click, or outbound built on a properly researched list rather than a bought one.
We bill hourly against an agreed scope rather than taking a percentage of your ad spend, so our fee does not rise when your budget does. Campaign management runs at our execution rate and the engineering for attribution runs at our senior rate.
A typical first engagement is the ninety day sequence above, which usually lands between 40 and 80 hours depending on how much needs rebuilding, then a lighter ongoing month once the account is structured and the measurement works.
Senior and engineering
$75 to $120/ hour
Account strategy, attribution engineering, CRM integration, offline conversion pipelines, measurement design. Senior only.
Campaign execution
$24 to $45/ hour
Campaign build, keyword and negative management, ad copy, landing page production, weekly reporting.
Indicative until we have seen the account. Ad spend is paid by you directly to the platforms and never passes through us, which keeps the incentive clean. Engagements start at ninety days with written outcomes, then month to month with thirty days notice.
We will not take a percentage of your ad spend, report cost per lead as a headline metric, run Performance Max with brand traffic included in the numbers, or start optimising before the CRM can tell the ad account which leads became real. Those four refusals are most of our method.
We also will not promise a cost per lead before seeing an account, because the only honest way to produce that number is to look at your search terms, your competitors' bidding and your conversion rates. Anyone quoting it from a deck is quoting someone else's business.
If you want the broader marketing function rather than the paid channel specifically, the B2B SaaS marketing page covers how we handle the whole picture, and the marketing audit publishes the framework we use to diagnose where a channel is actually failing before anyone buys anything.
FAQ
A SaaS PPC agency builds and runs paid search and paid social campaigns for software companies: account structure, query and audience selection, landing pages, conversion tracking that reaches the CRM, and the weekly budget decisions. The ones worth hiring are measured on qualified pipeline rather than clicks or cost per lead.
Published figures put non brand clicks between roughly 5 and 14 dollars and cost per lead between about 84 and 350 dollars. The cross industry search average is 5.42 dollars per click and 66.69 dollars per lead across 23 industry categories in 2026, and B2B software sits above that. Plan with ranges, then build your own baseline in the first sixty days.
Because sources mix branded and cold traffic, leave the word lead undefined, publish only their surviving client accounts, blend Performance Max with Search, and rarely state the vertical, contract size or market. Each of those choices alone can move the figure enough to explain most of the spread between sources.
Usually because the account is optimising toward form fills, which is the only outcome it can see. Automated bidding then reliably finds people who fill in forms rather than people who buy software. The fix is to send CRM outcomes back as offline conversions with stage values so bidding learns which clicks produced qualified opportunities.
Percentage of ad spend is the industry default and the worst aligned option, because the agency earns more when your budget grows whether or not growth is the right decision. Hourly against an agreed scope or a flat fee both remove that incentive. Ask any vendor what happens to their fee if you halve your spend.
Performance Max frequently reports a lower cost per lead than Search while adding less incremental revenue, because it harvests brand and existing demand. Run it only with brand excluded, account negatives applied, real customer lists as audience signals, and separate reporting, then judge it on incremental pipeline over a full quarter.
Rarely, and only with specific conditions: the searcher has a live reason to reconsider, your comparison page is genuinely fair, and the contract value justifies an expensive click that converts worse than anything else in the account. Treat it as an experiment with a stop date, and weigh the retaliation risk to your own brand terms.
Cost per qualified opportunity, pipeline created per dollar of spend, and CAC payback by channel. Report on cohorts of leads by the month they arrived rather than opportunities by the month they appeared, because the lag between click and closed contract is the main thing that makes paid search hard to read in B2B software.
Paid media is the inventory you buy, PPC is a pricing model where you pay per click, and performance marketing is a stance that spend should be justified by a measurable outcome. Most agencies use the terms interchangeably, and performance marketing rarely specifies which outcome, which is how a falling cost per lead gets reported while pipeline stays flat.
Ask which single number they will report as the headline in month four, and what would have to happen for them to recommend reducing your spend. Vagueness on the first means they intend to choose a flattering metric later. No answer to the second usually means they are paid a percentage of the spend they are advising you on.
When the category has no search demand, when click cost cannot be carried by the contract value, when nobody follows up on leads within a day, when the product is not retaining, or when positioning is still moving. The arithmetic between click cost and contract value is the one that most often fails and cannot be fixed with better management.
Expect sixty to ninety days before the numbers mean anything, because measurement usually has to be rebuilt first and because the lag from click to qualified opportunity is weeks. Spend often falls in the first month as traffic that cannot buy gets cut, which looks like a step backwards on any dashboard counting leads.
Keep exploring
Let's talk
Get a free 30-minute strategy call. You'll leave with a clear plan, a realistic estimate and our honest opinion, whether or not you work with us.