PPCleaner

What the PMax Search Terms Report Actually Shows

Published September 27, 202612 min read
An ecommerce owner and marketer reviewing search-query cards beside products and customer orders.
The short answer

Performance Max reports search terms in campaign_search_term_view, the same resource that serves Search and Shopping. That is the honest version of the report: one row per search term per campaign, with clicks, impressions, cost and conversions where Google will give them. The interface wraps that data in a category layer, drops anything below its own volume threshold, and does not tell you how much it dropped.

The practical consequence: the interface view is good enough to spot themes, and not good enough to size waste or to build a negative keyword list from. If you want the term-level rows, pull campaign_search_term_view through the API or a tool that does it for you, accept that a slice of spend will still have no term attached to it, and treat that slice as unknown rather than as zero.

Performance Max spent years as a black box. Then search terms appeared in the interface, and a lot of people declared the box open. It is not open. It has a window in it, and the window is smaller than the box.

The useful question is not "can I see PMax search terms" — you can — but "what is the shape of the thing I am seeing, and what is the shape of the thing underneath it". Those two shapes differ. Almost every piece of advice written about this report assumes they are the same.

The interface report and the API report are not the same object

In the Google Ads interface, the Performance Max search terms view is presented as categories with terms grouped inside them. In the API, Performance Max search terms live in campaign_search_term_view — the same resource that returns Search and Shopping terms — as flat rows: one search term, one campaign, and the metrics attached.

That is the first gap, and it is structural rather than cosmetic. The interface is showing you a summary of a table. The table exists. You can query it. When someone tells you PMax search terms are "grouped and you cannot get the raw terms", they are describing the interface, not the data.

The second gap is coverage. Both views omit terms below a volume threshold Google does not publish, and neither tells you what the omitted rows added up to. You get the terms that cleared the bar and nothing about the rest. This is the same privacy threshold that has thinned the Search search terms report for years — we wrote about that in what the Google Ads search terms report hides, and the mechanics are identical here. The difference is that in PMax you have no keyword list to reason backwards from, so the missing slice is harder to bound.

Practically, in the accounts we audit, a meaningful share of Performance Max spend has no search term you can name — often a large minority of it, sometimes more in low-volume accounts. We will not give you a single percentage, because the number moves with account size, vertical and how much of the campaign is running on Shopping inventory versus everything else. Measure it in your own account: sum the cost across the search term rows, compare it to campaign cost, and the difference is your blind slice.

Why the difference matters more than it looks

If you are reading the interface report to answer "what kind of intent is this campaign buying", the summary is fine. Categories are enough. If you are reading it to answer "how much did I waste last month" or "which terms should I block", the summary is actively misleading, because a category called something like office chairs can contain both ergonomic office chair and office chair repair near me, and those are not the same business.

A campaign-level cost figure that only covers the visible rows also understates waste. Someone who adds up the bad terms they can see and calls that number their wasted spend has measured the part of the iceberg above the waterline. There is a more honest way to do that arithmetic, and we laid it out in how to calculate wasted ad spend honestly.

What a PMax search term row actually contains

A row from campaign_search_term_view gives you the search term text, the campaign it belongs to, and the standard metrics: impressions, clicks, cost, conversions, conversion value. That is genuinely useful. It is also less than a Search campaign row gives you.

Here is what is missing, and each absence costs you something specific.

No keyword. There is nothing to match the term against, because there is no keyword. In Search you can look at a term and ask "which keyword dragged this in, and was it broad". In PMax that question has no answer. If you rely on match source to triage Search terms, that habit does not transfer.

No asset group. The row is campaign-level. You cannot see which asset group served against the term, so you cannot tell whether your accessories asset group is eating queries meant for the main product line. This is the single most requested field and it is not there.

No channel split. Performance Max serves on Shopping inventory, Search inventory, Display, YouTube, Gmail, Discover and Maps. The search term row tells you a term was involved. It does not tell you which surface the click happened on. A term with 400 impressions and 3 clicks could be a Shopping placement or a Search placement and you cannot distinguish them.

No exactness of the term itself. In Shopping, the search term is the query. In PMax, what you see has been through Google's processing, and some of what appears is closer to a normalised query than the literal string a person typed.

That list is not an argument for ignoring the report. It is an argument for knowing which questions it can and cannot answer before you build a process on top of it.

The API gives you rows; it does not give you the account

Pulling campaign_search_term_view through the API gets you past the category layer. It does not get you past anything else. Three limits survive the switch.

The volume threshold survives. The API applies the same suppression as the interface. Querying directly does not unlock terms Google has decided not to report.

The channel blindness survives. Display, Video and App campaigns report no search terms at all — that is not a PMax quirk, it is true across the account. If you run a Display campaign next to your PMax campaign, the search terms report has nothing to say about a cent of the Display spend. Anyone building a "total wasted spend" dashboard from search term rows is silently excluding those campaigns.

