Get started with AI Max for Search campaigns

  • 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.AssetAutomationStatus to OPTED_IN (enabled) or OPTED_OUT (disabled) within Campaign.asset_automation_settings for the corresponding AssetAutomationType (TEXT_ASSET_AUTOMATION for text customization and FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION for final URL expansion):

  • 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_view report 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.

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:

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

  1. Verify campaign prerequisites and link the page feed:

  2. 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 AdGroupCriterion resource.
    • Set the ad_group field to the resource name of the target ad group.
    • Set the criterion type to WEBPAGE by populating the webpage field of the AdGroupCriterion.
    • Inside the WebpageInfo object, set criterion_name (required on CREATE operations) and define conditions[] with WebpageConditionInfo objects to target specific pages from your feed:
      • Target by URL: Use WebpageConditionOperand.URL, set operator (WebpageConditionOperator) to CONTAINS (the default when operator is omitted) or EQUALS, and specify the URL in the argument. When operator is CONTAINS, argument can be a URL substring or path (such as "/product/widget-a") and can be combined with other conditions (up to three conditions total). When operator is EQUALS, argument must be a full http:// or https:// URL with a valid domain (passing a relative path fails with CriterionError.WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL or CriterionError.INVALID_WEBPAGE_CONDITION_URL), and a URL EQUALS condition cannot be combined with any other conditions in conditions[] (doing so fails with a WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION CriterionError).
      • Target by custom label: Use WebpageConditionOperand.CUSTOM_LABEL, set operator to EQUALS (the only supported operator and the default when operator is omitted), and specify the label name in the argument.
    • You can add up to three conditions per WebpageInfo (logically ANDed, unless using a URL EQUALS condition, which must be the only condition), and create multiple positive WEBPAGE criteria in the ad group. Pages that match any of these positive WEBPAGE criteria form the "Inclusion List" for the ad group.

    In this example, this AdGroupCriterion tells the ad group to only consider pages from the campaign's page feed that have the URL containing /product/widget-a AND are tagged with the TopSellers custom 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
    }