Page Summary
-
AI Max for Search campaigns is an optimization layer for existing Google Ads Search campaigns that uses AI to help advertisers get more conversions and improve performance.
-
Key features include expanded reach through search term matching, tailored creatives via asset optimization, enhanced performance reporting, and additional controls for precision.
-
Enabling AI Max involves setting specific campaign-level parameters and allows for granular control over features like search term matching at the ad group level.
AI Max for Search campaigns is a suite of AI-powered features for Google Ads Search campaigns. It is not a new campaign type, but rather an optimization layer you can enable within an existing Search campaign. AI Max for Search campaigns is designed to use Google AI to help advertisers get more conversions and improve performance by expanding reach, tailoring creatives, and optimizing landing pages.
Key features and functionalities of AI Max for Search campaigns
Search term matching: This uses Google AI, including broad match and "keywordless" technology, to expand your reach beyond your existing keywords. It learns from your current keywords, ad creatives, and URLs to find new, relevant, and high-performing search queries you might otherwise miss.
Asset optimization: This feature includes two components that work together to deliver more tailored creative messages at scale:
- Text customization (formerly Automatically Created Assets): This uses text from your existing ads, landing page copy, and generative AI to create customized ad copy, headlines, and descriptions that are more relevant to a user's search.
- Final URL expansion: This feature automatically sends users to the most relevant landing page on your website based on their search intent, which can help improve engagement and conversion rates.
Asset automation control: To turn these features on or off with the API, set
AssetAutomationStatusEnum.AssetAutomationStatustoOPTED_IN(enabled) orOPTED_OUT(disabled) withinCampaign.asset_automation_settingsfor the correspondingAssetAutomationType(TEXT_ASSET_AUTOMATIONfor text customization andFINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATIONfor final URL expansion):- Default status: In Search campaigns, both
TEXT_ASSET_AUTOMATIONandFINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATIONdefault toOPTED_OUT(settingCampaign.ai_max_setting.enable_ai_maxtotrueonly enables search term matching by default). - AI Max for Search campaigns requirement: Setting either type to
OPTED_INrequiresCampaign.ai_max_setting.enable_ai_maxto betrue; otherwise, the mutate fails withCampaignError.AI_MAX_MUST_BE_ENABLED. - Final URL expansion dependency: Setting
FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATIONtoOPTED_INalso requiresTEXT_ASSET_AUTOMATIONto beOPTED_IN; opting in to final URL expansion whileTEXT_ASSET_AUTOMATIONisOPTED_OUTfails withContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT.
Enhanced reporting: AI Max for Search campaigns includes improved reporting to give advertisers more transparency into how the AI is performing. The
ai_max_search_term_ad_combination_viewreport provides data on performance for combinations of search terms, headlines, and landing pages. This view shows which search queries triggered your ads and how those specific combinations performed. See Reports for AI Max for Search campaigns.Additional controls: AI Max for Search campaigns provides new controls to give advertisers more precision. These include:
- Location of interest targeting: Lets you target customers based on
their geographical intent at the ad group level (reported in
matched_location_interest_view). - Brand settings: Lets you specify which brands your ads should be associated with (inclusions) or prevent them from appearing alongside specific brands (exclusions).
- URL inclusions and exclusions: Lets you include or exclude specific URLs from being used as landing pages.
- Text guidelines: Lets you refine brand messages using term exclusions and messaging restrictions.
- Location of interest targeting: Lets you target customers based on
their geographical intent at the ad group level (reported in
Enable AI Max for Search campaigns
To enable AI Max for Search campaigns, set Campaign.ai_max_setting.enable_ai_max to
true.
Use Campaign.ai_max_setting.bundling_required to determine if AI Max for Search campaigns
must be enabled to respect or modify text customization and brand list controls.
Use AdGroup.ai_max_ad_group_setting.disable_search_term_matching to
disable search term matching when a parent campaign has enabled AI Max for Search campaigns.
Starting in v25, you can also query the read-only
Campaign.aca_migration_date_time and
Campaign.broad_match_migration_date_time fields to check the timestamp
(yyyy-MM-dd HH:mm:ss in the customer's time zone) when an Automatically
Created Assets (ACA) or Broad Match campaign was migrated to AI Max for Search campaigns.
Disable AI Max for Search campaigns
To disable AI Max for Search campaigns, where Campaign.ai_max_setting.enable_ai_max is
set to true, change the value to false. This will disable all AI Max for Search campaigns
features and any text customization assets that were created will no longer
serve. They will still be available for reporting, since in the past they may
have accumulated impressions.
Refine brand messages with text guidelines
Text guidelines allow you to control the output of automatically generated text assets by specifying term exclusions and messaging restrictions.
To use text guidelines, populate the text_guidelines
(Campaign.TextGuidelines) field of the Campaign resource:
- Term exclusions (
term_exclusions): Populatetext_guidelines.term_exclusionswith a list of exact words or phrases to be excluded from generated text assets. Each exclusion can be up to 30 characters, with a maximum of 25 exclusions. - Messaging restrictions (
messaging_restrictions): Populatetext_guidelines.messaging_restrictionswith up to 40Campaign.MessagingRestrictionobjects to guide AI text generation. For each restriction, setrestriction_textto a unique freeform instruction (1 to 300 characters) and setrestriction_typetoRESTRICTION_BASED_EXCLUSION(the only supported restriction type).
Implement page feed inclusion lists at the ad group level
In the Google Ads UI, you can implement an inclusion list for page feeds at the ad group level. You can also do this with the Google Ads API.
Understand the API approach
Unlike the Google Ads UI, the Google Ads API does not have a direct field named
"Inclusion List" for ad groups. Instead, you control which pages from a page
feed can be used for Dynamic Search Ads (DSA) or for features like final URL
expansion within a specific ad group, by creating ad group criteria of type
WEBPAGE.
When you set up these WEBPAGE criteria, you instruct the system, including
features like AI Max for Search campaigns, to consider only the specified URLs or pages that
match certain custom labels from the campaign's associated page feed for that
particular ad group.
Implementation steps
Verify campaign prerequisites and link the page feed:
- For standard Search ad groups (
AdGroupType.SEARCH_STANDARD), make sure the parent campaign has both AI Max for Search campaigns enabled (Campaign.ai_max_setting.enable_ai_maxset totrue) and text customization opted in (TEXT_ASSET_AUTOMATIONset toOPTED_INinCampaign.asset_automation_settings). Otherwise, creating aWEBPAGEAdGroupCriterionfails withCriterionError.AI_MAX_MUST_BE_ENABLED. - Before you configure ad-group-level inclusions, the page feed, which is
represented as an
AssetSetof typePAGE_FEED, must be linked to the parent campaign. - Use
CampaignAssetSetServiceto create this association. This link makes the feed's contents available for targeting within the campaign.
- For standard Search ad groups (
Create the ad group criterion as an inclusion list:
- To specify which parts of the page feed apply to a specific ad group,
use the
AdGroupCriterionService. - Create a new
AdGroupCriterionresource. - Set the
ad_groupfield to the resource name of the target ad group. - Set the criterion type to
WEBPAGEby populating thewebpagefield of theAdGroupCriterion. - Inside the
WebpageInfoobject, setcriterion_name(required onCREATEoperations) and defineconditions[]withWebpageConditionInfoobjects to target specific pages from your feed:- Target by URL: Use
WebpageConditionOperand.URL, setoperator(WebpageConditionOperator) toCONTAINS(the default whenoperatoris omitted) orEQUALS, and specify the URL in theargument. WhenoperatorisCONTAINS,argumentcan be a URL substring or path (such as"/product/widget-a") and can be combined with other conditions (up to three conditions total). WhenoperatorisEQUALS,argumentmust be a fullhttp://orhttps://URL with a valid domain (passing a relative path fails withCriterionError.WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOLorCriterionError.INVALID_WEBPAGE_CONDITION_URL), and aURLEQUALScondition cannot be combined with any other conditions inconditions[](doing so fails with aWEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITIONCriterionError). - Target by custom label: Use
WebpageConditionOperand.CUSTOM_LABEL, setoperatortoEQUALS(the only supported operator and the default whenoperatoris omitted), and specify the label name in theargument.
- Target by URL: Use
- You can add up to three conditions per
WebpageInfo(logically ANDed, unless using aURLEQUALScondition, which must be the only condition), and create multiple positiveWEBPAGEcriteria in the ad group. Pages that match any of these positiveWEBPAGEcriteria form the "Inclusion List" for the ad group.
In this example, this
AdGroupCriteriontells the ad group to only consider pages from the campaign's page feed that have the URL containing/product/widget-aAND are tagged with theTopSellerscustom label.{ "ad_group": "customers/CUSTOMER_ID/adGroups/AD_GROUP_ID", "webpage": { "criterion_name": "Ad group inclusion criterion for top widgets", "conditions": [ { "operand": "URL", "operator": "CONTAINS", "argument": "/product/widget-a" }, { "operand": "CUSTOM_LABEL", "operator": "EQUALS", "argument": "TopSellers" } ] }, "negative": false }- To specify which parts of the page feed apply to a specific ad group,
use the