Share your feedback about the Google Ads (AdWords) API. Take the 2021 AdWords API and Google Ads API Annual Survey.

Required Minimum Functionality

v. 2021-11-03

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. 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 the Google Ads API)

For an updated list of these features, 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 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

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, Smart Shopping-only, App Promotion-only, and Hotel-only API tools
  • Special purpose tools that offer campaign management functionality*

*: Special purpose tools must receive approval from the Google Ads API Compliance team before using apply and dismiss methods in RecommendationService. You can request access by contacting the Google Ads API Compliance team at https://services.google.com/fb/forms/apicontact/. Note that your application is not guaranteed to be approved.

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.

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 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. 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, using 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.20 Enable geo targeting Location Targeting 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 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.80 Sitelink extensions Sitelink 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
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
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.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 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
bidding_strategy.status Required if showing paused, active, and removed strategies.
Optional if only showing active strategies.