v. 2019‑05‑31
Required Minimum Functionality (RMF) refers to the features and other functionality that certain tool developers must offer when using the AdWords 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 AdWords API (an "RMF applies" means that RMF applies to you):Creation Functionality | Management Functionality | Reporting Functionality | |
---|---|---|---|
Full-Service Tool
|
RMF applies | RMF applies | RMF applies | Reporting Only
|
RMF doesn't apply | RMF doesn't apply | RMF applies |
Internal Use Only
|
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 AdWords API Compliance team. The AdWords 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 tokens with Standard access.
If your tool is only designed to create and manage one of the following campaign types, then you are only required to implement the AdWords API creation and management features and reports in the RMF that work with that campaign type.
For an updated list of these features please contact the AdWords API Compliance team at https://services.google.com/fb/forms/apicontact/.
In order to be compliant with RMF requirements, a Reporting-only AdWords 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 AdWords 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 AdWords API Client may choose not to show specific levels of the Google Ads hierarchy in its reporting interface. For example, if a Reporting-only AdWords 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, AdWords 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 AdWords API Client. Google Ads report data should be reasonably prominent and accessible to end users.
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.
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.
In order to be compliant with RMF requirements, a Full-Service AdWords 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.
If an AdWords API Client provides any functionality related to TargetingIdeaService or TrafficEstimatorService, it must fully implement the required Creation Functionality, Management Functionality and Reporting Functionality marked "Required" in the table below.
All API Clients providing Creation or Management functionality must satisfy the following requirements related to bid adjustments:
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.
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 AdWords API Client a feature similar to any feature not required by Google, you must then also implement the similar Google feature in your AdWords API Client. For example, if you implement your own version of "Keyword Ideas" in your AdWords API Client, then you must also implement Google's "Keyword Ideas" functionality in your AdWords 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 AdWords 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.
Item Number | Functionality | Object/Field/Guide | Requirement |
---|---|---|---|
Creation Functionality |
|||
C.10 | Create campaign | Campaign |
Required |
C.14 | Set mobile platform bid adjustment | Bid modifiers | Required. This needs to be supported at both campaign and ad group levels. |
C.15 | Set tablet and desktop platform bid adjustments | Bid modifiers | Required. This needs to be supported at both campaign and ad group levels. |
C.20 | Enable geo targeting | Location Targeting | Required |
C.21 | Set distance targeting | Location TargetingLocationExtensionOperand
|
Required. This needs to support targeting a radius around a location and a location extension. |
C.25 | Set geo bid adjustment | Bid modifiers | Required |
C.30 | Enable language targeting | Targeting Types | Required |
C.41 | Expanded dynamic search ads | ExpandedDynamicSearchAd |
Required |
C.42 | Set campaign DSA settings | DynamicSearchAdsSetting |
Required |
C.50 | Opt in/out of networks | NetworkSetting (targetGoogleSearch , targetSearchNetwork , targetContentNetwork only) |
Required |
C.65 | Enable conversion tracking (Website & Phonecalls) | Conversion Tracking | Required. This needs to support generating a global site tag and an event snippet. |
C.70 | Location extensions | Location Extensions | Required. This needs to be supported at the account level. |
C.72 | App extensions |
App feed placeholder Extension Setting Services Feed Services |
Required. This needs to be supported at the account level. |
C.75 | Callout extensions |
Callout feed placeholder Extension Setting Services Feed Services |
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 |
Required. This needs to be supported at the account, campaign, and ad group levels. |
C.90 | Set bidding option: Manual CPC | ManualCpcBiddingScheme |
Required. This needs to be supported at the campaign level. |
C.95 | Set bidding option: Enhanced CPC | ManualCpcBiddingScheme.enhancedCpcEnabled |
Required. This needs to be supported at the campaign level. |
C.96 | Set bidding option: Target CPA (Portfolio and Standard) | TargetCpaBiddingScheme |
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) | TargetRoasBiddingScheme |
Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
C.98 | Set bidding option: Maximize Conversions (Standard) | MaximizeConversionsBiddingScheme |
Required. |
C.101 | Set bidding option: Maximize Clicks (Portfolio) | TargetSpendBiddingScheme |
Required. This needs to be supported at the campaign level. |
C.120 | Set budget | Campaign Budgets | Required |
C.140 | Set delivery method | BudgetDeliveryMethod |
Required |
C.190 | Create ad group | AdGroup |
Required |
C.191 | Set ad group max CPC | CpcBid |
Required for Manual CPC and Enhanced CPC bidding options. |
C.192 | Set ad group target CPA | CpaBid |
Required for Target CPA (Portfolio and Standard) bidding option. |
C.193 | Set ad group target ROAS | targetRoasOverride |
Required for standard Target ROAS bidding option. |
C.200 | Add expanded text ad | ExpandedTextAd |
Required |
C.260 | Add keyword | Keyword |
Required |
C.270 | Add ad group negative keywords | NegativeAdGroupCriterion |
Required |
C.290 | Set keyword max CPC | CpcBid |
Required |
C.300 | Set keyword match type | matchType |
Required |
C.311 | Set keyword final URL | finalUrls |
Required. |
C.320 | Account-level tracking template | trackingUrlTemplate |
Required |
C.321 | Campaign-level tracking template | trackingUrlTemplate |
Required |
C.325 | Campaign-level custom parameters | urlCustomParameters |
Required |
C.326 | Ad group-level custom parameters | urlCustomParameters |
Required |
C.328 | Account-level final URL suffix | Parallel TrackingfinalURLSuffix |
Required |
C.329 | Campaign-level final URL suffix | Parallel TrackingfinalURLSuffix |
Required |
C.500 | Create shopping campaign | Shopping Campaigns | Required |
C.505 | Set merchant identifier | ShoppingSetting |
Required |
C.506 | Set sales country | ShoppingSetting |
Required |
C.510 | Set inventory filter | ProductScope |
Required |
C.520 | Create product ad | ProductAd |
Required |
C.525 | Add first (root) product partition | ProductPartition |
Required |
C.530 | Local inventory ads | ProductChannel ProductChannelExclusivity |
Required |
C.610 | Call-only ads | CallOnlyAd |
Required |
C.700 | Enable userlist targeting (add a userlist to a search network campaign and ad group, specify ad group and campaign exclusions) | Remarketing and Audience Targeting | Required. |
C.710 | Set userlist targeting bid adjustment for search network campaigns and ad groups | Remarketing and Audience Targeting | Required. |
Management Functionality |
|||
M.10 | Edit campaign settings (all campaign-related required settings in Creation Functionality) | Campaign |
Required |
M.15 | Edit mobile, tablet, and desktop platform bid adjustments | Bid modifiers | 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) | AdGroup |
Required |
M.25 | Edit geo bid adjustment | Bid modifiers | Required |
M.35 | Enable ad rotation | AdGroupAdRotationMode |
Required. This needs to be supported at the ad group level. |
M.40 | Edit keyword max CPC | CpcBid |
Required |
M.96 | Edit bidding option: Target CPA (Portfolio and Standard) | TargetCpaBiddingScheme |
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) | TargetRoasBiddingScheme |
Required. Both the Portfolio and Standard strategies need to be supported at the campaign level. |
M.98 | Edit bidding option: Maximize Conversions (Standard) | MaximizeConversionsBiddingScheme |
Required. |
M.100 | Edit expanded text ad | ExpandedTextAd |
Required |
M.101 | Edit bidding option: Maximize Clicks (Standard) | TargetSpendBiddingScheme |
Required. This needs to be supported at the campaign level. |
M.110 | Pause / enable / remove campaign | status |
Required |
M.120 | Pause / enable / remove ad group | status |
Required |
M.130 | Pause / enable / remove ad | status |
Required |
M.140 | Pause / enable / remove keyword | userStatus |
Required |
M.150 | Edit inventory filter | ShoppingSetting |
Required |
M.160 | Subdivide (add product partition) | ProductPartition |
Required |
M.170 | Remove product partition | ProductPartition |
Required |
M.180 | Edit product partition max CPC | CpcBid |
Required |
M.190 | Exclude product partition (delegate) | NegativeAdGroupCriterion |
Required |
M.320 | Manage all tracking templates in creation functionality |
Customer.trackingUrlTemplate Campaign.trackingUrlTemplate
|
Required |
M.325 | Manage all custom parameters in creation functionality |
Campaign.urlCustomParameters
AdGroup.urlCustomParameters |
Required |
M.328 | Manage all final URL suffixes in creation functionality | Parallel TrackingCustomer.finalURLSuffix Campaign.finalURLSuffix |
Required |
M.700 | Edit userlist targeting | Remarketing and Audience Targeting | Required. |
M.710 | Edit userlist targeting bid adjustment for search network campaigns and ad groups | Remarketing and Audience Targeting | Required. |
Reporting Functionality |
|||
R.10 | Account Performance | Clicks Cost Impressions Conversions1 All conversions |
Required |
R.20 | Campaign Performance | Clicks Cost Impressions Conversions1 All conversions Ad network Device |
Required |
Status |
Required if showing paused, active, and removed campaigns
Optional if only showing active campaigns
|
||
R.30 | Ad Group Performance | Clicks Cost Impressions Conversions1 All conversions Ad network Device |
Required |
Status |
Required if showing paused, active, and removed ad groups
Optional if only showing active ad groups
|
||
R.40 | Ad Performance | Clicks Cost Impressions Conversions1 |
Required |
Status |
Required if showing paused, active, and removed ads
Optional if only showing active ads
|
||
R.50 | Keywords Performance | Clicks Cost Impressions First page CPC Top of page CPC Conversions1 |
Required |
Status |
Required if showing paused, active, and removed keywords
Optional if only showing active keywords
|
||
R.70 | Search Query Performance | Query term Match type Clicks Cost Impressions |
Required |
R.80 | Geo Performance | Country/Territory Region Metro area City Campaign Clicks Cost Impressions |
Required |
R.100 | Keywordless Query | Clicks Cost Impressions |
Required |
R.110 | Shopping Performance | Clicks Impressions Cost Conversions1 |
Required |
Category Product type |
Required to show all levels | ||
R.120 | Product Partition | Clicks
Cost Impressions Conversions1 |
Required |
R.130 | Bid Goal Performance | Bid strategy type Clicks Cost Cost per conversion Impressions Average CPC Conversions |
Required |
Status | Required if showing paused, active, and removed strategies
Optional if only showing active strategies
|
||
R.150 | Audience Performance | Clicks Cost Impressions Conversions 1 |
Required |
1. The ConvertedClicks
column and its derived fields are
removed in v201607. Use the Conversions
column for all reports.