# Performance Max Search Categories Report & Account-Level Negative Keywords

> How to use Performance Max Search Categories and account-level negative keywords together to systematically cut PMax junk traffic. With BigQuery automation and a real account use case.


**By Murtaza Rangwala** · **Published:** May 29, 2026 · **Read time:** 7 min read · **Category:** Performance Max

For the first three years of Performance Max, advertisers had two complaints: *we can't see what queries we're matching against*, and *we can't add negative keywords across the account*.

Both complaints are now mostly answered. Google rolled out the **Search Categories report** (formerly "Search themes" report) and, after years of asking, **account-level negative keywords for PMax**. Used together, these two features let you finally audit and control PMax search traffic.

Most advertisers haven't built a workflow around them yet. That's a big optimisation gap.

Here's how to read the Search Categories report properly, how to apply account-level negatives systematically, and how to automate the audit with BigQuery.

!!!
**The TL;DR:** PMax Search Categories tell you *what kind* of queries triggered your ads, even when you can't see individual search terms. Combined with account-level negative keywords, you can finally cut PMax junk traffic without rebuilding campaigns. Weekly audit + automation. Big ROAS movement.
!!!

## What the Search Categories report actually shows

Open any Performance Max campaign and go to **Insights > Search categories**. You'll see categories like:

- *Generic ticket search*
- *Branded competitor search*
- *Location-based attraction search*
- *Long-tail informational queries*

Each category groups together search terms Google considers semantically similar. Categories show impressions, clicks, conversion volume, and conversion value.

**What you don't see:** individual search terms. Google still hides those for privacy/competitive reasons.

**What you do see:** which categories are profitable and which are bleeding budget.

> If a category has 12,000 impressions, 800 clicks, and 1 conversion, you don't need to see the individual search terms to know that category is a problem.

## What's changed with account-level negatives

Until 2024, negative keywords had to be added campaign by campaign. Across an MCC with 40 PMax campaigns, that meant 40 manual edits per negative.

Now, you can add **account-level negative keywords** that apply to every PMax campaign in the account at once. The setting lives at:

**Tools > Shared library > Account-level negative keywords**

This is the unlock. It means a single audit can clean up junk traffic across the entire account in one move.

## The audit workflow

Here's the weekly workflow I run for PMax accounts:

### 1. Pull the Search Categories report for each PMax campaign

In the Google Ads UI:

- Open the campaign.
- Go to **Insights > Search Categories**.
- Set the date range to **last 30 days**.
- Sort by **cost**.
- Export.

### 2. Score each category

For each category, look at:

- **Cost per conversion** — is it within target?
- **Conversion rate** — is it within range of the campaign average?
- **Conversion value / cost** — is it producing profitable ROAS?
- **Impression volume** — is this a significant chunk of the campaign?

Categories that look profitable, keep. Categories with high cost, low conversion volume, and below-target ROAS — these are your candidates for negatives.

### 3. Translate categories into negative keywords

The Search Categories report shows the *name* of the category. To turn that into actual negative keywords, you need to think about what queries probably belong to that category and add them as negatives.

For example, if **"refund and cancellation queries"** is showing up as wasted spend on a ticketing account, add:

- `refund`
- `cancel my booking`
- `how to cancel`
- `chargeback`

These probably aren't queries you should be bidding on anyway — they're customer service issues, not buying intent.

### 4. Apply at account level

Go to **Tools > Shared library > Account-level negative keywords**. Add the new negatives there.

> One add. Every campaign updated. That's the unlock account-level negatives give you.

### 5. Document what you added and why

Keep a running log. Date, category, negatives added, reason. Future-you will need to remember why "refund" is on the account-level negative list.

## Automating the audit with BigQuery

For accounts with 5+ PMax campaigns, the manual export-per-campaign approach gets old fast. Here's how to automate.

### Set up the Google Ads → BigQuery transfer

1. In BigQuery, open **Data Transfer Service**.
2. Create a new transfer from **Google Ads**.
3. Authenticate with the Google Ads MCC.
4. Schedule daily transfers.

This gives you a `p_SearchTerm_<account_id>` table and related tables with PMax category-level data updated daily.

### Query the search categories table