The attribution ambiguity survives. A conversion attributed to a PMax search term row is attributed under whatever model the account uses, across whatever window it uses. Two terms that look identical in the report can be doing very different jobs in the funnel.

What the API adds that the interface does not

Three things, and they are worth the effort.

Full term text at scale, so you can run string matching over it — every term containing free, job, salary, pdf, how to make, a competitor name, a wrong city. That is the raw material for a negative list, and you cannot do it against category labels.

Date ranges you control, so you can compare last 30 days against the 30 before and see terms that are new rather than terms that are large. New waste is the interesting waste. A term that has been quietly costing $40 a month for a year is a known loss; a term that appeared last Tuesday and has taken $180 is the one to look at today.

Cost per term that you can sum. Once you can sum it, you can compare it to campaign cost, and that difference is the number nobody else will tell you. It is the honest measure of how blind you are.

If you are doing this as part of a wider account review, the search term pull slots neatly into the sequence in our Google Ads audit checklist.

Seeing the term is not the same as being able to block it

This is where most articles about the PMax search terms report stop, and it is the half that matters. Visibility is only worth what you can do with it.

Performance Max accepts negative keywords at the campaign level, up to 10,000 of them. It does not accept shared negative keyword lists. So the list you have spent three years building in your Search account — the one on every Search campaign and every Standard Shopping campaign, because Shopping takes shared lists just like Search does — cannot be attached to a PMax campaign. You have to push its contents in, campaign by campaign, and keep them in sync by hand from then on.

That constraint changes how you read the report. There is no point identifying 4,000 junk terms if your process for acting on them is a person pasting into a text box once a quarter. And the 10,000 ceiling is real: if you paste in a bloated legacy list, you can burn most of the cap on terms that will never be searched again while leaving no room for the ones that show up next month. We worked through the arithmetic of that in negative keywords in Performance Max and the 10,000 cap.

Match type behaves the same way it does everywhere else

Broad, phrase and exact are the three negative match types in PMax, as in Search. Broad negatives behave unpredictably across match types and are the usual cause of a block that removes far more than intended. A broad negative on free is a reasonable-sounding decision that can quietly cut free delivery over $50, which is a phrase your best customers type.

Because negatives in PMax are campaign-level with no shared list to stage them in, a bad one is harder to notice and harder to unwind. The reasoning is the same as for Search — negative match types do not work like positive ones — but the consequences are less visible, because there is no keyword-level view to show you what stopped serving.

Search themes are not the mirror image of negatives

Search themes tell Google what to look for. Negative keywords tell Google what to refuse. They are not opposites, they do not cancel each other out, and adding a theme does not narrow anything. If you have been using themes to steer away from bad traffic, that is not what they do, and we explain why in search themes vs negative keywords.

Brand exclusions are the other tool people reach for, and they have their own edges — they work on a brand list Google maintains, not on arbitrary strings, so a misspelling of a competitor's name may sail straight through. What brand exclusions miss covers the cases.

How to read the report without fooling yourself

Four habits, in the order we would apply them to a new account.

Sum the visible cost first. Before you look at a single term, add up the cost across all reported search term rows for the campaign and the date range. Compare it to the campaign's total cost. If reported terms account for, say, $6,000 of $10,000 spent, you now know your report covers 60% of the money. Every conclusion you draw is a conclusion about that 60%. Write the number down. It is the most important line in the analysis and it is not in any export.

Sort by cost, not by impressions. A term with 90,000 impressions and 4 clicks is not your problem. A term with 200 impressions, 60 clicks and $340 spent and no conversions is. The interface default ordering encourages the opposite reading.

Look for shape, not for individual offenders. With incomplete data, the reliable signal is a pattern: a cluster of terms containing jobs, a cluster with used or second hand, a cluster with a city 300 miles outside your service area. Patterns survive sampling; individual rows do not. If four ... jobs terms cleared the reporting threshold, there are almost certainly more below it, and a single well-chosen negative covers both the visible and the invisible ones. That is the real argument for pattern-based blocking — see job seekers clicking your ads for the version of this we see most often.

Do not read one week as a trend. PMax traffic mix moves. A term that dominated last week may be gone this week because the algorithm shifted inventory. Two weeks is the shortest window we would draw a conclusion from, and monthly is safer for anything but the biggest spenders. How often to check search terms goes into the cadence.

The category view has exactly one good use

It is a fast read on intent mix. Open it, look at the top ten categories, and ask whether they describe the business you are trying to run. If a plumbing account's largest category is something like plumbing training, you have learned something real in fifteen seconds, and you have learned it faster than any export would tell you.

Use it for that. Do not use it to size anything.

What this means if you are not going to query the API

Most advertisers will not write a GAQL query, and that is a reasonable position. Here is the honest version of what you can do from the interface alone.

