In mid-October 2026, Google Ads engineers began testing an analytics capability long sought after by performance marketers: the Search terms and ad combinations report. This experimental diagnostic tool tackles one of the most frustrating aspects of algorithmic search marketing, namely the opacity surrounding Smart Bidding algorithms and Responsive Search Ads (RSA).
The report was first spotted by Natasha Kaurra, who shared a screenshot on LinkedIn, and Search Engine Roundtable covered it on 14 October 2026 as a test. It shows up in accounts running AI Max for Search campaigns, and Google has not published a help article for it yet.
Historically, advertisers could review search terms in one isolated table and evaluate individual text asset performance ratings in another. Determining exactly which combination of headlines and descriptions was presented to a user searching for a specific commercial phrase was practically impossible.
For technical directors and e-commerce engineers building on WordPress, this reporting transparency unlocks substantial operational advantages. By linking winning ad copy combinations directly with WooCommerce data layers, engineering teams can simultaneously reduce wasted advertising spend and feed verified conversion queries into organic SEO topical clusters.
This technical guide investigates the data model behind the new Google Ads report, explores how to extract actionable conversion insights for WooCommerce, and details the server-side infrastructure required to complete the first-party data loop.
What the search terms and ad combinations report shows so far
There is no official announcement or help center page for the report yet. Everything known comes from the screenshot Natasha Kaurra posted and from the Search Engine Roundtable write-up, which says Google “seems to be testing” it. According to that report, one table combines five fields that used to live in separate views:
| Column | What it holds |
|---|---|
| Search terms | The queries users actually entered |
| Headlines and descriptions | The ad text served with each search |
| Landing pages | The URL the click was sent to |
| Match sources | Whether traffic came from AI Max expanded matches or from landing page and URL inclusions |
| Asset sources | Whether the ad assets were provided by the advertiser |
The last two columns explain the link to AI Max. Google’s AI Max for Search campaigns page lists three features: broader search term matching, “better text customization of your headlines and descriptions” and “final URL expansion to increase the relevancy of your landing page to a user’s intent”. With those switched on, the text and the landing page a shopper sees may not be ones the advertiser wrote or picked. For a WooCommerce catalogue this matters most for final URL expansion: a category or product URL chosen by Google now sits in the same row as the query that triggered it.
Because it is a test, column names and availability can still change, and the screenshot does not show which metrics, such as conversions or conversion value, sit next to each row. The workflow below therefore starts from the reports Google documents today and treats the new report as an extra layer once it appears in an account.
Why the search terms and ad combinations report eliminates the RSA black box
Since Responsive Search Ads became the mandatory standard for Google Search campaigns, marketing teams have wrestled with algorithmic assembly unpredictability. Advertisers supply up to fifteen headlines and four descriptions, allowing machine learning models to synthesize ad variations dynamically based on user context.
Operating without asset-query correlation reporting led to persistent operational inefficiencies:
- Undetected semantic misalignment: An automated ad could display technical specifications to an entry-level consumer seeking introductory advice, triggering high bounce rates on the landing page.
- Internal auction cannibalization: Multiple dynamic variants within the same ad group competed for overlapping queries, obscuring the true marginal cost per acquisition.
- Inaccurate negative keyword management: Standard search term tables indicated click volume and cost, but failed to explain whether poor conversion resulted from an inferior landing page or an inaccurate promise in the headline.
The diagram below outlines the data pipeline within the new Google Ads reporting framework:
[User Query Entered in Google Search]
│
▼
[Semantic Intent Classification]
│
▼
[Dynamic RSA Assembly: up to 3 Headlines + 2 Descriptions]
│
▼
[Click Event & Landing Page Session]
│
▼
[New Report: Search Term <-> Headlines and Descriptions <-> Landing Page]By connecting the exact search phrase with the specific headline combination that drove the click, analysts can determine which value propositions resonate with specific segments of buyers.
How to read the search terms and combinations reports in Google Ads today
The existing search terms report is under “Campaigns”, then “Insights and reports”, then “Search terms”. Three details from Google’s documentation change how its rows should be read:
- The “Match type” column shows how closely each search term relates to your keyword. The “Keyword” column is hidden by default and is switched on under “Columns”, “Attributes”, “Keyword”.
- Search terms without enough query activity are left out to protect user privacy, so the visible rows never add up to all the traffic you paid for.
- Dynamic Search Ads and Shopping matches show no keyword and “Exact” as the match type.
For ad text there are two separate views. The combinations report sits under “Campaigns”, “Ads”, then “View asset details” below the ad and the “Combinations” tab. It lists the combinations a responsive search ad produced and the impressions each received. Google warns against rebuilding them as static ads, because the combinations “aren’t guaranteed to perform the same as your ads”: selection depends on real-time signals. The asset report lists every headline and description with impressions, clicks, cost, conversions and conversion value. Full per-asset statistics apply to dates from 5 June 2025, the old “Performance label” column is deprecated, and Google calls ratio metrics such as CTR, CPA and ROAS at asset level directional only.
The RSA rules behind those numbers: one ad takes up to 15 headlines and 4 descriptions, with at least 3 headlines and 2 descriptions required. A served ad shows at least one headline and one description. Headline 1 and Description 1 usually appear, while Headline 2, Headline 3 and Description 2 may not. Pinning to Headline position 1 or 2 guarantees display, but Google says it “isn’t recommended for most advertisers” and can lower Ad Strength. A winning claim found in these reports is best added as a new headline that still rotates, not pinned into every position.
Translating winning PPC combinations into organic WooCommerce SEO
The most effective e-commerce growth strategies treat paid search as an accelerated testing environment for organic content development. Paid campaigns generate statistically significant behavioral data across thousands of targeted visitors within days. Waiting months for organic search rankings to validate commercial messaging is unnecessary when paid query performance data is readily available.
Practical steps for deploying combination data across your WordPress architecture:
1. Enriching category page H1 and H2 headers
When the report demonstrates that the search phrase “commercial stainless steel espresso machine” achieves its highest conversion rate when paired with a headline emphasizing “two-year commercial warranty” rather than “discounted price”, that value proposition should be mirrored on the organic category page.
Injecting a dynamic conversion block into WooCommerce category templates reinforces user intent and lowers bounce rates:
add_action('woocommerce_archive_description', function () {
if (!is_product_category()) {
return;
}
$queried_object = get_queried_object();
$custom_hero_title = get_term_meta($queried_object->term_id, 'hero_conversion_title', true);
$custom_hero_desc = get_term_meta($queried_object->term_id, 'hero_conversion_desc', true);
if (!empty($custom_hero_title)) {
echo '<div class="category-conversion-banner my-6 p-6 bg-slate-50 border border-slate-200 rounded-lg">';
echo '<h2 class="text-xl font-bold text-slate-900 mb-2">' . esc_html($custom_hero_title) . '</h2>';
if (!empty($custom_hero_desc)) {
echo '<p class="text-sm text-slate-600 leading-relaxed">' . esc_html($custom_hero_desc) . '</p>';
}
echo '</div>';
}
}, 15);2. Updating FAQPage and Product structured data markup
Winning RSA headlines frequently address customer hesitation points (dispatch deadlines, component compatibility, return shipping policies). Structuring these specific clarifications using Schema.org JSON-LD supplies verified data to both Google’s organic index and generative AI engines (AEO).
How Quality Score relates to headline and landing page relevance
Google defines Quality Score as a diagnostic on a 1 to 10 scale at keyword level. It is built from three components, each rated “Above average”, “Average” or “Below average”: expected CTR, ad relevance (“how closely your ad matches the intent behind a user’s search”) and landing page experience (“how relevant and useful your landing page is to people who click your ad”). The same page states that Quality Score “is not an input in the ad auction” and is not a KPI to optimize.
That changes how the WooCommerce work above should be judged. Writing the converting query into a headline addresses ad relevance. Answering the same query on the category page addresses landing page experience. The place to check both is the component columns for the keyword, not the single score, and a component that moves from “Below average” to “Average” after a category page rewrite is the signal that the page now matches the query.
First-party data architecture and server-side tracking in WooCommerce
Capitalizing on query combination data requires measurement accuracy that browser-based pixels cannot deliver. Ad blockers, browser privacy restrictions, and cookie lifetime limits degrade client-side tracking reliability.
Implementing server-side tracking via Server-Side Google Tag Manager (sGTM) enables WooCommerce stores to dispatch conversion events directly to Google Ads without client-side interception.
Comparison of analytics tracking architectures in e-commerce:
| Technical Parameter | Client-side Browser Tracking | Server-side sGTM Architecture | Impact on Combination Reporting |
|---|---|---|---|
| Data completeness | Partial (ad blockers and browser privacy limits drop events) | More complete (server-side events plus enhanced conversions recover conversions the browser misses) | Flawless conversion attribution to RSA |
| Privacy compliance (GDPR) | Client URL parameter leakage risks | Granular data sanitization before dispatch | Full control over customer PII |
| Performance impact (TTFB) | Multiple heavy JavaScript SDKs | Single asynchronous server payload | Lighter landing page for the shopper |
| Gross margin bidding | Infeasible (exposing margins in HTML) | Executed natively in PHP backend | Bidding focused on actual gross profit |
The PHP snippet below illustrates how to trigger an asynchronous server-side conversion event upon WooCommerce order completion:
add_action('woocommerce_thankyou', function ($order_id) {
if (!$order_id) {
return;
}
$order = wc_get_order($order_id);
if (!$order || $order->get_meta('_sgtm_conversion_dispatched')) {
return;
}
// Build sanitized transactional payload
$payload = [
'event_name' => 'purchase',
'order_id' => (string) $order->get_id(),
'currency' => $order->get_currency(),
'value' => (float) $order->get_total(),
'shipping' => (float) $order->get_shipping_total(),
'tax' => (float) $order->get_total_tax(),
'items_count' => $order->get_item_count(),
'user_data' => [
'email_hash' => hash('sha256', strtolower(trim($order->get_billing_email()))),
'phone_hash' => hash('sha256', preg_replace('/[^0-9+]/', '', $order->get_billing_phone())),
],
'timestamp' => current_time('timestamp'),
];
// Non-blocking asynchronous dispatch to sGTM container
$endpoint_url = defined('SGTM_SERVER_ENDPOINT') ? SGTM_SERVER_ENDPOINT : 'https://data.wppoland.com/events';
wp_remote_post($endpoint_url, [
'method' => 'POST',
'timeout' => 5,
'redirection' => 2,
'blocking' => false, // Do not block order confirmation rendering
'headers' => [
'Content-Type' => 'application/json',
'X-Secret-Key' => defined('SGTM_SECRET') ? SGTM_SECRET : '',
],
'body' => wp_json_encode($payload),
]);
$order->update_meta_data('_sgtm_conversion_dispatched', '1');
$order->save();
}, 20);Using a non-blocking request ('blocking' => false) guarantees that the customer experiences immediate checkout confirmation while the advertising API receives complete transaction data.
How to format hashed customer data for enhanced conversions
The snippet above hashes email and phone before they leave the store. Google’s enhanced conversions documentation sets the format these values need before they can be matched:
- Hashing uses hex-encoded SHA256, and data may also be sent already hashed.
- Before hashing, trim whitespace and lowercase the text. For gmail.com and googlemail.com addresses, remove periods before the domain name.
- Phone numbers must be in E.164 format, with the plus sign and country code, and a phone number must be sent together with an email or with a full name and address.
- Each field accepts several values: up to 3 for email and phone, 2 for address.
- Fields the store does not collect are left out, not sent empty.
That is why the phone line in the snippet keeps the plus sign. Stripping every non-digit character produces a hash that cannot match a number stored in E.164. WooCommerce stores the billing phone as the customer typed it, so the order data needs normalizing to E.164 first, with the country code taken from the billing country.
If the store also runs enhanced conversions through the Google tag in the browser, Google gives two checks: the conversion request in the network tab carries an “em” parameter starting with “tv.1~em” followed by the hashed string, and the tag diagnostics report becomes available about 72 hours after implementation.
Consent applies to both paths. Consent mode passes the choice from the store’s cookie banner to Google tags; ad_storage controls Google Ads cookies and identifiers. In the basic implementation, Google tags do not load until the visitor interacts with the banner. In the advanced implementation, tags load at once and send cookieless pings while consent is denied, which lets Google use an advertiser-specific conversion model instead of a general one.
Inventory and profit margin synchronization with enterprise ERP
A frequent pitfall in search advertising is optimizing bids for gross revenue rather than actual product profitability. An ad combination may drive substantial transaction volume for a low-margin SKU that incurs expensive logistics overhead, eroding overall business profitability.
In enterprise installations, establishing a bi-directional WooCommerce ERP integration ensures that real-time margin tiers and stock levels govern advertising aggressiveness.
This enables Google Ads to optimize bids using Custom Labels in the Google Merchant Center product feed:
- High Margin Label: Aggressive bidding paired with comprehensive quality-focused headline combinations.
- Clearance Label: Price-driven dynamic headlines emphasizing immediate shipping and bundle discounts.
- Low Stock Warning Label: Automatic bidding suppression when warehouse inventory falls below safety thresholds.
When an ERP update flags an out-of-stock condition, an automated webhook to WooCommerce updates catalog status, prompting the advertising platform to pause related ad variations before budget is wasted on backordered products.
The label mechanics are documented in Google Merchant Center help. There are five attributes, custom_label_0 to custom_label_4. Each product takes one value per attribute, values run from 1 to 100 characters, and each attribute allows up to 1,000 unique values in the account. Google’s own example uses custom_label_3 for margin with the values “low margin” and “high margin”. The labels filter Performance Max, Shopping and Demand Gen campaigns for reporting and bidding, and shoppers never see them. They do not reach Search campaigns, so the RSA headlines from the combinations report are paused or rotated at ad group level, while the ERP margin group lives in the feed.
Database hygiene and server security under intense query volume
Synchronizing high-frequency conversions, analytics webhooks, and catalog updates places substantial load on MySQL databases. In stores processing thousands of monthly orders, the wp_postmeta table can expand rapidly, introducing latency into checkout queries.
Maintaining infrastructure resilience requires systematic maintenance protocols, such as those evaluated during a comprehensive WordPress security audit.
Key optimization protocols for database resilience:
- High-Performance Order Storage (HPOS): Migrating orders from legacy post tables into dedicated WooCommerce tables drastically reduces metadata write times.
- Transient cleanup routines: Purging expired session transients via scheduled cron jobs during off-peak hours.
- Redis object caching: Retaining product catalog structures in RAM to prevent database table locking during concurrent API requests.
- Analytics webhook isolation: Routing incoming analytics payloads to an independent PHP-FPM process pool with distinct memory allocations.
The Nginx configuration below illustrates how to isolate analytics ingestion routes from standard consumer traffic:
# Dedicated processing pool for analytics webhooks and ERP sync
location ~ ^/wp-json/analytics-collector/ {
limit_req zone=analytics_limit burst=50 nodelay;
fastcgi_pass unix:/run/php/php8.3-fpm-analytics.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
fastcgi_read_timeout 30s;
fastcgi_buffer_size 32k;
fastcgi_buffers 16 16k;
}Isolating process pools prevents sudden influxes of automated analytics requests from impacting the responsiveness of consumer shopping carts.
Strategic decision matrix for the new Google Ads report
Interpreting the Search terms and ad combinations report requires a structured operational framework rather than ad-hoc inspections.
Decision matrix for ad combination optimization:
| Report Observation | Root Cause | Google Ads Action | WordPress / WooCommerce Action |
|---|---|---|---|
| High CTR, Zero Conversions | Headline promises a feature missing on the page | Add the more specific claim as a new headline, remove the misleading one | Audit technical specifications in Product Schema |
| Low CTR, High Conversion Rate | Generic headline understates product strengths | Introduce headlines incorporating exact user queries | Launch a dedicated organic landing page |
| High Cost, Unprofitable Cart Value | Query attracts consumers to enterprise products | Add consumer-oriented negative keywords | Clarify minimum order quantity requirements |
| Frequent Availability Queries | Buyers check dispatch speed within the query | Deploy headlines stating “In stock for immediate dispatch” | Add live stock counter badges to product pages |
Executing this review cycle every two weeks systematically eliminates unproductive ad combinations while continuously refining organic landing page messaging.
How to add negative keywords from search terms without blocking sales
The decision matrix ends in negative keywords more often than in any other action, and Google’s negative keyword rules behave differently from positive match types:
- Negative broad match blocks the ad when the search contains all the negative terms, in any order.
- Negative phrase match blocks the ad when the terms appear in the same order, even with extra words around them.
- Negative exact match blocks the ad only for those exact terms, in that order, with no extra words.
- Negative keywords do not match close variants or other expansions, so singular and plural forms or common misspellings need their own entries.
- In searches longer than 16 words, a negative term placed after the 16th word may not block the ad.
For a WooCommerce store that sells to both trade and consumer buyers, a phrase-match negative on the consumer wording excludes those searches from a trade-only category without blocking the product name itself. Google also warns that too many negatives reduce reach, so each batch added from the search terms report should be checked against impressions in the next review cycle.
Implementation roadmap for engineering and marketing teams
The testing of the Search terms and ad combinations report signals a welcome shift toward data transparency in search advertising. Companies that bridge these paid query insights with their underlying WooCommerce platform will consistently outperform competitors relying on disconnected marketing stacks.
Recommended implementation sequence:
- Step 1: Measurement foundation audit:
- Verify tracking tag health and ensure compliance with Google Consent Mode v2.
- Step 2: Server-side tracking deployment:
- Establish a Server-Side Google Tag Manager container and configure asynchronous WooCommerce checkout webhooks.
- Step 3: Taxonomy and metadata alignment:
- Incorporate validated high-converting search queries into category titles, headers, and meta descriptions.
- Step 4: Automated ERP margin synchronization:
- Implement real-time inventory and margin tier feeds to steer bidding automation toward profitable stock.
- Step 5: Recurring combination governance:
- Conduct bi-weekly reviews of RSA combinations to prune underperforming assets and scale winning messaging across all marketing channels.







