This page lists common errors and provides tips on preventing and handling them. For a complete list of errors, review the error references. For further support, visit our forum.
AdError | |
---|---|
| |
Summary | This operator cannot be used with a subclass of Ad. |
Common causes | You've tried to modify attributes other than status of the ad. |
Recommended handling tips | N/A |
Prevention tips | Once an ad is created, it cannot be modified. If you would like to modify the ad, you must make a new ad and then remove the old one. The status of the ad is, however, modifiable using MutateAdGroupAds |
| |
Summary | One of the fields in an ad contains invalid characters. |
Common causes | Using special characters in URLs |
Recommended handling tips | N/A |
Prevention tips | Validate URLs in your application before making a request to the API. |
| |
Summary | One of the lines in an ad was longer than the maximum allowed length. The length limits are documented in the Google Ads Help Center. |
Common causes | Incorrectly specifying empty default text in an ad parameter tag. Use {param1} , not {param1:} . |
Recommended handling tips | N/A |
Prevention tips | Validate the length of the line before making the request. |
AdGroupAdError | |
---|---|
| |
Summary | This label is already associated with some of these ads. |
Common causes | You’ve tried to associate the label with ads that already have them associated. |
Recommended handling tips | N/A |
Prevention tips | Check first if the label to be added is already associated with the ads. |
| |
Summary | An operation attempted to update a removed ad. |
Common causes | Once an ad is removed, it can no longer be updated (including changes to its status). |
Recommended handling tips | N/A |
Prevention tips | Ensure that your code does not attempt to update removed ads. |
AdGroupCriterionError | |
---|---|
| |
Summary | The keyword text contains invalid characters. A list of valid characters is available on the Google Ads Help Center. |
Common causes | The keyword text contains invalid characters. |
Recommended handling tips | N/A |
Prevention tips | Validate the keyword text in your application before making a request to the API. |
AdGroupError | |
---|---|
| |
Summary | An ad group is being added or renamed, but the name is already being used by another ad group. |
Common causes | Creating a new ad group with the name of an existing active or paused ad group. |
Recommended handling tips | Log the error and/or present an error message to the user, optionally suggesting a unique ad group name or showing the list of names in use. |
Prevention tips | N/A |
AuthenticationError | |
---|---|
| |
Summary | Client customer ID is not a number. |
Common causes | You've specified your client customer ID incorrectly. |
Recommended handling tips | N/A |
Prevention tips | 123-456-7890 should be 1234567890. Visit our Quickstart for details. |
| |
Summary | Client customer ID was not specified in the HTTP header. |
Common causes | You've not specified your client customer ID in the HTTP header. |
Recommended handling tips | N/A |
Prevention tips | Client customer ID is required for all cases except for when using CustomerService.GetCustomer. Therefore, make sure you've specified it in the HTTP header. Consider using our client libraries, as they handle this for you. |
| |
Summary | No account found for the customer ID provided in the header. |
Common causes | Trying to access an account that was just created before the account is established in the backend. |
Recommended handling tips | Wait an initial five minutes, then retry every 30 seconds. |
Prevention tips | Wait a few minutes after the account is created before issuing requests against it. |
| |
Summary | The access token in the request header is either invalid or has expired. |
Common causes | The access token has been invalidated. |
Recommended handling tips | Request a new token following these guidelines. If you're using one of our client libraries, consult its documentation on how to refresh the token. |
Prevention tips | Store and reuse access tokens until they expire. |
| |
Summary | The login used to generate the access token is not associated with any Google Ads account. |
Common causes | The login information provided corresponds to a Google account that does not have Google Ads enabled. |
Recommended handling tips | Make sure to log in with a valid Google Ads account (typically your manager account) for the OAuth flow. |
Prevention tips | N/A |
| |
Summary | OAuth access token in the header is not valid. |
Common causes | Your access token passed with the HTTP header was not correct. |
Recommended handling tips | N/A |
Prevention tips | Make sure you've passed the correct access token associated with your account. It's sometimes confused with refresh tokens and authorization codes. If you would like to get a credential that can access all client accounts under a manager account, make sure you get the refresh token for the manager account. Review our guide for details about access token and refresh token. For more details, consult the OAuth2 Authentication guide. |
AuthorizationError | |
---|---|
| |
Summary | The developer token is not allowed with the project sent in the request. |
Common causes | Each Google API Console project can be associated with the developer token from only one manager account. Once you make a Google Ads API request, the developer token is permanently paired to the Google API Console project. If you do not use a new Google API Console project, you'll get a DEVELOPER_TOKEN_PROHIBITED error when making a request. |
Recommended handling tips | N/A |
Prevention tips | If switching to a developer token under a new manager account, you'll need to create a new Google API Console project for Google Ads API requests that use the new manager's token. |
| |
Summary | The authorized customer does not have access to the operating customer. |
Common causes | Authenticating as a user with access to a manager account but not specifying login-customer-id in the request. |
Recommended handling tips | N/A |
Prevention tips | Specify the login-customer-id as the manager account ID without hyphens (- ). Client libraries have built in support for this, or see our guide. |
BiddingError | |
---|---|
| |
Summary | The bid value is not an exact multiple of the minimum unit of the account's currency. For example, US$0.015 (15000 in micros) is not a valid bid. |
Common causes | N/A |
Recommended handling tips | N/A |
Prevention tips | Verify that bids are multiples of the minimum unit for the account's currency. |
| |
Summary | The error is returned even though the bid is within the campaign budget. |
Common causes | N/A |
Recommended handling tips | N/A |
Prevention tips | Check if the account is participating in Google Grants for Google Ads. If so, restrict CPC bids to the maximum prescribed by the program. |
CampaignBudgetError | |
---|---|
| |
Summary | The budget amount is too small. |
Common causes | N/A |
Recommended handling tips | N/A |
Prevention tips | Verify that budget amount is greater than or equal to the minimum unit for the account's currency. |
| |
Summary | The budget amount will have too many significant decimal places when converted from a micro amount to an amount in the account's currency. |
Common causes | N/A |
Recommended handling tips | N/A |
Prevention tips | Verify that budget amount is divisible by the minimum unit for the account's currency. |
CampaignError | |
---|---|
| |
Summary | A campaign is being added or renamed, but the name is already being used by another campaign. |
Common causes | Creating a new campaign with the name of an existing active or paused campaign. |
Recommended handling tips | Log the error and/or present an error message to the user, optionally suggesting a unique campaign name or showing the list of names in use. |
Prevention tips | N/A |
CriterionError | |
---|---|
| |
Summary | Adding / editing keywords that contain invalid characters. |
Common causes | Use special characters like ! @ % * in the keywords. |
Recommended handling tips | N/A |
Prevention tips | Make sure you don’t use any unallowed characters in the keywords. Consult the Add keywords Help Center article for more information. |
DistinctError | |
---|---|
| |
Summary | The request contains two parameters that are identical and redundant. |
Common causes | N/A |
Recommended handling tips | N/A |
Prevention tips | Remove duplicates (operations, parameters, list elements) before making the request. Look for fields that have the DistinctElements constraint. |
InternalApiError | |
---|---|
| |
Summary | Something unexpected happened while processing the request. |
Common causes | The API isn't functioning correctly due to a bug. |
Recommended handling tips | Wait for about 30 seconds, then retry the request. If this error occurs frequently, post the details to the forum for further troubleshooting. |
Prevention tips | N/A |
NotEmptyError | |
---|---|
| |
Summary | A required list is empty. |
Common causes | Passing in an empty list of operations to a mutate method. |
Recommended handling tips | N/A |
Prevention tips | N/A |
QuotaError | |
---|---|
| |
Summary | A system frequency limit has been exceeded. |
Common causes | Sending too many requests in a short period of time. |
Recommended handling tips | N/A |
Prevention tips | Set up short delays between requests or combine more operations in fewer requests. |
RangeError | |
---|---|
| |
Summary | A value was lower than the minimum allowed. |
Common causes | Forgetting to specify an ID, which results in a value of 0 being passed in. |
Recommended handling tips | N/A |
Prevention tips | Note any range limitations documented in the API reference. |
RequestError | |
---|---|
| |
Summary | The request is malformed. |
Common causes | The URL is malformed or the contents of the request are malformed. |
Recommended handling tips | N/A |
Prevention tips | N/A |
RequestError | |
---|---|
| |
Summary | The request is missing required information. |
Common causes | Missing required fields when attempting to add an entity. |
Recommended handling tips | Log the error and/or present an error message to the user. The fieldPath attribute of the error indicates which field is missing. |
Prevention tips | Read the API reference to find out which fields are required. |