```sql
SELECT
  campaign.name AS campaign_name,
  search_term_view.search_category AS category,
  SUM(metrics.cost_micros) / 1000000 AS cost,
  SUM(metrics.clicks) AS clicks,
  SUM(metrics.conversions) AS conversions,
  SUM(metrics.conversions_value) AS conversion_value,
  SAFE_DIVIDE(SUM(metrics.conversions_value), SUM(metrics.cost_micros) / 1000000) AS roas
FROM
  `your_project.your_dataset.p_SearchTermInsight_<account_id>`
WHERE
  segments.date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) AND CURRENT_DATE()
  AND campaign.advertising_channel_type = 'PERFORMANCE_MAX'
GROUP BY
  campaign_name, category
HAVING
  cost > 50
  AND (roas < 1.5 OR conversions = 0)
ORDER BY
  cost DESC;
```

This query pulls every search category across all PMax campaigns where cost is over £50 in the last 30 days *and* ROAS is below 1.5 (or zero conversions). Your "negatives candidate" list, in one query.

### Connect Looker Studio for visibility

Plug the BigQuery table into Looker Studio and build a dashboard showing:

- Top 20 categories by wasted spend (cost where conversion value < cost)
- Trend lines over time
- Per-campaign category breakdown

The dashboard becomes the input to your weekly audit meeting.

## Use case: a multi-brand ticketing account

A composite based on patterns from a couple of accounts I've worked on.

A ticketing business with eight PMax campaigns across multiple brands was spending £180k/month on Google Ads. ROAS reported in Google Ads was healthy at 580%. Real ROAS on profit was much lower.

We ran the Search Categories audit across all eight campaigns. Findings:

- **"Refund and cancellation" category** was burning £4,200/month with zero conversions. Customer service queries, no buying intent.
- **"Generic competitor brand searches"** was burning £8,900/month. Branded queries for competitors that wouldn't convert on this brand.
- **"Information-only queries"** (questions like *"what time does X open"*) was burning £6,100/month with very low conversion rate.
- **"Free / discount-hunting"** was burning £3,800/month with a 95% refund rate on the conversions it did produce.

Total identified waste: ~£23,000/month across eight campaigns.

We added account-level negatives covering all four patterns. Total time to implement: 45 minutes.

**Results over the next 60 days:**

- Spend dropped by £18,400 (some categories needed two rounds of negatives to fully filter).
- Conversion volume held steady (the negatives were filtering non-converters).
- Reported ROAS improved by 23%.
- Real profit ROAS improved by 31% because the highest-refund category was eliminated.

The audit didn't require any new campaign structure. Just the new tools used properly.

## Common mistakes

- **Applying campaign-level negatives instead of account-level.** Doubles the work, easy to miss campaigns.
- **Adding negatives without testing for false positives.** *"Cancel"* as a negative can block *"cancel my Cancun flight booking"* on a travel account. Use phrase or exact match where the broad match keyword is too aggressive.
- **Ignoring categories with high spend but acceptable ROAS.** These are usually fine. Focus negatives on categories that are clearly losing money.
- **Trying to do this monthly.** Search behaviour changes weekly. A monthly cadence misses fast-moving waste patterns.
- **Forgetting to revisit old negatives.** Some negatives that made sense six months ago may now be blocking real demand. Audit the negative list every quarter.

## Bottom line

PMax used to be a black box. It still isn't fully transparent — but with the Search Categories report and account-level negative keywords, advertisers finally have enough control to systematically clean up junk traffic.

- Use the **Search Categories report** weekly.
- Apply negatives at **account level**, not campaign level.
- Automate the audit with **BigQuery + Looker Studio** if you have 5+ PMax campaigns.
- Review your **negative list quarterly** so it doesn't grow stale.

This single workflow is one of the highest-ROI optimisations a senior PPC manager can run in 2026. Most accounts I've audited have 15-25% of PMax spend going to categories that should have been negativised months ago.

Find it. Cut it. Watch ROAS move.

---

**Sources and further reading:**

- [About Search Categories in Performance Max (Google Ads Help)](https://support.google.com/google-ads/answer/13725978)
- [About account-level negative keywords (Google Ads Help)](https://support.google.com/google-ads/answer/14129917)
- [Google Ads Data Transfer to BigQuery](https://cloud.google.com/bigquery/docs/google-ads-transfer)
- [Performance Max best practices guide (Google Ads Help)](https://support.google.com/google-ads/answer/10724817)

---

**Tags:** pmax, performance max, account level negative keywords, pmax optimisation

## About the author

Murtaza Rangwala is a senior independent Google Ads consultant. 8 years, 1,900+ campaigns shipped, $250M+ in client revenue generated. Independent practice capped at four concurrent clients.

- More posts: https://www.murtazarangwala.com/blog
- Book a 30-min call: https://calendly.com/murtaza_rangwala/30min
- Free Google Ads audit: https://www.murtazarangwala.com/#audit