SEM
AI Max for Search campaigns: store production notes
I turn on AI Max for Search campaigns when a store already has a working Search account and Google treats the optimisation layer as the default, not an experiment. I am a Gold Coast web developer with 18 years on catalogues. I do not buy media as a day job. I do ship the landing pages, the feed and the conversion tags that decide whether that layer helps or just moves clicks onto the wrong URL.
This note is a production setup for Magento, Shopify and WooCommerce catalogues. New Search campaigns now opt into the layer by default. Text customisation is being folded into it through 2026. If you leave Final URL expansion on a store with faceted filters, cart routes and thin collection templates, Google will find pages you never meant to advertise. The work is not flipping a toggle. The work is deciding which URLs may serve, which brands may match, and how you will read the report two weeks later.
Why AI Max for Search campaigns matters on a live catalogue
AI Max for Search campaigns matters on a live catalogue because it is not a new campaign type. Google's setup help is blunt: it is an optimisation layer inside the Search campaigns you already run. Search term matching, text customisation and Final URL expansion sit on those campaigns. New Search campaigns have the layer selected by default. Existing accounts that still use automatically created assets are being moved onto the same panel.
That changes the daily work. A merchandiser used to argue about exact match versus phrase. Under the layer, Google's API overview treats keywords as broad by default unless you disable search term matching at the ad group. Campaign-level keyword match type is deprecated once the layer is on. If you still think your exact brand ad group is a fence, you need a new fence: brand lists, URL exclusions, and negatives you add after the learning window, not on day one.
It also changes the page you thought you bought. Final URL expansion can replace the RSA destination with another URL on the same domain that Google predicts will convert. Text customisation then writes headlines to match that page. Pinned RSA assets are not respected when expansion or URL inclusions are on. I have watched a rooftop-tent ad land on a generic camping blog post because the post mentioned tents and the collection template was slow. That is a landing page problem. I wrote the sibling note on landing pages that convert Google Ads traffic.
Budget-limited campaigns are a quiet failure. Google's how it works page says the layer will not be effective if the campaign or portfolio is limited by budget. You will still see the toggle. You will not get a fair test. The split in Performance Max vs Search campaigns for stores does not go away either. This layer makes Search more automatic. It does not make PMax a Search campaign.
How AI Max for Search campaigns actually works
AI Max for Search campaigns actually works as three switches that share one learning loop: search term matching, text customisation, and Final URL expansion. Google's help groups the last two under asset optimisation. Search term matching is on by default at ad group level once the campaign opts in. You can turn it off per ad group. Text customisation and Final URL expansion are campaign settings, on by default when you opt in.
Search term matching uses broad match plus what Google calls keywordless technology. It learns from the keywords you still have, the ads, and the URLs. Incremental queries show in the search terms report with match type "AI Max" and a source column that distinguishes broad expansion from landing-page or asset matching. That is useful. It is also how a Magento layered-nav URL or a Shopify tag page becomes "relevant" because the HTML still contains the product name.
Text customisation is the old automatically created assets, renamed. It pulls copy from your ads, the landing page, keywords and assets, then generates headlines and descriptions for a specific query. You can constrain it with text guidelines: term exclusions and messaging restrictions. When you later disable text customisation, those generated assets are reported as Removed and stop serving.
Final URL expansion sends the click to another URL on your domain when Google thinks that page will perform better and is themed to the ad group. It requires text customisation, so the ad copy can match the new page. Turn text customisation off and expansion turns off with it. URL exclusions live at campaign level and only apply while expansion is on. URL inclusions live at ad group level. If you enable both inclusions and expansion, Google may use your list and other URLs it likes. If you need a closed list, inclusions without expansion is the tighter pattern.
Brand exclusions are campaign level. Brand inclusions are campaign or ad group, and an ad group list overrides the campaign for that group only. Neither list replaces a negative keyword review.
Tracking templates are where stores break first. Expansion substitutes a dynamic landing page. If your template is a static URL with no {lpurl} tag, shoppers hit the static URL instead. Google's how-it-works article lists the patterns that survive: {lpurl}?, {lpurl}&, {lpurl}#, and {lpurl} with no extra parameters. Test one expanded URL through the template before you opt the whole brand campaign in.
Features need conversion-based Smart Bidding to work as designed. Purchase should be the primary conversion, with a real value. I still pair that with Google Ads enhanced conversions so the purchase Google sees is the order the gateway recorded.
On Shopify I treat collections and PDPs as the only default destinations. Cart, account, search, discount landing pages and password pages go in exclusions. On WooCommerce the same list is cart, checkout, my-account and internal search. On Magento I add checkout, customer account, catalogsearch and the faceted parameter patterns I already hide from crawl in Magento faceted navigation and crawl budget. If a filter URL is not fit to index, it is not fit to advertise.
Production checklist before you opt in
A Search campaign is ready for the layer when the conversion action, the URL set and the bidding strategy already tell the truth.
- Confirm the campaign uses conversion-based Smart Bidding and that purchase, with value and currency, is the primary goal. Newsletter and add-to-cart stay secondary.
- Confirm the conversion is the same order the gateway records. Hash first-party data if you have not. Fix duplicates before you ask an optimisation layer to learn.
- Raise budget so the campaign is not limited. A limited campaign will not give you a clean read.
- Inventory the URLs you refuse to land on: cart, checkout, account, search, blog pagination, gift-card balance, wishlist, layered filters, out-of-stock templates, staging hosts.
- Add those as campaign URL exclusions, exact URLs and URL-contains rules. Do this while expansion is on, because exclusions require it.
- Decide per ad group whether search term matching stays on. Brand-protect ad groups often get it off. Generic product ad groups often leave it on.
- Decide whether Final URL expansion stays on. If your RSA pins carry legal or offer copy you cannot lose, turn expansion and URL inclusions off so pins still serve.
- If expansion stays on, write text guidelines for claims you never make: free shipping that is not free, in-stock copy when Magento lags, competitor names, medical claims, sale percentages a stale promo banner still prints.
- Attach brand inclusions for the brands you sell. Attach brand exclusions for brands you do not. Check the ad group override so a multi-brand catalogue does not inherit a too-tight campaign list.
- Fix the tracking template so it uses
{lpurl}in a supported pattern. Place a test click on a URL that is not the RSA default and confirm the tag still fires. - Check Consent Mode. Modelled conversions plus expansion will look like demand when they found a cookieless ping on a blog post. See Consent Mode v2 for paid media tracking.
- Do not dump a week of new negatives on day one. Google's reporting help asks for at least two weeks after enablement before you start carving the query graph.
Old DSA campaigns have an upgrade path that converts dynamic ad groups to standard ad groups and dynamic ads to RSAs. Legacy "page title contains" rules become read-only. Read the upgrade dialog before you click it.
What breaks when Final URL expansion picks the wrong page
Final URL expansion picks the wrong page when the domain is full of URLs that mention the product and cannot sell it.
Faceted navigation is the Magento classic. A colour-plus-size filter URL still renders the product grid, so Google treats it as themed to the ad group. The shopper lands on a duplicate with a weak canonical and a slow LCP. Exclude the filter patterns. Keep the canonical collection in the RSA.
Thin content is the Shopify classic. A vendor page, a generated tag page, or a blog recipe that lists the product will outrank a collection if the collection template is mostly filters. Exclude /blogs if the blog is not a shoppable landing page. Give the collection unique copy so the layer has something better to pick.
Account and cart routes are the WooCommerce classic. Cart and My account contain product names in order history. Expansion should never send a prospect there.
Pinned offers break next. You pinned a weekend percentage off because the RSA had to say it. Expansion chooses a PDP with no promo module. Pins are ignored. The ad still claims the sale. The page does not. Keep expansion off while the promo is live, or put the offer on every eligible template.
Tracking templates break as 404s, not as Ads diagnostics. Walk one expanded URL through the template in a logged-out browser. Feeds still have to agree with the PDP: if Shopping titles say "Product 18442 blue" and the H1 says "Navy merino crew," keywordless matching has nothing honest to learn from. Fix that in Google Shopping feed quality for product ads. Review assets marked "Google AI" and remove copy that would fail a merchandiser. You cannot bulk-remove those in the Google Ads UI. The API and Google Ads Editor can.
How to measure AI Max for Search campaigns
You measure AI Max for Search campaigns in Google Ads reports, then you referee those numbers against gateway orders. Do not judge the toggle on three days of CPA.
Open the search terms report. Add the Source column. Use the "Search terms and landing pages from AI Max" view so you see the query, the headline and the URL together. Filter match type to AI Max when you want the incremental set, but remember that filter skips "Other search terms," so the total will look smaller than the campaign. If a term or URL is junk, add it as a negative keyword or a negative URL from that view. Do that after the two-week window unless the URL is cart or account, in which case exclude it immediately.
Open the keywords report and read the two summary rows at the bottom: "Total: AI Max expanded matches" (broad expansion from the keywords you added) and "Total: AI Max landing page matches" (queries that matched pages or assets outside those keywords). If landing-page matches dwarf expanded matches, the site is doing the targeting. That can be good on a clean catalogue. It is a warning on Magento filters.
Open the landing pages report. The "Selected by" column shows whether AI Max chose the URL. Compare conversion rate and conversion value against the RSA defaults. A high-click, low-convert expanded URL is an exclusion candidate, not a bid tweak.
Open the asset report. Google-customised text is marked "Google AI" in Added by. Remove copy that overclaims. New is the point. Untrue is the problem.
Then compare gateway orders, Google Ads conversion value for the Search campaign, the AI Max summary rows, and GA4 purchase for the same landing pages. Ads will not match the gateway one-to-one. You want the same direction and a stable gap. If expanded URLs convert far below the RSA set, expansion is shopping the wrong templates. If everything looks efficient and the gateway is flat, you have a tag problem, not an AI win.
I do not invent lift numbers for my own work. On Their Nibs the published story is the storefront rebuild: 31 percent more conversions, 48 percent more orders. That was merchandising and journey. On retail conversion at scale year-on-year sales rose $2.5 million over three years across three Magento stores. An optimisation layer on a weak PDP will spend faster. It will not fix the page.
Related work on this site
The Magento retail work is where I learned to treat the category URL as the product. The retail conversion at scale case is operations and merchandising on three stores. The Their Nibs Shopify rebuild is a fashion storefront where collection and PDP quality moved conversion. The Brigade Overland Shopify migration is the query-to-kit problem: a rooftop-tent search has to land on that kit. This layer will pick a story page if the kit template is thin.
FAQ
These are the questions I get after the toggle is already on.
Do I need AI Max for Search campaigns if I already run Performance Max?
Yes, if you still want a Search campaign you can inspect. AI Max for Search campaigns is not Performance Max. PMax covers Shopping, YouTube, Display and Search from asset groups. This layer stays inside Search: keywords, ad groups, search terms, and the URL controls above. You can run both. You should still keep brand Search visible so PMax cannot hide it.
Can AI Max for Search campaigns replace my keyword list?
No. Search term matching expands from the keywords, ads and URLs you already have. An empty ad group with the layer on is not a strategy. Keep the product and brand terms you care about. Use the AI Max rows to see what else matched. Add negatives after the learning window when a term is consistently worthless, not because it is new.
Should AI Max for Search campaigns use Final URL expansion on Magento?
Only after you exclude filters, search, account and checkout, and only if the canonical collection or PDP is a better page than the alternatives. AI Max for Search campaigns will treat a layered-nav URL as themed if the grid still shows the products. Magento catalogues are where expansion earns its reputation for random landing pages. Expansion can stay on. The exclusion list has to be real.
How long should I wait after enabling AI Max for Search campaigns?
Wait at least two weeks before you judge performance or load a new negative list, unless a URL is obviously unsafe (cart, account, a 404, a legal claim). AI Max for Search campaigns needs conversion volume to pick queries and pages. A boutique Shopify store with a handful of daily orders will not show a stable split in three days. Read the landing pages report either way.
Keep reading
Contact if you want this kind of work on a live store.