You can spot themes. You can find the obvious offenders — the job searches, the DIY queries, the competitor names, the wrong-country traffic. You can add campaign-level negatives for each PMax campaign. For a small account with one or two PMax campaigns and a few thousand dollars a month in spend, that is a defensible process, and doing it once a month will catch most of what matters.

What you cannot do from the interface is measure. You cannot tell whether the terms you are seeing represent 30% or 80% of spend. You cannot compare this month to last month at term level. And you cannot keep negatives in sync across campaigns without doing it by hand every time, which is the part that quietly stops happening in month four.

That gap widens with account size. At ten PMax campaigns, manual sync is a part-time job. At fifty, it does not happen. This is one of the honest inputs into the agency-or-DIY calculation — not whether you can do the work, but whether you will keep doing it in six months.

Where PPCleaner sits in this, and where it does not

PPCleaner reads campaign_search_term_view every night — Search, Shopping and Performance Max — judges which terms were never going to convert, and writes them in as negative keywords at the right level: shared lists where the campaign type accepts them, campaign-level negatives for Performance Max because that is the only thing PMax accepts. It never touches budgets, bids, ads or keywords, and it will not block a term that converted in the last 90 days. Every block is reversible in one click for 90 days.

The honest limits are the same ones above, because they are Google's limits and not ours.

We cannot see terms Google does not report. If a third of your PMax spend has no search term attached, we cannot act on that third any more than you can. A tool that claimed otherwise would be lying.

We cannot see the asset group or the channel a term served on, so we cannot tell you your waste is concentrated in one asset group. Nobody can, from this data.

We cannot do anything about Display, Video or App campaigns, which report no search terms at all. If those campaigns are where your money is going, this is the wrong tool.

And we work inside the 10,000-negative cap like everyone else. The practical effect is that the list has to stay disciplined — pattern-level blocks that cover many queries, not one negative per bad term. If you want to know why we are cautious about volume, how many negative keywords are too many has the reasoning.

What we do change is the cadence. The report being visible is worth very little if it gets opened in March and again in July. Most of the wasted spend hiding in Performance Max is not exotic — it is ordinary junk that sat unblocked for eleven weeks because nobody had time to open the report. That is a scheduling problem dressed as a visibility problem, and it is the one worth solving first.

performance maxsearch termsgoogle ads apinegative keywordsreporting

Frequently asked

Can I get raw Performance Max search terms, or only categories?

You can get raw terms. The interface shows a category layer on top, but the underlying data lives in `campaign_search_term_view` — the same API resource that serves Search and Shopping — as flat rows with term text, campaign, clicks, cost and conversions. Pulling that resource directly, or using a tool that does, gets you past the grouping. It does not get you past Google's volume threshold: terms below it are absent from the API too.

Why does my PMax search term cost not add up to my campaign cost?

Because Google suppresses search terms below an unpublished volume threshold, and reports nothing about the suppressed rows. The gap between the sum of your reported term costs and your total campaign cost is spend you cannot attribute to any named query. Calculate that gap before you draw conclusions — it tells you what share of the campaign your analysis actually covers.

Can I see which asset group a Performance Max search term hit?

No. The search term row is campaign-level. There is no asset group field and no channel field, so you cannot tell whether a term served on Shopping inventory, Search inventory or somewhere else, and you cannot attribute it to one asset group over another. This is a limit of the data Google exposes, not of any particular reporting tool.

Can I apply my existing shared negative keyword list to a Performance Max campaign?

No. Performance Max does not accept shared negative keyword lists. It accepts up to 10,000 campaign-level negative keywords, which means the contents of your shared list have to be added to each PMax campaign separately and kept in sync by hand. Standard Shopping, by contrast, accepts shared lists exactly like Search does.

How often should I check the Performance Max search terms report?

Monthly is a reasonable floor for most accounts, and two weeks is the shortest window we would draw any conclusion from — PMax shifts its traffic mix week to week, so a single week reads as noise. The bigger risk is not the interval but the drift: reviews that start monthly tend to become quarterly, and the terms that cost you most are the ones that sat unblocked for eleven weeks.

About the author

Alain Abulafya

Founder of PPCleaner · Google Ads consultant & media buyer

Alain has worked in digital marketing for more than 15 years, over 10 of them managing and optimizing Google Ads campaigns. He has worked with more than 100 advertisers in e-commerce and lead generation, and he is a Google Partner. He built PPCleaner to automate the search term reviews he used to do by hand for his clients.

Stop the leak

Clean your search terms. Save time and money.

Every night, PPCleaner reviews the searches your campaigns actually paid for, groups them by intent, and excludes the ones that never convert. No spend threshold to wait for, nothing touched but negatives — and one click undoes any of it.

Start 7 days free

Search, Shopping and Performance Max · Cancel in one click

Related articles

What the PMax Search Terms Report Actually Shows — PPCleaner