What’s New 
The recently announced search themes beta feature  for Performance Max campaigns lets you provide Google AI with valuable inputs about your customers and business to further optimize Performance Max campaign serving and placement. Beginning in Google Ads API v15 , you can create search themes for Performance Max campaigns with the API. 
How It Works 
Search themes beta lets you indicate queries that you know your customers are looking for. They are optional and are additive to what queries Performance Max would match by using your URLs, assets, and more.
 You can add up to 25 search themes per asset group.
 Search themes will respect brand exclusions in Performance Max and account-level negative keywords. You can configure brand exclusions through campaign criteria  using the BRAND  CustomerNegativeCriterionService  and the NegativeKeywordList  Results driven from search themes will bring your customers to the landing pages you’ve indicated with your Final URL expansion, page feeds, or URL settings. Final URL expansions can be enabled or disabled with url_expansion_opt_out . 
 Search themes will have the same prioritization as your phrase match and broad match  keywords in your Search campaigns.
 You’ll be able to see the search categories that your ads matched to, and associated conversion performance, in your search terms insights at both the campaign and account levels with the campaign_search_term_insight  customer_search_term_insight  reports. You can also view search term insights for custom date ranges, download your data, and access it using the API.  
Implementation Details 
In the Google Ads API, a search theme is a type of AssetGroupSignal , which can be attached to Performance Max campaigns at the asset group level.  You can add a search theme to an asset group by creating an AssetGroupSignal and populating the 
AssetGroupSignal.search_theme  SearchThemeInfo  criterion containing a text string representing your search theme, for example, "activities for children". In addition, you must populate the AssetGroupSignal.asset_group 
Here is a Java example for creating a search theme asset group signal:
// Creates a search theme asset group signal.
AssetGroupSignal assetGroupSignal =
    AssetGroupSignal.newBuilder()
        .setAssetGroup(assetGroupResourceName)
        .setSearchTheme(
            SearchThemeInfo.newBuilder().setText("activities for children").build())
        .build();
 
You can add multiple asset group signals to a single asset group by creating multiple AssetGroupSignal objects targeting the same asset group. However, each AssetGroupSignal object can only represent a single search theme or audience signal.
Reporting 
You can use the asset_group_signal  resource to get the search themes present in a Google Ads account. While performance metrics are currently available at the asset group level, they are not available at the asset group signal  level.
Here is a GAQL  example to retrieve search theme texts for a specific asset group:
SELECT
  asset_group_signal.search_theme.text
FROM asset_group_signal
WHERE
  asset_group.id = <Asset Group ID>
 
Policy Exemptions 
In v15 of the Google Ads API, we also introduced two new fields to provide additional information about search_theme approval: asset_group_signal.approval_status  and asset_group_signal.disapproval_reasons  asset_group_signal.approval_status field provides information about the approval status, and if the search theme text is not approved, the asset_group_signal.disapproval_reasons field lists the reasons why. 
Here is a GAQL  example to retrieve search theme texts with policy review information for a specific asset group:
SELECT
  asset_group_signal.search_theme.text, 
  asset_group_signal.approval_status, 
  asset_group_signal.disapproval_reasons 
FROM asset_group_signal 
WHERE 
  asset_group.id = <Asset Group ID>
 
If your search theme text is not approved, and you believe the usage adheres to Google’s policies, you can submit a policy exemption  request for the search theme that triggered the policy violation.
For example, if your search theme contains medical terms, and you believe the usage of the terms adheres to Google Ads policies and warrants further review, you can use the AssetGroupSignalOperation.exempt_policy_violation_keys[] 
Improving Performance Max integrations Blog Series 
This article is part of a series that discusses new and upcoming features that you have been asking for. Keep an eye out for further updates and improvements on our developer blog , continue providing feedback on Performance Max  integrations with the Google Ads API, and as always, contact our team  if you need support.
If you are new to Performance Max Campaigns, you can learn more with our getting started guide . Check out our asset groups  and asset group signals  guides to learn more.