Performance Max: Create Search Themes beta with the Google Ads API
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.
In the Google Ads API, a search theme is a type of
Here is a Java example for creating a search theme asset group signal:
You can add multiple asset group signals to a single asset group by creating multiple
You can use the
Here is a GAQL example to retrieve search theme texts for a specific asset group:
In v15 of the Google Ads API, we also introduced two new fields to provide additional information about
Here is a GAQL example to retrieve search theme texts with policy review information for a specific asset group:
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
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.
How It Works
BRAND criterion type. Similarly, account-level negative keywords are configured at a customer level using
CustomerNegativeCriterionService and the
NegativeKeywordList criteria.
url_expansion_opt_out.
campaign_search_term_insight and
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
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 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.
// Creates a search theme asset group signal.
AssetGroupSignal assetGroupSignal =
AssetGroupSignal.newBuilder()
.setAssetGroup(assetGroupResourceName)
.setSearchTheme(
SearchThemeInfo.newBuilder().setText("activities for children").build())
.build();
AssetGroupSignal objects targeting the same asset group. However, each
AssetGroupSignal object can only represent a single search theme or audience signal.
Reporting
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.
SELECT
asset_group_signal.search_theme.text
FROM asset_group_signal
WHERE
asset_group.id = <Asset Group ID>
Policy Exemptions
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.
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>
AssetGroupSignalOperation.exempt_policy_violation_keys[] field to request a policy exemption.
Improving Performance Max integrations Blog Series