$3,000 a month. Ninety days. No closed deals expected. That is the constraint I would put on a ChatGPT ads test for a B2B company with a 120-day sales cycle. I have watched good SaaS tests die because someone judged a three-month pilot on revenue that normally takes four months to arrive.

If your sales cycle is longer than your test, closed-won revenue is the wrong scoreboard. The median B2B SaaS cycle is 84 days, with enterprise deals over $100k running 90 to 180-plus days. On a 120-day cycle, expecting closed revenue by day 90 sets the channel up to fail. This playbook fixes the media budget at up to $9,000 and uses qualified pipeline to make the day-30, day-60 and day-90 calls. A stop decision leaves money unspent; it does not quietly move the test budget somewhere else.

1. Reserve the $3,000 monthly cap before buying a click

I would set aside the same amounts each month:

  • $2,000 for ChatGPT. That is the channel under test, at roughly $66 a day. It clears the $25-a-day US self-serve minimum.
  • $700 for Google. Keep branded search and your five to ten exact-match money terms running as a control.
  • $300 for Bing. Keep a second, smaller search control.

That is $3,000 a month and, if the test runs its full course, $9,000 over 90 days. I would not move money between buckets during the test. Controls are less useful when you keep changing them to rescue a disappointing week.

ChatGPT is not another keyword campaign. Ads show to logged-in adults on Free and Go plans, while Plus, Pro and Enterprise remain ad-free; context hints stand in for keywords. Plan for uneven costs and thin click rates. Across 24 published international campaigns, median CTR was below 1.25% and dollar-billed CPCs ranged from $0.76 to $14.8. In Windmill Strategy’s B2B pilot, $1,470 bought 39,284 impressions, 259 clicks and zero conversions. That is a reason to design better measurement, not a reason to invent a rosier click forecast.

What this step buys: a stable test and two controls. What it cuts: mid-test budget shuffling disguised as optimization.

Illustrated 90-day calendar showing the monthly ChatGPT, Google and Bing budget shares

2. Before day 1, decide whether this test deserves the budget

I would skip this playbook if the company closes fewer than 15 SQLs a quarter, cannot store click attribution in its CRM, or takes more than 48 hours to work a new MQL. Those are operating problems, not ad-platform problems. Thin SQL volume makes the later gates hard to read. Broken attribution leaves you guessing which channel supplied a lead. Slow follow-up lets a new prospect go cold, then blames the traffic.

I would also skip it if the average deal is under $15,000 and the company’s sales cycle runs 14 to 30 days. In that case, spend the $3,000 on Google exact match and measure revenue directly. A 90-day pipeline proxy solves the lag in this test; it is not a badge of sophistication to wear when you do not need one.

Cost against the cap: $0 in media. What this step buys is permission to stop before a bad operating setup burns the first $2,000. What it cuts is the comforting idea that every business needs to test every new ad surface.

3. Before day 1, build a scoreboard sales will recognize

Do not launch until three things exist in writing:

  1. A qualified-lead definition signed off by sales. Spell out what makes a lead an MQL, what makes it an SQL and what counts as a completed meeting. If sales would reject it, do not give it a flattering stage name.
  2. A value for each stage you will judge. If an average deal is $36,000 and 10% of SQLs historically close, an SQL has $3,600 in expected value when it is created. If 20% of MQLs become SQLs, that MQL has $720 in expected value. These are working values, not booked revenue.
  3. A CRM trail back to the channel. Use campaign tagging to identify ChatGPT leads. For the Google control, enable auto-tagging, capture the GCLID on forms, store it with the lead and import the offline event through Data Manager. Check that the stages and their original sources survive the trip into the CRM.

I used to tell clients to optimize to form fills and sort out quality later. I was wrong. For B2B SaaS on longer cycles, feeding raw form fills to Smart Bidding can optimize toward noise. What the deck calls volume, I call paying for meetings nobody attends.

For the Google control, make SQL the primary offline signal only if you can supply 30 or more offline conversions a month. Otherwise, keep MQL and completed demo as graded earlier signals, demote raw form fills, and use closed-won as later validation. Import early-stage events promptly: standard GCLID imports can be rejected when the click is older than 90 days, which matters when the sale takes 120. Enhanced Conversions for Leads with hashed email can supplement that setup. This is the mechanism behind switching Google Ads optimization from leads to pipeline signals: the account gets evidence about quality before the deal closes.

Cost against the media cap: $0. What this step buys is a pipeline table you can trust. What it cuts is a day-90 argument about whether 40 form fills were good, bad or merely good at filling forms.

4. Days 1–30: spend up to $2,000 buying conversations

A ChatGPT visitor arrives mid-thought, not necessarily mid-search. Someone asks how to cut invoice-chasing for a 50-person services firm, reads an answer and sees an ad beside it. A hard Book a Demo pitch may ask for more commitment than that moment earns.

I would test three low-friction offers: a two-page comparison sheet, a pricing-range calculator and a 15-minute workflow teardown. Build one landing page per problem, mirror the buyer’s question in the headline, and ask for email and company size. Cut the demo form above the fold, the remarketing plan and the five-way geographic split. They do not earn their place on roughly $66 a day.

Build the campaign around the problem, too. Context hints describe the ideal customer, their industry, pain and buying questions; they are not a search-term report by another name. I would start, as Windmill did, with 12 months of strong Google keywords and lead-quality analysis, then translate those findings into buying situations a person might describe in a prompt.

