Google Ads for B2B SaaS: Campaign structure, match types, negatives and offline conversion import
Google Ads for B2B SaaS: split campaigns by intent, capture GCLID and email, import CRM stages and set conversion windows up to 90 days.
- Document
- Playbook
- Funnel stage
- Lead
- Published
- Written by
- Take the Market Desk
- Edited by
- Lila Odinaev
Run Google Ads for business-to-business (B2B) software as a service (SaaS) as a system that bids on pipeline, not form fills. Capture the Google Click ID (GCLID) and email on every form, send customer relationship management (CRM) stage changes back to Google, and raise the 30-day default conversion window, up to 90 days. Since June 15, 2026, offline uploads have run through Data Manager.
Cost per SQL
cost per SQL = spend / (leads x lead-to-SQL rate)
| Spend | $20,000 |
|---|---|
| Leads | 100 |
| Lead to SQL | 20% |
$1,000 per SQL
How do you set up Google Ads for B2B SaaS?
Set up Google Ads for B2B SaaS as a demand capture system that bids on pipeline rather than form fills. Capture the Google Click ID (GCLID) and the lead's email on every form, store both in your CRM system, and send stage changes back to Google Ads. Those stages are marketing qualified lead, sales qualified lead, opportunity and closed won. Turn on enhanced conversions, route uploads through the Data Manager application programming interface (API), and lengthen the conversion window to fit your sales cycle.
What changed in 2026
| Change | Date or figure | What to do (our reading) |
|---|---|---|
| Offline uploads moved to Data Manager API | June 15, 2026 | Confirm no custom script still calls the old request |
| Enhanced conversions became one setting | April 2026 | Check the setting is on after the automatic migration |
| First-party data with GCLID | median 10% increase in conversions | Send hashed email alongside every GCLID |
| Default click-through window | 30-day default | Raise it for pipeline-stage actions |
Starting June 15, 2026, Google migrated offline conversion import and enhanced conversions for leads uploads to the Data Manager API and blocked them in the Google Ads API. The deadline hit custom integrations. Standard CRM connectors and tag-based setups were not affected. If an engineer built your import before then, ask whether it was moved.
It accepts user-provided data from tags, Data Manager and API connections at once, so you no longer pick one method.
Set the window against the sales cycle
The window can run anywhere from 1 to 90 days, depending on the conversion source. In our reading, a 30-day default does not fit a B2B cycle where most deals close months after the first click.
In our reading, that makes the earlier stages the practical bidding signal for long cycles, with closed won kept as a reporting action.
Change windows before you need them. Google applies any changes to all conversions going forward, not retroactively. Pull your own lag from the time lag report and compare it with sales cycle length benchmarks before choosing.
Setup order: confirm auto-tagging, add hidden GCLID and email fields, map CRM stages to conversion actions, set each window, then switch bidding to the pipeline stage.
Split campaigns by search intent: brand, category, competitor and problem
We run four Search campaigns, one per intent, because each intent needs its own landing page, conversion action and budget rule. If they share one campaign, brand clicks blend into the account average and hide what category and competitor terms cost. The split follows the line between demand capture and spend that has to win a buyer who has not chosen yet.
| Campaign | Example queries | Landing page | Conversion action | Budget role | Expected cost per click (our reading) | Sales qualified lead rate (our reading) |
|---|---|---|---|---|---|---|
| Brand | your product name, your name plus pricing or login | Homepage or pricing page | Demo request | Protect, always funded | Low | High |
| Category | project management software for agencies | Solution page for that use case | Demo or trial | Main growth line | High | Moderate |
| Competitor | rival name plus alternative | Comparison page | Demo request | Capped test budget | High | Moderate to low |
| Problem | how to reduce invoice approval time | Guide with a demo call to action | Content download or demo | Small, judged on pipeline | Moderate | Low |
Treat the last two columns as a starting hypothesis. Replace them with your own cost per click and sales qualified lead rate once each campaign has a quarter of data behind it.
Why matching behavior forces the split
Google states that "Broader match types capture all the queries of narrower match types, plus more." It also notes that broad match is the default match type for every keyword you add. In practice, a broad category keyword can pick up searches that contain your brand name. That brand traffic is cheap and converts well, so it can make a weak category campaign look healthy.
Negative keywords are what keep the four campaigns separate. Google describes them as a way to exclude your ads from showing on searches with that term. Our template:
- Add your brand terms as negatives in the category, competitor and problem campaigns.
- Add competitor names as negatives in the category and problem campaigns.
- Add buying words such as "pricing", "software" and "tool" as negatives in the problem campaign, so it keeps only research queries.
- Run brand on exact and phrase match. Google says that when a query is identical to an exact match keyword, the Search campaign is prioritized over any other broad or phrase keyword or a Performance Max campaign.
Keep the brand campaign funded. One listed reason a keyword can show in Performance Max instead of Search is that "The Search campaign is limited by budget." When that happens, brand clicks get reported under a campaign you cannot read cleanly.
If category or problem campaigns run on broad match, Google's guidance is that "It’s critical to use Smart Bidding with broad match." We read that as a reason to send each campaign its own conversion action. Bidding then learns from qualified demo requests, not from content downloads counted as a single goal.
Should B2B SaaS use broad match?
Yes, once the account can feed Smart Bidding enough conversion signal to steer it. Before that point, we keep exact and phrase match as the working core and add broad match one ad group at a time.
What broad match reads before it matches
As covered above, a broad match keyword already includes the queries its phrase and exact versions would catch. What changes is how it judges the extra, related searches. Google says broad match may take into account three signals (Google Ads Help):
- The user's recent search activities
- The content of your landing pages and assets
- The other keywords in the same ad group, used to understand intent
For a B2B SaaS account, the third signal matters most. Tight ad groups by intent, as set up in the previous section, give broad match cleaner context.
Why Google pairs it with Smart Bidding
Google's position is that Smart Bidding works best with broad match because the wide set of searches allows it to learn, and it lists more data and flexibility for Smart Bidding as a benefit of broad keywords. The logic runs both ways. Broad match supplies volume, and the bidder decides which of those auctions are worth entering. In our reading, that bidder is only as good as the conversions it learns from. If it optimizes to form fills that sales rejects, broad match spends on more of the wrong searches.
When a B2B account keeps exact or phrase match
Exact match gives you the most steering over who views your ad, and phrase match sits between, reaching more searches than with exact match and fewer searches than with broad match.
| Account condition | Match type to lead with (our reading) |
|---|---|
| A few demo requests a month, no offline conversion import yet | Exact and phrase |
| Bidding on form fills, not qualified pipeline | Exact and phrase |
| Narrow category with high cost per click | Exact |
| Qualified pipeline imported, steady volume | Broad, with Smart Bidding |
A working routine for a broad match test
- Pick one category ad group with clean, single-intent keywords.
- Switch its keywords to broad and leave the rest of the campaign unchanged.
- Review the search terms report weekly. Google points to it as the place to get negative keyword ideas.
- Do not add near-duplicate word orders. Google states the broad match keywords “red car” and “car red” will be recognized as duplicates and the one with the higher Ad Rank will be used.
- Judge the test on sales-accepted opportunities, not clicks. Compare stage rates against funnel conversion benchmarks before widening it.
What negative keywords should B2B SaaS use?
Negatives in Google Ads follow different rules from positive keywords, and the difference catches B2B teams out. Negative keywords won't match to close variants, so excluding "job" leaves "jobs" open. Google's own example: excluding "flowers" blocks "red flowers" but not "red flower". You need to add synonyms and singular or plural versions yourself. Casing and misspellings are handled automatically.
How the three negative match types behave
- Negative broad is the default. It blocks a search that contains all your terms, even in a different order.
- Negative phrase blocks a search that contains the exact terms in the same order, with extra words allowed around them.
- Negative exact blocks only the exact terms without extra words.
Symbols matter too. Google treats terms with and without accent marks as 2 different negative keywords, so add both if your category has accented spellings.
A shared list template
Build these as shared negative lists and attach them to every non-brand campaign. A list created at account level applies to all eligible search and shopping inventory in relevant campaign types. That suits the jobs list, which no SaaS campaign wants.
| List | Example negatives, singular and plural | Match type (our reading) |
|---|---|---|
| Jobs and careers | job, jobs, career, careers, salary, salaries, hiring, internship, internships | Broad |
| Free and open source | free, open source, freeware, crack, torrent | Broad |
| Training and certification | course, courses, certification, certifications, tutorial, tutorials, exam, exams | Broad |
| Consumer meanings | terms where your category word means something else, for example pipeline with plumbing or oil | Phrase |
| Competitor support | [competitor] login, [competitor] support, [competitor] outage, [competitor] password reset | Phrase |
Keep competitor support negatives on your competitor campaigns only. Those searches come from existing customers trying to log in, not evaluators.
The weekly search terms review
The search terms report, covered above, is where new negatives come from. A routine that fits in thirty minutes:
- Filter the last seven days by cost, highest first, across non-brand campaigns.
- Mark each term as buyer, researcher or irrelevant. Only irrelevant terms become negatives.
- Add the singular, the plural and obvious synonyms in one pass.
- Put recurring themes in a shared list. One-off terms go at campaign or ad group level.
- Check that no new negative blocks a converting keyword. Too many negative keywords can mean your ads reach fewer customers.
We log each week's additions in the same sheet as spend, so a drop in impressions can be traced to a list change. Our demand gen dashboard template has room for that log.
How do you import offline conversions from your CRM into Google Ads?
The import only works if the click identifier survives from the ad to the deal record. Build the chain in this order and test each link before you turn on bidding against it.
Step 1: capture and store the click ID
Google appends the Google click identifier (GCLID) to the landing page URL when auto-tagging is on, which Farsiight notes is the default for any account created after January 2026. Cometly's setup checklist is explicit: capture GCLID as a hidden field on every landing-page form, then pass it to the CRM system as a custom property on the lead. Test it with a real ad click, not a pasted URL.
GCLID on its own is no longer the full setup. Farsiight reports that GCLID-only import is Google's legacy path and Enhanced Conversions for Leads, which adds hashed email and phone as match keys, is the recommended setup. Store both on the record.
Step 2: one conversion action per stage
| Funnel stage | What to send | Starting status (our practice) |
|---|---|---|
| MQL | Stage timestamp | Secondary |
| SQL | Stage timestamp | Secondary |
| Opportunity | Stage timestamp, pipeline amount | Secondary |
| Closed-won | Timestamp, deal amount | Secondary |
Skip the raw form fill here. Promote a stage to primary only once it records steady weekly volume. Define each stage in your marketing and sales SLA first, so the CRM trigger means the same thing every week.
Step 3: set windows and batch the upload
Set each action's conversion window to cover the time from click to that stage, using your own sales cycle length. Closed-won needs the longest window.
For custom integrations, the UploadClickConversions request was deprecated on 15 June 2026 and moved to the Data Manager API. Google's guidance lists batching requests, using job_id for diagnostics among its best practices. Send an order_id on every row, a unique transaction ID per conversion action to prevent duplicate imports. The conversion time must be after the click time and include a timezone offset.
Step 4: read results on the click date
Google states that conversions report on the original click's impression date and may take time to appear. A worked example: a prospect clicks a category ad on March 3 and the deal closes on June 20. The closed-won conversion lands in March's numbers, not June's. March cost per closed-won keeps falling for months, so in our reading the recent weeks always look worse than they will end up.
What are enhanced conversions for leads?
Enhanced conversions for leads is, in Google's words, "an upgraded version of offline conversion import that uses user-provided data, such as email addresses, to supplement imported offline conversion data to improve accuracy and bidding performance" (Google Ads Help). It sits on top of the Google Click ID (GCLID) import from the previous section. It does not replace it.
How the match works
- A prospect clicks an ad and fills in your lead form.
- The Google tag hashes the email (or phone) from that form and sends it to Google.
- Your CRM system stores the lead as usual.
- When the lead qualifies or closes, you import the same hashed email along with the GCLID.
- Google matches the two. Per its help page, "Google attributes offline conversions by matching imported data with lead information from the tag and signed-in Google accounts" (Google Ads Help).
On the tag side, open the Google tag settings and turn on form capture: "Click Manage automatic event detection. Enable automatic collection for “Form interactions”." (Google). Web and leads now share one control: they "are now combined into a single on/off setting" (Google Ads Help).
What each upload row needs
| Field | Status in Google's setup guide | Why it matters (our reading) |
|---|---|---|
| Required | Main hashed match key | |
| GCLID | Required | Ties the conversion to a specific click |
| Conversion name | Required | Points the row at the right action |
| Conversion time | Required | Places the conversion in reporting |
| Phone number | Recommended | Second match key when the email differs |
Google prefers email "because it’s a highly unique identifier and isn’t prone to being reformatted in your CRM". For phone, "the number must contain a country code" (Google). For the goal, Google says to "use Qualified or Converted lead goals". That fits a pipeline number better than raw form fills.
If you connect a CRM through Data Manager, plan the backfill. "For Salesforce and HubSpot, Data Manager imports the last 14 days of data only in the first run" (Google).
Checking it and reading the results
After setup, Google says you can confirm the feature works "in the enhanced conversions diagnostics report" (Google). Check it before you trust any change in bidding.
Then set expectations with sales and finance. "Hashed identifiers go out to Google, and an aggregate conversion count comes back" (CustomerLabs). No report lists which leads matched. The match also depends on the prospect's Google sign-in: "If the person who filled in your form was never signed in, there is nothing on the other side to match against" (CustomerLabs).
Reconcile at the count level. Compare matched qualified leads in Google Ads with qualified leads in your CRM for the same period. Treat the difference as the unmatched share, not as an error you can trace lead by lead. Matching more conversions on the same spend also lowers reported cost per lead. In our reading, that drop is a measurement change, not a gain in efficiency.
Should you optimize Google Ads to leads or to opportunities?
Rank the three example campaigns below by cost per lead and broad match wins at $100, with competitor terms last at $250. Rank them by cost per sales qualified lead (SQL) and the order reverses: problem terms come first at $1,000 and broad match falls to last at $2,000. A bid strategy fed only form fills would move budget toward the campaign that costs twice as much per SQL.
In our worked example, the campaign with the lowest cost per lead has the highest cost per SQL.
| Item | Value |
|---|---|
| Non-brand, broad match | 2000 US dollars per SQL |
| Problem terms, phrase match | 1000 US dollars per SQL |
| Competitor terms | 1667 US dollars per SQL |
Source: Take the Market worked example (illustrative inputs)
| Campaign (example) | Spend | Leads | Cost per lead | Lead to SQL | SQLs | Cost per SQL |
|---|---|---|---|---|---|---|
| Non-brand, broad match | $20,000 | 200 | $100 | 5% | 10 | $2,000 |
| Problem terms, phrase match | $20,000 | 100 | $200 | 20% | 20 | $1,000 |
| Competitor terms | $10,000 | 40 | $250 | 15% | 6 | $1,667 |
The gap comes from the lead to SQL rate, which differs by a factor of four across these rows. Farsiight puts the pattern plainly: "The keyword that produces the most form fills is rarely the keyword that produces the most pipeline." To check your own stage rates, compare them against our funnel conversion benchmarks.
How value-based bidding on stage value works
Value-based bidding lets you maximize the total value of conversions instead of their count. In practice you attach a value to each imported CRM stage, so an SQL is worth more to the bidder than a raw lead. Google lists three suitability checks:
- Specific value goals. You care about value beyond conversion volume.
- Meaningful value assignments. You can assign accurate values, such as revenue, profit, lead scores, or predicted lifetime value.
- Measurement capabilities. Your data setup can connect those values to campaigns.
Google's guidance is to select a single stage of your lead-to-sale funnel as the bid goal, with a short conversion delay and at least 15 monthly conversions. If the table covers one month, only problem terms clears that bar on its own. Google's transition checklist sets the minimum at the account level, so the 36 SQLs across all three campaigns are what you test against.
Resetting targets when you switch
After the switch, allow at least 2 weeks or 3 conversion cycles before you judge results.
The target itself needs a reset. A target set on cost per lead means nothing against an SQL goal. Our method: set each campaign's new target from its observed cost per SQL, so $1,000 for problem terms rather than its old $200 per lead. Then remove any cost per click (CPC) caps, which Google says can hinder the system's ability to hit the target.
The 90-day operating sequence, owners and metrics
This is our own sequence for the first 90 days. It assumes the structure, negatives and import path from the earlier sections are agreed. Each row names one owner, so a slipped step has a name next to it.
| Weeks | Step | Owner | Produces | Check that it worked |
|---|---|---|---|---|
| 1 to 2 | Build campaigns by intent, load negatives, confirm auto-tagging and the hidden click ID field | Paid search manager | Live account with form fill as the primary goal | Test lead shows the click ID on the CRM record |
| 1 to 2 | Map lifecycle stages to conversion actions: MQL, SQL, opportunity, closed won | Sales operations | Stage definitions with one timestamp field each | Every stage change writes a date that sales cannot edit later |
| 2 to 3 | Set conversion windows from the time lag report | Paid search manager | Window per action, logged with the date of the change | Change history matches the log |
| 3 to 4 | Turn on enhanced conversions for leads and the CRM upload | Marketing operations | Daily upload of SQL and opportunity events with values | Diagnostics show no errors and the count matches the CRM within an agreed tolerance |
| 5 to 8 | Let SQL uploads accumulate while bidding stays on form fills | Paid search manager | Secondary SQL conversion with history | Weekly SQL count clears the volume threshold from the earlier section |
| 9 to 10 | Switch primary goal to SQL value and change the bid strategy | Paid search manager | Value-based bidding on SQL | No bid or budget edits during the ramp-up period |
| 11 to 13 | Review pipeline per dollar against the form fill baseline | Demand generation leader | Keep, revert or extend decision | Decision recorded with the numbers used |
Conversion windows only move forward
Set the window before the bidding switch, not after. Google states that changes apply to all conversions going forward: if you go from a 30-day window to 10 days, the shorter window only applies to conversions recorded from that day forward. Nothing is recounted. A window can be set anywhere from 1 to 90 days depending on the conversion source, and Smart Bidding will count and optimize conversions for any window you choose. For a sales-led cycle, change the window once, early, and log the date so the week-over-week comparison is honest.
Why the upload step matters
Google reports that advertisers sending first-party data alongside click IDs saw a median 10% increase in conversions compared to those using standard offline conversion imports. In our reading, that matched volume is what gets SQL bidding past the volume threshold sooner.
Weekly and monthly review
Weekly, owned by the paid search manager: search terms and new negatives, uploaded conversion count against the CRM count, upload errors, spend by intent group.
Monthly, owned by the demand generation leader: SQLs and pipeline per dollar by campaign, pipeline coverage from paid search, CAC payback, and opportunity to win rate against win rate benchmarks. For whether the spend creates pipeline or only captures it, run a holdout using our incrementality testing method.
What this page does not cover
This page does not cover ad copy, landing page design, budget sizing or Performance Max setup beyond how it interacts with Search campaigns. It is not legal advice on collecting, hashing or uploading customer data, and it is not financial advice on how much to spend.
Related on Take the Market: B2B retargeting strategy: audiences, frequency caps and the holdout test; LinkedIn ads benchmarks: CPC, CPL and CTR by objective, from published data; Self-reported attribution: how to design the field, code the answers and reconcile them with software attribution.
Questions
- How long should the Google Ads conversion window be for B2B SaaS?
- The default click-through window is 30 days, and you can set it anywhere from 1 to 90 days, depending on the conversion source. Set each stage's window from your own time lag report, with closed won getting the longest. Changes apply only to conversions going forward, so change the window once, early, and log the date. Even at 90 days a long-cycle closed deal may not count, which makes earlier stages the practical bidding signal.
- What changed with Google Ads offline conversion uploads in June 2026?
- Starting June 15, 2026, Google migrated offline conversion import and enhanced conversions for leads uploads to the Data Manager application programming interface (API) and blocked them in the Google Ads API. The UploadClickConversions request was deprecated on that date. The change hit custom integrations, while standard CRM connectors and tag-based setups were not affected. If an engineer built your import before then, confirm it was moved.
- Should B2B SaaS bid on competitor brand keywords?
- We run competitor terms as their own Search campaign with a capped test budget, a comparison landing page and a demo request as the conversion action. In our reading, cost per click runs high and the sales qualified lead rate moderate to low, so replace those assumptions with a quarter of your own data. Add competitor support negatives such as login and password reset, since those searches come from existing customers, not evaluators.
- How many conversions does Smart Bidding need for a B2B campaign?
- For value-based bidding, Google's guidance is to pick a single funnel stage as the bid goal, with a short conversion delay and at least 15 monthly conversions. The checklist sets that minimum at the account level, so in our worked example the 36 sales qualified leads across three campaigns are what you test against. Upload data for at least 4 weeks or 3 conversion cycles before switching.
Sources
- About offline conversion imports - Google Ads Help, support.google.com.
- About conversion windows - Google Ads Help, support.google.com.
- Google Ads Offline Conversion Tracking in 2026: What Changed and What to Do, farsiight, 2026-05-19.
- About keyword matching options - Google Ads Help, support.google.com.
- Your guide to broad match - Google Ads Help, support.google.com.
- About negative keywords - Google Ads Help, support.google.com.
- Google Enhanced Conversions and offline conversion import · Cometly Academy, Cometly.
- Manage offline conversions | Google Ads API | Google for Developers, Google for Developers.
- About enhanced conversions for leads - Google Ads Help, support.google.com.
- Configure the Google tag for enhanced conversions for leads - Google Ads Help - Accelerate with Google US, Google, 2026-04-10.
- Google Enhanced Conversions for Leads: Why Google's Toggle Isn't Enough, CustomerLabs, 2026-09-18.
- Value-based Bidding Best Practices - Google Ads Help, support.google.com.