v. 2022-10-06

<br />

Required Minimum Functionality (RMF) refers to the features and other
functionality that certain tool developers must offer when using the Google Ads API. As
set forth below, RMF rules are grouped into three categories: Creation
Functionality, Management Functionality, and Reporting Functionality. Your
compliance with these rules depends on how you use the Google Ads API (an "RMF applies"
means that RMF applies to you):

|   | Creation Functionality | Management Functionality | Reporting Functionality |
|---|---|---|---|
| Full-Service Tool - advertisers, agencies, and other third parties use your tool to fully manage their Google Ads accounts | RMF applies | RMF applies | RMF applies |
| Reporting Only - only a reporting dashboard available to end-advertisers | RMF doesn't apply | RMF doesn't apply | RMF applies |
| Internal Use Only - individual advertiser or agency use only; no third-party access to tool (meaning you're the only one that uses your tool) | RMF doesn't apply | RMF doesn't apply | RMF doesn't apply |

If your tool offers very limited and specialized functionality, and could not be
used for creating and managing campaigns, ad groups, and ads, it may not qualify
as a full-service tool. In this case, the creation and management RMF would not
apply. If you're not sure whether the RMF policy applies to your tool, [contact
the Google Ads API Compliance team](https://support.google.com/adspolicy/contact/contact_ads_api). The Google Ads API Compliance team
will decide whether your tool is full-service or not. Your tool may be
reevaluated if the functionality changes significantly.

Note that RMF only applies to Google Cloud projects with Standard access level.

## One-time extension for major updates

In recognition of the fact that API tools may periodically perform extensive
technology upgrades, tools that have met all RMF deadlines for at least 2
consecutive years can apply for a 6 month RMF extension in order to implement
such upgrades to their platform. If the extension is granted, during the
extension period these tools will not be reviewed for compliance with RMF
requirements. At the end of the extension period, the tool must be in full
compliance with all RMF requirements that were due on or before the last date of
the extension period. All RMF requirements due after the end of the extension
will remain due on the date specified in the table below.

An API tool may be granted at most one extension every four years (the second
extension must start at least 4 years after the first one ends).

If you would like to apply for an extension for your tool, request an
application form by contacting us at
[contact the Google Ads API Compliance team](https://support.google.com/adspolicy/contact/contact_ads_api). Your application must
be signed and submitted by an executive (CEO, CTO or Senior VP) of your company.
Note that your application is not guaranteed to be approved.

## Requirements for Shopping-only, App Promotion-only, and Hotel-only API tools

If your tool is only designed to create and manage one of the following campaign
types, then you are only required to implement the Google Ads API creation and
management features and reports in the RMF that work with that campaign type.

- [App Promotion campaign](https://developers.google.com/google-ads/api/docs/api-policy/rmf#app_campaign_tool_feature_list)
- [Hotel campaigns](https://developers.google.com/google-ads/api/docs/api-policy/rmf#hotel-only_tool_feature_list) (*available only in the Google Ads API*)
- [Performance Max campaigns](https://developers.google.com/google-ads/api/docs/api-policy/rmf#performance_max_campaign_feature_list) (*available only in the
  Google Ads API*)
- [Smart campaigns](https://developers.google.com/google-ads/api/docs/api-policy/rmf#smart_campaign_feature_list) (*available only in the Google Ads API*)
- [Standard Shopping campaigns](https://developers.google.com/google-ads/api/docs/api-policy/rmf#standard_shopping_campaign_tool_feature_list)

> [!NOTE]
> **Note:** Smart Shopping campaigns are being upgraded to [Performance Max](https://developers.google.com/google-ads/api/performance-max) campaigns. See our [blog post about upgrades](https://ads-developers.googleblog.com/2022/01/ssc-lc-upgrade-performance-max.html) for more information.

## Requirements for reporting-only Google Ads API clients

In order to be compliant with RMF requirements, a Reporting-only Google Ads API Client
must show Reporting Functionality for each of the levels of the Google Ads hierarchy
displayed in its reporting interface. A level of the Google Ads hierarchy means one
of Account, Campaign, Ad Group, Ad or Keyword. For example, if a Reporting-only
Google Ads Client does show Ad Groups, then it must implement all of the "Ad
Group"-level Reporting Functionality that is labeled as "Required" below.

A Reporting-only Google Ads API Client may choose not to show specific levels of the
Google Ads hierarchy in its reporting interface. For example, if a Reporting-only
Google Ads API Client does not show any Ad Group performance data in its interface,
then it need not implement any of the "Ad Group"-level Reporting RMF.

The above policy also applies to all other report types, though they are not
levels of the Google Ads hierarchy. Should you choose to implement any of these
reports, you must show all the required fields for each respective report.

In order to be compliant with RMF requirements, Google Ads API Client must display all
the columns marked required in the Object/Field/Guide column for each report, as
default. All other [Metric columns](https://developers.google.com/google-ads/api/fields/v26/metrics) must be made available, as an
option for users of the Google Ads API Client. Google Ads report data should be reasonably
prominent and accessible to end users.

## Downloadable reports

If your tool provides a download option, for example a CSV, instead of
displaying reporting functionality within the user interface, then the download
link must be prominently displayed and intuitively labeled. The downloaded file
must contain all of the required reporting fields and be clearly labeled.

## Reporting date ranges

We recommend that you allow users to filter reporting data by date range. If
your tool doesn't support custom date ranges, then it should at least provide
the last 30 days of data for each required reporting field.

## Requirements for API clients providing creation functionality or management functionality

In order to be compliant with RMF requirements, a Full-Service Google Ads API Client
must implement all the required creation and management features in the table
below and show Reporting Functionality for each of the reports below.
Additionally, you must make reasonable effort to ensure that each of the
features is easily accessible and functional to end advertisers as measured by
the usage of those features.

## Requirements for API clients providing planning services

If a Google Ads API Client provides any functionality related to KeywordPlanIdeaService
or KeywordPlanService, it must fully implement the required Creation
Functionality, Management Functionality and Reporting Functionality marked
"Required" in the table below.

## Requirements for API clients providing recommendation service

All API clients are permitted to use GoogleAdsService and RecommendationService
to retrieve recommendations.

The use of `RecommendationService.ApplyRecommendation()` and
`RecommendationService.DismissRecommendation()` are limited to the following
types of Google Ads API Clients:

- Full-service tools
- Internal-only tools
- Shopping-only, Performance Max / Smart Shopping-only, App Promotion-only, and Hotel-only API tools
- Special purpose tools that offer campaign management functionality

If a Google Ads API Client offers the functionality to apply or dismiss recommendations
using RecommendationService, it must satisfy the following requirements:

1. It must fully implement the required Creation Functionality, Management Functionality and Reporting Functionality for their tool category.
2. All Google Ads Recommendations shown to end users must be presented as "Google Ads Recommendations" in the tool's UI.
3. End users must be able to view and apply all Google Ads Recommendations that are surfaced by the Google Ads API Client.

## Requirements for bid adjustments

All API Clients providing Creation or Management functionality must satisfy the
following requirements related to bid adjustments:

1. End users must be allowed to input the entire range of allowable values.
2. End users must be able to review and edit the bid adjustments before it is set by the Google Ads API Client.
3. Bid adjustments must be represented only as adjustments to bids, and may not be used to enable or approximate other features, such as targeting or exclusion.

## Feature implementation

Unless otherwise specified below, a feature is implemented if and only if all
available sub-features and parameters are also implemented. The [API
Reference](https://developers.google.com/google-ads/api/reference/rpc) documents which parameters and sub-features are
available. For example, the feature "Opt in/out of networks" implies support for
opting in/out of Google Search, search partners, and the display network.
Furthermore, if you implement in your Google Ads API Client a feature similar to any
feature not required by Google, you must then also implement the similar Google
feature in your Google Ads API Client. For example, if you implement your own version
of "Keyword Ideas" in your Google Ads API Client, then you must also implement Google's
"Keyword Ideas" functionality in your Google Ads API Client.

To maintain RMF compliance, any new required features must be added by the due
date (shown next to each feature as **Due: YYYY-MM-DD** ). Any RMFs with no
specified due date are past due. Additionally, we require that you send
screenshots and/or mockups of material proposed changes to the Google Ads API Client,
at least two weeks prior to these changes taking effect, using the [Tool Change
form](https://support.google.com/adspolicy/contact/tool_change). For the sake of clarity, after that two week period has
elapsed, you do not need to wait for a response from Google before those
material changes take effect.

### Full-service Tool Feature List

| Item Number | Functionality | Object/Field/Guide | Requirement |
|---|---|---|---|
| #### Creation Functionality ||||
| C.10 | Create campaign | `campaign` | Required |
| C.20 | Enable geo targeting | [Location Targeting](https://developers.google.com/google-ads/api/docs/targeting/location-targeting#geo-target-campaigns-for-a-region) | Required. Optional to expose to the user if only one country is relevant for the user base. |
| C.30 | Enable language targeting | `campaign_criterion.language language_constant` | Required. Optional to expose to the user if only one language is relevant for the user base. |
| C.65 | Create website / call conversion and generate code snippet | [Conversion Tracking](https://developers.google.com/google-ads/api/docs/conversions/overview) | Required at least one type of conversion tracking. |
| C.75 | Callout extensions | Callout feed placeholder Extension Setting Services Feed Services | Required. This needs to be supported at the account level only. |
| C.96 | Set bidding option: Target CPA (Portfolio and Standard) | `campaign.target_cpa` (Standard) `bidding_strategy.target_cpa` (Portfolio) | Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
| C.97 | Set bidding option: Target ROAS (Portfolio and Standard) | `campaign.target_roas` (Standard) `bidding_strategy.target_roas` (Portfolio) | Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
| C.98 | Set bidding option: Maximize Conversions (Standard) | `campaign.maximize_conversions` (Standard) | Required |
| C.120 | Set budget | `campaign_budget` | Required |
| C.190 | Create ad group | `ad_group` | Required. Optional: ability to create multiple Ad groups. |
| C.260 | Add keyword | `ad_group_criterion.keyword` | Required |
| C.270 | Add campaign negative keywords | `campaign_criterion.negative` | Required |
| C.300 | Set keyword match type | `ad_group_criterion.keyword .match_type` | Required |
| #### Management Functionality ||||
| M.10 | Edit campaign settings | `campaign.*setting` | Required. Only settings required at creation time would be required at change time. |
| M.96 | Edit bidding option: Target CPA (Portfolio and Standard) | `campaign.target_cpa` (Standard) `bidding_strategy.target_cpa` (Portfolio) | Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
| M.97 | Edit bidding option: Target ROAS (Portfolio and Standard) | `campaign.target_roas` (Standard) `bidding_strategy.target_roas` (Portfolio) | Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
| M.98 | Edit bidding option: Maximize Conversions (Standard) | `campaign.maximize_conversions` (Standard) | Required |
| M.110 | Pause / enable / remove campaign | `campaign.status` | Required |
| M.130 | Pause / enable / remove ad | `ad_group_ad.status` | Required |
| M.140 | Pause / enable / remove keyword | `ad_group_criterion.status` | Required |
| #### Reporting Functionality ||||
| R.10 | Customer | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` `metrics.all_conversions` | Required |
| R.20 | Campaign | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` `metrics.all_conversions` | Required |
| R.20 | Campaign | `campaign.status` | Required if showing paused, active, and removed campaigns. *** ** * ** *** Optional if only showing active campaigns. |
| R.40 | Ad Group Ad | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` | Required |
| R.40 | Ad Group Ad | `ad_group_ad.status` | Required if showing paused, active, and removed ads. *** ** * ** *** Optional if only showing active ads. |
| R.50 | Keyword View | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` `ad_group_criterion .position_estimates .first_page_cpc_micros` `ad_group_criterion .position_estimates .first_position_cpc_micros` | Required |
| R.50 | Keyword View | `ad_group_criterion.status` | Required if showing paused, active, and removed keywords. *** ** * ** *** Optional if only showing active keywords. |
| R.70 | Search Term View | `search_term_view.search_term` `segments.search_term_match_type` `metrics.clicks` `metrics.cost_micros` `metrics.impressions` | Required |
| R.100 | Dynamic Search Ads Search Term View | `dynamic_search_ads_search_term_view.search_term` `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` | Required only if implementing Dynamic Search Ads. |
| R.130 | Bidding Strategy | `bidding_strategy.type` `metrics.clicks` `metrics.cost_micros` `metrics.cost_per_conversion` `metrics.impressions` `metrics.average_cpc` `metrics.conversions` | Required |
| R.130 | Bidding Strategy | `bidding_strategy.status` | Required if showing paused, active, and removed strategies. *** ** * ** *** Optional if only showing active strategies. |

### App campaign Tool Feature List

| Item Number | Functionality | Object/Field/Guide | Requirement |
|---|---|---|---|
| #### Creation Functionality ||||
| C.20 | Enable geo targeting | [Location Targeting](https://developers.google.com/google-ads/api/docs/targeting/location-targeting#geo-target-campaigns-for-a-region) | Required. Optional to expose to the user if only one country is relevant for the user base. |
| C.30 | Enable language targeting | `campaign_criterion.language language_constant` | Required. Optional to expose to the user if only one language is relevant for the user base. |
| C.65 | Create website / call conversion and generate code snippet | [Conversion Tracking](https://developers.google.com/google-ads/api/docs/conversions/overview) | Required at least one type of conversion tracking. |
| C.96 | Set bidding option: Target CPA (Portfolio and Standard) | `campaign.target_cpa` (Standard) `bidding_strategy.target_cpa` (Portfolio) | Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
| C.96 | Set bidding option: Pre-reg | [App ads for pre-registration](https://developers.google.com/google-ads/api/docs/app-campaigns/create-campaign#focus_on_app_pre_registration) | Required for app campaigns for pre-registration. |
| C.190 | Create ad group | `ad_group` | Required. Optional: ability to create multiple ad groups. |
| C.190 | Add assets to ad group | `ad_group` | Required: text assets. Optional for image and video assets. |
| C.601 | Create install or re-engagement [app campaigns](https://developers.google.com/google-ads/api/docs/app-campaigns/create-campaign) | ` ` | Required: app campaign install or app campaign re-engagement but not both. |
| C.602 | Enable app campaign settings | `https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign.AppCampaignSetting` | Required: ability to select the app to be advertised or add deep links for engagement. |
| #### Management Functionality ||||
| M.601 | Pause / enable / remove app campaign | `campaign.status` | Required |
| M.602 | Edit app campaign settings | `campaign.*setting` | Required |
| #### Reporting Functionality ||||
| R.10 | [Account performance](https://developers.google.com/google-ads/api/docs/app-campaigns/reporting) | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` `metrics.all_conversions` | Required |
| R.20 | [Campaign Performance](https://developers.google.com/google-ads/api/docs/app-campaigns/reporting) | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` `metrics.all_conversions` | Required if showing paused, active, and removed campaigns. *** ** * ** *** Optional if only showing active campaigns. |
| R.20 | [Campaign Performance](https://developers.google.com/google-ads/api/docs/app-campaigns/reporting) |

### Hotel-only Tool Feature List

| Item Number | Functionality | Object/Field/Guide | Requirement |
|---|---|---|---|
| #### Creation Functionality ||||
| C.11 | Create hotel campaign | [hotel campaign](https://developers.google.com/google-ads/api/docs/hotel-ads/create-campaign) | Required |
| C.12 | Set Hotel Center identifier for hotel campaign | `https://developers.google.com/google-ads/api/reference/rpc/v26/Campaign.HotelSettingInfo#hotel_center_id` | Required |
| C.20 | Enable geo targeting | [Location Targeting](https://developers.google.com/google-ads/api/docs/targeting/location-targeting#geo-target-campaigns-for-a-region) | Required Optional to expose to the user if only one country is relevant for the user base. |
| C.30 | Enable language targeting | `campaign_criterion.language language_constant` | Required. Optional to expose to the user if only one language is relevant for the user base. |
| C.65 | Create website / call conversion and generate code snippet | [Conversion Tracking](https://developers.google.com/google-ads/api/docs/conversions/overview) | Required at least one type of conversion tracking. |
| C.120 | Set budget | `campaign_budget` | Required |
|   | Set bidding strategy | [Hotel Bidding](https://developers.google.com/google-ads/api/docs/hotel-ads/bidding/overview) | Optional to allow the user to choose a specific bidding strategy and set a target. |
| C.190 | Create hotel ad group | `https://developers.google.com/google-ads/api/docs/hotel-ads/create-ad-group` | Required. Optional: ability to create multiple Ad groups. |
| C.526 | Add first (root) partition hotel group partition | [hotel listing groups](https://developers.google.com/google-ads/api/docs/hotel-ads/create-listing-groups) | Required for Hotel Ads campaign to run, but not required to be exposed to the user. |
| #### Management Functionality ||||
| M.10 | Edit campaign settings | `campaign.*setting` | Required |
| M.110 | Pause / enable / remove campaign | `campaign.status` | Required |
| M.161 | Subdivide (add hotel group partition) | [hotel listing groups](https://developers.google.com/google-ads/api/docs/hotel-ads/create-listing-groups) | Required |
| M.191 | Exclude hotel group | `https://developers.google.com/google-ads/api/reference/rpc/v26/AdGroupCriterion#negative` | Required |
| #### Reporting Functionality ||||
| R.10 | [Account performance](https://developers.google.com/google-ads/api/docs/hotel-ads/reporting) | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` `metrics.all_conversions` | Required |
| R.20 | [Campaign Performance](https://developers.google.com/google-ads/api/docs/hotel-ads/reporting) | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` `metrics.all_conversions` | Required if showing paused, active, and removed campaigns. *** ** * ** *** Optional if only showing active campaigns. |
| R.111 | [Hotel Performance View report](https://developers.google.com/google-ads/api/docs/hotel-ads/reporting) | `https://developers.google.com/google-ads/api/fields/v26/hotel_performance_view` | Required |
| R.111 | [Hotel Performance View report](https://developers.google.com/google-ads/api/docs/hotel-ads/reporting) |

### Performance Max Campaign Feature List

| Item Number | Functionality | Object/Field/Guide | Requirement |
|---|---|---|---|
| #### Creation Functionality ||||
| C.10 | Create campaign | `campaign` | Required. Optional: ability to create multiple campaigns. |
| C.20 | Enable geo targeting | [Location Targeting](https://developers.google.com/google-ads/api/docs/targeting/location-targeting#geo-target-campaigns-for-a-region) | Required. Optional to expose to the user if only one country is relevant for the user base. |
| C.30 | Enable language targeting | `campaign_criterion.language language_constant` | Required. Optional to expose to the user if only one language is relevant for the user base. |
| C.65 | Create website / call conversion and generate code snippet | [Conversion Tracking](https://developers.google.com/google-ads/api/docs/conversions/overview) | Required at least one type of conversion tracking. |
| C.120 | Set budget | `campaign_budget` | Required |
|   | Set bidding strategy |   | Optional to allow the user to choose a specific bidding strategy and set a target. |
| #### Management Functionality ||||
| M.10 | Edit campaign settings | `campaign.*setting` | Required. Only settings required at creation time would be required at change time. |
| M.110 | Pause / enable / remove campaign | `campaign.status` | Required |
| #### Reporting Functionality ||||
| R.10 | Customer | `metrics.clicks` `metrics.cost_micros` `metrics.conversions` | Required. Optional if only showing only one campaign. |
| R.20 | Campaign | `metrics.clicks` `metrics.cost_micros` `metrics.conversions` | Required |

### Smart Campaign Feature List

The following table defines the minimum set of functionality required to
implement [Smart Campaigns](https://developers.google.com/google-ads/api/docs/smart-campaigns/overview). If your tool implements
Smart Campaigns at all, you must implement at minimum this set of features. If
your tool does not implement Smart Campaigns, then these features are not
required.

| Item Number | Functionality | Object/Field/Guide | Requirement |
|---|---|---|---|
| #### Creation Functionality ||||
| C.10 | Create Smart Campaign | [Smart Campaign](https://developers.google.com/google-ads/api/docs/smart-campaigns/create-campaign) | Required |
|   | Add keyword theme | [KeywordThemeInfo](https://developers.google.com/google-ads/api/reference/rpc/v26/KeywordThemeInfo) | Required for campaign creation, but optional to expose to the user. |
| C.20 | Enable geo targeting | [Location Targeting](https://developers.google.com/google-ads/api/docs/targeting/location-targeting#geo-target-campaigns-for-a-region) | Required for campaign creation, but optional to expose to the user. |
| C.70 | Location assets | [Location assets](https://developers.google.com/google-ads/api/docs/assets/location-assets) | Required only if integrating with a [Business Profile](https://developers.google.com/google-ads/api/docs/assets/location-assets). |
| C.120 | Set budget | `campaign_budget` | Required |
| C.200 | Add ad | [Create ad](https://developers.google.com/google-ads/api/docs/smart-campaigns/create-ad-group-and-ad) | Required for campaign creation, but optional to expose to the user. |
| #### Management Functionality ||||
| M.10 | Edit campaign settings (all campaign-creation settings displayed to advertiser) | `campaign.*setting` | Required |
| M.110 | Pause / enable / remove campaign | `campaign.status` | Required |
| M.130 | Pause / enable / remove ad | `ad_group_ad.status` | Required |
|   | Set / Edit Campaign schedule | `https://developers.google.com/google-ads/api/reference/rpc/v26/CriterionTypeEnum.CriterionType#ad_schedule` | Required |
|   | Remove / Add keyword theme | `https://developers.google.com/google-ads/api/reference/rpc/v26/KeywordThemeInfo` | Required for campaign creation, but optional to expose to the user. |
|   | Add/Remove Negative Keyword Theme | `https://developers.google.com/google-ads/api/reference/rpc/v26/KeywordThemeInfo` | Required for campaign creation, but optional to expose to the user. |
| #### Reporting Functionality ||||
| R.20 | [Campaign Performance](https://developers.google.com/google-ads/api/docs/smart-campaigns/reporting) | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversions` `metrics.all_conversions` | Required if showing paused, active, and removed campaigns. Optional if only showing active campaigns. |
| R.20 | [Campaign Performance](https://developers.google.com/google-ads/api/docs/smart-campaigns/reporting) | `https://developers.google.com/google-ads/api/reference/rpc/v26/ConversionActionTypeEnum.ConversionActionType#smart_campaign_map_clicks_to_call` `https://developers.google.com/google-ads/api/reference/rpc/v26/ConversionActionTypeEnum.ConversionActionType#smart_campaign_map_directions` | Required only if integrating with a [Business Profile](https://developers.google.com/google-ads/api/docs/assets/location-assets). |
| R.70 | [Smart Campaign Search Term View](https://developers.google.com/google-ads/api/fields/v26/smart_campaign_search_term_view) | `metrics.clicks` `metrics.cost_micros` | Required |

### Standard Shopping Campaign Tool Feature List

| Item Number | Functionality | Object/Field/Guide | Requirement |
|---|---|---|---|
| #### Creation Functionality ||||
| C.10 | Create campaign | `campaign` | Required |
| C.20 | Enable geo targeting | [Location Targeting](https://developers.google.com/google-ads/api/docs/targeting/location-targeting#geo-target-campaigns-for-a-region) | Required. Optional to expose to the user if only one country is relevant for the user base. |
| C.65 | Create website / call conversion and generate code snippet | [Conversion Tracking](https://developers.google.com/google-ads/api/docs/conversions/overview) | Required at least one type of conversion tracking. |
| C.97 | Set bidding option: Target ROAS (Portfolio and Standard) | `campaign.target_roas` (Standard) `bidding_strategy.target_roas` (Portfolio) | Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
| C.120 | Set budget | `campaign_budget` | Required |
| C.190 | Create ad group | `ad_group` | Required. Optional: ability to create multiple Ad groups. |
| C.270 | Add campaign negative keywords | `campaign_criterion.negative` | Required |
| C.300 | Set keyword match type | `ad_group_criterion.keyword .match_type` | Required |
| C.505 | Set merchant identifier | ` ` | Required |
| C.506 | Set sales country | ` ` | Required |
| C.510 | Set inventory filter | ` ` | Required |
| C.520 | Create product ad | ` ` | Required |
| C.525 | Add first (root) product partition | ` ` | Required |
| C.530 | Create local inventory ads | ` ` | Required |
| #### Management Functionality ||||
| M.10 | Edit campaign settings | `campaign.*setting` | Required. Only settings required at creation time would be required at change time. |
| M.97 | Edit bidding option: Target ROAS (Portfolio and Standard) | `campaign.target_roas` (Standard) `bidding_strategy.target_roas` (Portfolio) | Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
| M.110 | Pause / enable / remove campaign | `campaign.status` | Required |
| M.150 | Edit inventory filter | ` ` | Required |
| M.160 | Subdivide (add product partition) | ` ` | Required |
| M.170 | Delete product partition | ` ` | Required |
| M.190 | Exclude product partition | ` ` | Required |
| #### Reporting Functionality ||||
| R.10 | Customer | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversion_value` | Required. Optional if only showing only one campaign. |
| R.20 | Campaign | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversion_value` | Required |
| R.70 | Search Term View | `search_term_view.search_term` `segments.search_term_match_type` `metrics.clicks` `metrics.cost_micros` `metrics.impressions` | Required |
| R.110 | Shopping performance | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversion_value` | Required only if implementing Dynamic Search Ads. |
| R.120 | Product partition | `metrics.clicks` `metrics.cost_micros` `metrics.impressions` `metrics.conversion_value` | Required. Optional if products not subdivided |
| R.130 | Bidding strategy performance | ` ` | Required. Optional if products not subdivided |