Required Minimum Functionality

v. 2019‑05‑31

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 (i.e., 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. 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 developer tokens with Standard access.

Requirements for AdWords API Clients

All tools that use the AdWords API must be compliant with RMF requirements as detailed in this document. As these tools migrate their functionalities off of the AdWords API and onto the Google Ads API, they can achieve RMF compliance by using either the AdWords API, Google Ads API or a combination of the two.

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.

  • Standard Shopping campaigns
  • Smart Shopping campaigns
  • Mobile App Promotion campaign
  • Hotel campaigns (available only in Google Ads API)

For an updated list of these features please contact the Google Ads API Compliance team at https://services.google.com/fb/forms/apicontact/.

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 API 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 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

If a Google Ads API Client provides any functionality related to RecommendationService, it must satisfy the following requirements:

  1. It must fully implement the required Creation Functionality, Management Functionality and Reporting Functionality marked "Required" in the table below.
  2. All Google Ads Recommendations shown to end users must be presented as "Google Ads Recommendations" in the API tool's UI.
  3. End users must be able to view, apply, and dismiss 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.

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 (i.e., 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, please request an application form by contacting us at https://services.google.com/fb/forms/apicontact/. Your application must be signed and submitted by an executive (CEO, CTO or Senior VP) of your company. Please note that your application is not guaranteed to be approved.

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 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, via the Tool Change form. 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.

RMF Compliance Across Ads APIs

API tools must maintain RMF compliance at all times as detailed in this guide. An API tool can achieve compliance using the AdWords API, Google Ads API or a combination of the two.

Feature List

Item Number Functionality Object/Field/Guide Requirement

Creation Functionality

C.10 Create campaign campaign Required
C.14 Set mobile platform bid adjustment campaign_criterion.bid_modifier
ad_group_bid_modifier.bid_modifier
Required
C.15 Set tablet and desktop platform bid adjustments campaign_criterion.bid_modifier Required. This needs to be supported at both campaign and ad group levels.
C.20 Enable geo targeting Location Targeting Required
C.21 Enable distance targeting Location Targeting
location_group
Required. This needs to support targeting a radius around a location and a location extension.
C.25 Set geo bid adjustment campaign_criterion.bid_modifier Required
C.30 Enable language targeting campaign_criterion.language
language_constant
Required
C.41 Set Expanded Dynamic Search Ads ad_group_ad.ad
 .expanded_dynamic_search_ad
Required.
C.42 Set campaign DSA settings campaign.dynamic_search_ad_setting Required.
C.50 Opt in/out of networks campaign.network_settings
 .target_google_search
campaign.network_settings
 .target_search_network
campaign.network_settings
 .target_content_network
campaign.network_settings
 .target_partner_search_network
Required
C.65 Create website / call conversion and generate code snippet Conversion Tracking Required. This needs to support generating a global site tag and an event snippet.
C.70 Location extensions Location feed placeholder
Feed Services
Extension Setting Services
(Guide coming soon)
Required. This needs to be supported at the account level.
C.72 App extensions App feed placeholder
Extension Setting Services
Feed Services
(Guide coming soon)
Required. This needs to be supported at the account level.
C.75 Callout extensions Callout feed placeholder
Extension Setting Services
Feed Services
(Guide coming soon)
Required. This needs to be supported at the account, campaign, and ad group levels.
C.80 Sitelink extensions Sitelink feed placeholder
Extension Setting Services
Feed Services
(Guide coming soon)
Required. This needs to be supported at the account, campaign, and ad group levels.
C.90 Set bidding option: Manual CPC campaign.manual_cpc Required. This needs to be supported at the campaign level.
C.95 Set bidding option: Enhanced CPC bidding_strategy.enhanced_cpc Required. This needs to be supported at the campaign level.
C.96 Set bidding option: Target CPA (Portfolio and Standard) campaign.target_cpa (Standard)
(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. Due: 2020-05-31.
C.99 Set bidding option: Target Impression Share (Portfolio and Standard) campaign.target_impression_share (Standard)
bidding_strategy
 .target_impression_share
(Portfolio)
Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. Due: 2020-05-31.
C.101 Set bidding option: Maximize clicks (Portfolio) bidding_strategy.target_spend Required. This needs to be supported at the campaign level.
C.120 Set budget campaign_budget Required
C.140 Set delivery method campaign_budgets.delivery_method Required
C.190 Create ad group ad_group Required
C.191 Set ad group max CPC bid ad_group.cpc_bid_micros Required for Manual CPC and Enhanced CPC bidding options.
C.192 Set ad group max CPA ad_group.cpa_bid_micros Required for Target CPA (Portfolio and Standard) bidding option.
C.193 Set ad group target ROAS ad_group.target_roas Required for standard Target ROAS bidding option.
C.200 Add expanded text ad ad_group_ad.ad.expanded_text_ad Required
C.260 Add keyword ad_group_criterion.keyword Required
C.270 Add ad group negative keywords ad_group_criterion.negative Required
C.290 Set keyword max CPC ad_group_criterion.cpc_bid_micros Required
C.300 Set keyword match type ad_group_criterion.keyword
 .match_type
Required
C.311 Set keyword final URL ad_group_criterion.final_urls Required
C.320 Account-level tracking template customer.tracking_url_template Required
C.321 Campaign-level tracking template campaign.tracking_url_template Required
C.325 Campaign-level custom parameters campaign.url_custom_parameters Required
C.326 Ad group-level custom parameters ad_group.url_custom_parameters Required
C.328 Account-level final URL suffix customer.final_url_suffix Required
C.329 Campaign-level final URL suffix campaign.final_url_suffix Required
C.500 Create shopping campaign Shopping Campaigns Required
C.505 Set merchant identifier campaign.shopping_setting
 .merchant_id
Required
C.506 Set sales country campaign.shopping_setting
 .sales_country
Required
C.510 Set inventory filter campaign_criterion.listing_scope Required
C.520 Create product ad ad_group_ad.ad.shopping_product_ad Required
C.525 Add first (root) product partition ad_group_criterion.listing_group Required
C.530 Local inventory ads campaign.shopping_setting
 .enable_local
ad_group_criterion.listing_group
 .case_value.product_channel
ad_group_criterion.listing_group
 .case_value.product_channel_exclusivity
Required
C.610 Call-only ads ad_group_ad.ad.call_only_ad Required
C.700 Create ad group/campaign criterion that targets/excludes user list ad_group_criterion.user_list
campaign_criterion.user_list
Required
C.710 Set userlist targeting bid adjustment for search network campaigns and ad groups campaign_criterion.bid_modifier
ad_group_bid_modifier.bid_modifier
Required

Management Functionality

M.10 Edit campaign settings campaign.*setting Required
M.15 Edit mobile, tablet, and desktop platform bid adjustments campaign_criterion.bid_modifier
ad_group_bid_modifier.bid_modifier
Required. This needs to be supported at both campaign and ad group levels.
M.20 Edit ad group settings (all ad group-related required settings in Creation Functionality) ad_group.*_setting Required
M.25 Edit geo bid adjustment campaign_criterion.bid_modifier Required
M.31 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.
M.32 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.
M.35 Enable ad rotation ad_group.ad_rotation_mode Required. This needs to be supported at the ad group level.
M.40 Edit keyword max CPC ad_group_criterion.cpc_bid_micros Required
M.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.
M.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.
M.98 Set bidding option: Maximize Conversions (Standard) campaign.maximize_conversions (Standard) Required. Due: 2020-05-31.
M.99 Set bidding option: Target Impression Share (Portfolio and Standard) campaign.target_impression_share (Standard)
bidding_strategy
 .target_impression_share
(Portfolio)
Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. Due: 2020-05-31.
M.100 Edit expanded text ad ad_group_ad.ad.expanded_text_ad Required
M.101 Edit bidding option: Maximize clicks (Standard) campaign.target_spend
bidding_strategy.target_spend
Required. This needs to be supported at the campaign level.
M.110 Pause / enable / remove campaign campaign.status Required
M.120 Pause / enable / remove ad group ad_group.status Required
M.130 Pause / enable / remove ad ad_group_ad.status Required
M.140 Pause / enable / remove keyword ad_group_criterion.status Required
M.150 Edit inventory filter campaign_criterion.listing_scope Required
M.160 Subdivide (add product partition) ad_group_criterion.listing_group Required
M.170 Remove product partition ad_group_criterion.listing_group Required
M.180 Edit product partition max CPC ad_group_criterion.cpc_bid_micros Required
M.190 Exclude product partition (delegate) ad_group_criterion.negative Required
M.320 Manage all tracking templates in creation functionality customer.tracking_url_template
campaign.tracking_url_template
Required
M.325 Manage all custom parameters in creation functionality campaign.url_custom_parameters
ad_group.url_custom_parameters
Required
M.328 Manage all final URL suffixes in creation functionality customer.final_url_suffix
campaign.final_url_suffix
Required
M.700 Edit ad group/campaign criterion that targets/excludes user list ad_group_criterion.user_list
campaign_criterion.user_list

(user list itself is immutable for criteria, but other fields like status of user list criteria can be edited)
Required
M.710 Edit userlist targeting bid adjustment for search network campaigns and ad groups campaign_criterion.bid_modifier
ad_group_bid_modifier.bid_modifier
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
segments.ad_network_type
segments.device
Required
campaign.status Required if showing paused, active, and removed campaigns.
Optional if only showing active campaigns.
R.30 Ad Group metrics.clicks
metrics.cost_micros
metrics.impressions
metrics.conversions
metrics.all_conversions
segments.ad_network_type
segments.device
Required
ad_group.status Required if showing paused, active, and removed ad groups.
Optional if only showing active ad groups.
R.40 Ad Group Ad metrics.clicks
metrics.cost_micros
metrics.impressions
metrics.conversions
Required
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
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.80 Geographic View geographic_view
 .country_geo_target_constant

segments.geo_target_region
segments.geo_target_metro
segments.geo_target_city
campaign
metrics.clicks
metrics.cost_micros
metrics.impressions
Required
R.100 Dynamic Search Ads Search Term View metrics.clicks
metrics.cost_micros
metrics.impressions
metrics.conversions
dynamic_search_ads_search_term_view .search_term
dynamic_search_ads_search_term_view
Required
R.110 Shopping Performance View metrics.clicks
metrics.impressions
metrics.cost_micros
metrics.conversions
segments
 .product_bidding_category_level1

segments
 .product_bidding_category_level2

segments
 .product_bidding_category_level3

segments
 .product_bidding_category_level4

segments
 .product_bidding_category_level5

segments.product_type_l1
segments.product_type_l2
segments.product_type_l3
segments.product_type_l4
segments.product_type_l5
Required
R.120 Product Group View metrics.clicks
metrics.cost_micros
metrics.impressions
metrics.conversions
Required
R.130 Bidding Strategy bidding_strategy.type
metrics.clicks
metrics.cost_micros
metrics.cost_per_conversion
metrics.impressions
metrics.average_cpc
metrics.conversions
Required
bidding_strategy.status Required if showing paused, active, and removed strategies.
Optional if only showing active strategies.
R.150 Campaign Audience View
Ad Group Audience View
metrics.clicks
metrics.cost_micros
metrics.impressions
metrics.conversions
Required

Send feedback about...

Google Ads API
Google Ads API
Need help? Visit our support page.