The pitch for AI Max is that it finds demand your keyword list misses. That part is true. The claim that gets bolted onto it, usually by whoever is reading the keyword report, is that it finds the same demand at a lower price.

We went looking for that in a live account and could not find it. Here is what the data actually showed, and the four checks that will tell you the same thing about your own account in about twenty minutes.

The setup

A pool builder account we audit runs two Search campaigns on the same 23 keywords. One is a standard campaign on Maximize Conversions with a tight CPC ceiling. Call it BASE. The other is the same keyword list with AI Max turned on and a lower target CPA. Call it AI MAX. Ninety days of data, one account, one geography.

Open the keyword report and the story writes itself. The same keyword text appears in both campaigns. In BASE it costs $30 to $70 a click. In AI MAX it costs $4 to $9. Same words, one tenth the price. Obvious conclusion: pause the expensive one.

That conclusion is wrong, and the reason it is wrong is a reporting artifact that almost nobody checks.

Check 1: the keyword report is not showing you keyword traffic

keyword_view files AI Max expansion traffic under whichever keyword Google judged closest to the query. The keyword did not trigger the ad. It is a label being applied after the fact. So the same keyword text shows cost in both campaigns and looks like a head-to-head price comparison when it is nothing of the kind.

You can prove it in one query. Pull search_term_view and segment by segments.search_term_match_type, which reports how the query was actually matched rather than which keyword it was filed under.

CampaignMatch typeClicksAvg CPC
AI MAXAI_MAX407$5.99
AI MAXEXACT3$0.63
BASENEAR_EXACT149$34.60
BASEEXACT60$45.29
BASENEAR_PHRASE61$25.76

Ninety-nine percent of AI MAX clicks arrived through AI Max expansion. Its 23 keywords were barely serving at all. The “same keyword, 8x cheaper” comparison was BASE's real keyword traffic set against AI MAX's expansion traffic wearing a keyword's name.

Check 2: count how often the two campaigns actually saw the same query

If two campaigns are competing for one demand pool, their search term lists should overlap heavily. These did not.

  • BASE ran on 475 distinct search terms over 90 days.
  • AI MAX ran on 3,152.
  • Only 52 terms had impressions in both campaigns.
  • On 51 of those 52, one side had between one and five impressions and zero clicks. That is Google deduplicating an auction, not two campaigns bidding each other up.
  • Exactly one search term got clicks in both: five clicks in BASE at $32.82, three clicks in AI MAX at $0.63.

Five clicks against three, on one query out of 3,575. There is no shared price to compare. The campaigns were not fighting over the same demand. They were operating in almost entirely separate query space.

Check 3: read what the cheap clicks actually are

Once you look at the terms themselves, the CPC gap stops being a mystery and starts being a description.

BASE's terms were pool-build intent from end to end, at $30 to $130 a click. That is what a homeowner researching a $70,000 construction project costs to reach, and it is expensive because every builder in the metro wants that click.

AI MAX's top spending terms were a different business entirely. Pool store searches. Pool heaters, filters, skimmers. Spa repair. Retail and service intent, priced like retail and service intent. Roughly 30% of AI MAX's reported search term spend matched retail or repair queries, carrying 13 conversions with it.

Cheap clicks are not a discount on expensive clicks. They are cheap because someone shopping for a pool filter is worth less than someone shopping for a pool, and the auction has already priced that in.

A large CPC gap between two campaigns is almost never a pricing story. It is a demand story wearing a pricing costume.

Check 4: confirm it against lead quality, not lead count

The search term read predicted what the CRM showed. Year to date, BASE produced 53 leads and AI MAX produced 84. AI MAX bought more leads, and bought them cheaper. But of the leads a human had actually graded, 46% of BASE's were disqualified against 72% of AI MAX's. BASE closed nine sales, AI MAX closed five, and BASE returned just over twice the revenue on 37% fewer leads.

This is the whole argument for never ranking campaigns on cost per lead alone in a considered, high-ticket purchase. Cost per lead rewards the campaign buying the cheapest thing that can still be counted as a lead. On this account that was a homeowner pricing a filter cartridge.

The fix this actually produced

The audit did not end in “pause AI Max.” It ended in a negative keyword gap, which is a much cheaper problem to solve.

The account already had the retail chain blocked. It carried the brand name as a phrase negative and the possessive form as a second negative. Neither one blocks the plural. Google negative keywords match whole tokens, never stems or plurals, so a negative on acme and acme's leaves acmes wide open. Four variants of the plural got through and took $227 in the window. The same gap existed on the singular and plural forms of the store queries.

That is a five-minute fix that no CPC comparison would ever have surfaced, because the CPC comparison was pointing at the wrong thing.

The caveat you have to state out loud

Search term reporting does not cover every query. In this window search_term_view accounted for 86% of BASE's spend but only 54% of AI MAX's. Nearly half of the AI Max spend had no search term row at all.

That does not change the direction of the finding, because the overlap and match type evidence both point the same way. It does mean the retail share could be higher or lower than 30%. If you are going to publish a number off a search term report, publish the coverage percentage next to it.

Run these two queries on your own account

First, the match type split, which tells you how much of each campaign is really keyword traffic:

SELECT campaign.name,
       segments.search_term_match_type,
       metrics.clicks,
       metrics.cost_micros,
       metrics.conversions
FROM search_term_view
WHERE segments.date DURING LAST_90_DAYS
  AND campaign.id IN (<base>, <ai_max>)

Second, the term list itself, which you diff on lowercased search term to count the true overlap:

SELECT campaign.name,
       search_term_view.search_term,
       metrics.impressions,
       metrics.clicks,
       metrics.cost_micros
FROM search_term_view
WHERE segments.date DURING LAST_90_DAYS
  AND campaign.id IN (<base>, <ai_max>)

Three numbers decide it. How many terms each campaign ran on. How many terms appear in both. How many terms got clicks in both. If the third number is close to zero, you do not have a duplication problem and you do not have a pricing comparison. You have two campaigns buying different things, and you should be judging each one on what it bought.

The bottom line

AI Max earns its place when the expansion finds demand you were not bidding on and that demand converts into work you want. It does not earn its place by appearing to buy your existing keywords at a discount, because in most accounts it is not buying them at all.

Before you move budget on the strength of a CPC gap, check whether the two campaigns have ever competed for a single query. Ours had competed for one, and it was worth eight clicks.

If you want the full setup we use for running AI Max alongside an exact match foundation, it is in our free Home Services Growth Playbook, and the phased build is covered in the two-phase AI Max strategy.