Say Google costs $380 per SQL. My provisional ChatGPT ceiling is 1.5 times that, or about $570 per SQL. But day 30 is not an automatic SQL deadline. If SQLs have arrived, compare their cost with that ceiling. If MQLs are qualified but still moving through sales, hold the allocation and watch progression. Stop early if sales rejects the leads or attribution is too broken to tell what happened. Do not call a test dead solely because a 120-day cycle has not produced a closed deal in 30 days.

Every Monday, I would ask for one page: spend against each channel’s bucket; MQLs, SQLs, show rate and cost per SQL by channel; offline-import uploads and rejections; and one line explaining each bid or context-hint change. No CTR screenshot in place of a pipeline report.

Cost against the cap: up to $2,000 for ChatGPT, plus the $1,000 in reserved controls. What this step buys is the first cohort to follow. What it cuts is the expensive assumption that a mid-conversation visitor is ready to book a demo.

5. Days 31–60: spend the next $2,000 on the offer that progresses

By day 45, at least some month-one MQLs should have had time to become SQLs or fall out. Pull the same CRM table for all three channels: MQL-to-SQL rate, meeting show rate and cost per SQL. Keep the source attached to each lead. If the ChatGPT cohort is still too small for a confident cost comparison, say that plainly rather than manufacturing precision from two meetings.

Cut on attendance and qualification, not clicks. If an offer produces 12 demos and nine no-shows, I would cut it even at $180 per demo. Sales time is not free. Put the second month’s ChatGPT allocation behind the offer with the best MQL-to-SQL progression, and retire the other two. Do not borrow from Google or Bing to do it.

Windmill’s pilot brought in 100% new users, with 51.2% engaged sessions against a 57% site average. Engagement alone does not make a pipeline case. It does explain why I would follow an early cohort past week two rather than declare a winner from clicks and zero conversions.

The day-60 gate: keep going to day 90 if sales accepts the emerging SQLs and their cost is within the $570 provisional ceiling, or if qualified MQLs are progressing toward that result. Stop ChatGPT spend if sales rejects the leads, show rate collapses, or the SQL cost remains above the ceiling with no improvement in progression. Leave any unspent ChatGPT allocation unspent for the rest of the test. The controls stay in their original buckets.

This is the same discipline behind bidding toward B2B pipeline rather than form fills: let a later, more meaningful stage determine what gets budget. Cost against the cap: up to another $2,000 for ChatGPT. What it buys is evidence about quality. What it cuts is paying a second time for an offer that merely attracts curiosity.

6. Days 61–90: make the call on pipeline per dollar

The final ChatGPT allocation is up to $2,000, still within the original $3,000 monthly cap. Judge it on expected pipeline value, not cash collected. Multiply accepted SQLs by the stage value you set before launch, then divide by channel spend. Keep the Google and Bing controls visible beside it.

Suppose ChatGPT produces eight accepted SQLs valued at $3,600 each across the full test. That is $28,800 in projected pipeline on $6,000 of ChatGPT spend, or $4.80 per $1. If Google produces 12 equivalent SQLs on $2,100, that is $43,200 on $2,100, or about $20.57 per $1. Google wins that comparison. Calling ChatGPT promising would not change the arithmetic. The remaining question is whether ChatGPT’s cost and progression improved as its earlier MQLs matured.

At day 90, I would record one of three decisions:

  • Scale on day 91 if ChatGPT projects at least $3 in pipeline per $1, lands within 30% of Google’s ratio, and its SQL rate is rising month over month.
  • Hold on day 91 if it projects $1.50 to $3 per $1 with a steady show rate, or clears $3 but still trails Google’s ratio by more than 30% while SQL progression improves. Give that cohort one more cycle to mature; do not call it a scale win.
  • Stop on day 91 if it projects less than $1.50 per $1, or sales rejects more than half its SQLs. Keep the attribution and offline imports running so late progression still appears in the record.

Closed revenue does not decide this 90-day test. Accepted pipeline value per dollar does. Closed-won results can validate or challenge the decision later. They cannot arrive on command to satisfy a pilot deadline.

Pipeline scoreboard comparing ChatGPT, Google and Bing on projected deal value per dollar

7. When the $3,000 cap lifts, act on the decision

If ChatGPT clears the scale gate, I would give it $3,500 in month four, cut Bing and leave the Google control intact. Keep the offers that progressed, add one enterprise proof asset drawn from the sales conversations, and move SQL to primary bidding where the account has the required 30 monthly imports. If the result is a hold, keep ChatGPT at $2,000 for one more 30-day read and change only the weakest context hint. If it is a stop, set ChatGPT to zero and put its future allocation into Google exact match. The prompts that converted can inform search terms; the comparison sheet can become a landing page; the teardown can become a sales email.

Whoever runs that next phase should still deliver the same Monday page and a readable record of changes. This is work I would rather hand to daily execution than a monthly account review. groas runs Google, Bing and ChatGPT search ads for a $1,499 flat monthly fee, with logged changes and a named strategist accountable for the direction. That fee is separate from the $3,000 media cap; it does not magically fit inside this test’s $9,000 maximum. If $3,000 is the entire monthly budget, run the measurement yourself during the test rather than pretend otherwise.

The test spends no more than $9,000 in media. When the cap lifts, use the pipeline table to make the next budget decision. Do not pay for another deck explaining what the clicks might mean.