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.
BRAND
CustomerNegativeCriterionService
NegativeKeywordList
url_expansion_opt_out
campaign_search_term_insight
customer_search_term_insight
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
AssetGroupSignal.search_theme with a SearchThemeInfo criterion containing a text string representing your search theme, for example, "activities for children". In addition, you must populate the AssetGroupSignal.asset_group with the resource name of an existing asset group you are targeting.
AssetGroupSignal.search_theme
SearchThemeInfo
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.
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.
asset_group_signal
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>
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 . Search theme text must be approved by Google. The 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.
search_theme
asset_group_signal.approval_status
asset_group_signal.disapproval_reasons
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[] field to request a policy exemption.
AssetGroupSignalOperation.exempt_policy_violation_keys[]
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.