Common Errors

This page lists common errors and provides tips on preventing and handling them. For further support, visit our forum. We've grouped the errors into these categories:

Entities
Errors related to AdWords entities such as campaigns, ads, or ad groups.
Authentication/Authorization
OAuth and general authentication/authorization errors.
Miscellaneous
General errors such as exceeding limits or missing specifications.

Categories

Entities

Accounts

Campaigns

Ad groups

Ads

BudgetOrders

Budgets

Bids

Criteria

Feeds & Extensions

Conversions

Reports

Authentication/Authorization

Authentication

Authorization

Miscellaneous

Redundancy

Missing/invalid specifications

Limit exceeded

Unallowed actions

Others

Errors

AdError

CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR
SummaryThis operator cannot be used with a subclass of Ad.
Common causesYou've tried to modify attributes other than status of the ad.
Recommended handling tipsN/A
Prevention tipsOnce 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 via AdGroupAdService.mutate().
INVALID_INPUT
SummaryOne of the fields in an ad contains invalid characters.
Common causesUsing special characters in URLs
Recommended handling tipsN/A
Prevention tipsValidate URLs in your application before making a request to the API.
LINE_TOO_WIDE
SummaryOne of the lines in an ad was longer than the maximum allowed length. The length limits are documented in the AdWords help center.
Common causes
  • Not counting the length of the default text in an ad parameter towards the total length of the line.
  • Incorrectly specifying empty default text in an ad parameter tag. Use {param1}, not {param1:}.
Recommended handling tipsN/A
Prevention tipsValidate the length of the line before making the request.

AdGroupAdError

AD_GROUP_AD_LABEL_ALREADY_EXISTS
SummaryThis label is already associated with some of these ads.
Common causesYou’ve tried to associate the label with ads that already have them associated.
Recommended handling tipsN/A
Prevention tipsCheck first to see if the label to be added is already associated with the ads using AD_PERFORMANCE_REPORT. You can get the IDs and names of labels associated with the ads by this report.
CANNOT_OPERATE_ON_DELETED_ADGROUPAD
SummaryAn operation attempted to update a removed ad.
Common causesOnce an ad is removed, it can no longer be updated (including changes to its status).
Recommended handling tipsN/A
Prevention tipsEnsure that your code does not attempt to update removed ads.

AdGroupCriterionError

INVALID_KEYWORD_TEXT
SummaryThe keyword text contains invalid characters. A list of valid characters is available on the AdWords help center.
Common causesThe keyword text contains invalid characters.
Recommended handling tipsN/A
Prevention tips
  • Use the validateOnly header to check ads and keywords for errors before attempting to add them to your ad group.
  • Validate the keyword text in your application before making a request to the API.

AdGroupServiceError

DUPLICATE_ADGROUP_NAME
SummaryAn ad group is being added or renamed, but the name is already being used by another ad group.
Common causesCreating a new ad group with the name of an existing active or paused ad group
Recommended handling tipsLog 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 tipsN/A

AuthenticationError

CLIENT_CUSTOMER_ID_INVALID
SummaryClient customer ID is not a number.
Common causesYou've specified your client customer ID wrongly.
Recommended handling tipsN/A
Prevention tipsClient customer ID is always composed of digits with no alphabets or other punctuations except "-", and is in the form 123-456-7890. See this page for details.
CLIENT_CUSTOMER_ID_IS_REQUIRED
SummaryClient customer ID was not specified in the HTTP header.
Common causesYou've not specified your client customer ID in the HTTP header.
Recommended handling tipsN/A
Prevention tipsClient customer ID is required for all cases except for when using CustomerService.get(). Therefore, make sure you've specified it in the HTTP header. Consider using our client libraries, as they handle this for you.
CUSTOMER_NOT_FOUND
SummaryNo account found for the customer ID provided in the header.
Common causesTrying to access an account that was just created with ManagedCustomerService before the account is established in the backend.
Recommended handling tipsWait an initial five minutes, then retry every 30 seconds.
Prevention tipsWait a few minutes after the account is created before issuing requests against it.
GOOGLE_ACCOUNT_COOKIE_INVALID
SummaryThe access token in the request header is either invalid or has expired.
Common causes
  • The access token has expired.
  • 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 tipsStore and reuse access tokens until they expire.
NOT_ADS_USER
SummaryThe login used to generate the access token is not associated with any AdWords account.
Common causesThe login information provided corresponds to a Google account that does not have AdWords enabled.
Recommended handling tipsMake sure to log in with a valid AdWords account (typically your manager account) for the OAuth flow.
Prevention tipsN/A
OAUTH_TOKEN_INVALID
SummaryOAuth access token in the header is not valid.
Common causesYour access token passed with the HTTP header was not correct.
Recommended handling tipsN/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 detail, see OAuth2 Authentication guide.

AuthorizationError

UNABLE_TO_AUTHORIZE
SummaryThere was an issue with completing authorization for a given user/account.
Common causes Attempting to create an account via ManagedCustomerService.mutate under a non-manager account.
Recommended handling tipsN/A
Prevention tips Use ManagedCustomerService to determine if the account is a manager account. The field ManagedCustomer.canManageClients should be true.
USER_PERMISSION_DENIED
Summary There is no link between the manager account authenticated in the request and the client account specified in the headers.
Common causes
  • The link between the manager and client account was removed.
  • Your OAuth credentials are for a user who does not have access to the client customer ID specified or any of its manager accounts.
Recommended handling tipsN/A
Prevention tipsUse ManagedCustomerService to determine which client accounts are linked to your manager account.

BiddingError

BID_TOO_HIGH_FOR_DAILY_BUDGET
SummaryThe bid on a keyword or ad group is higher than the daily budget of the campaign.
Common causesN/A
Recommended handling tipsN/A
Prevention tipsUse CampaignService to get the budget of the campaign, then validate ad group or keyword bids against the budget before performing the request.
BID_TOO_MANY_FRACTIONAL_DIGITS
SummaryThe 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 causesN/A
Recommended handling tipsN/A
Prevention tips Verify that bids are multiples of the minimum unit for the account's currency.
BID_TOO_BIG
SummaryThe error is returned even though the bid is within the campaign budget.
Common causesN/A
Recommended handling tipsN/A
Prevention tipsCheck if the account is participating in Google Grants for AdWords. If so, restrict CPC bids to the maximum prescribed by the program.

BudgetOrderError

GENERIC_BILLING_ERROR
SummaryAn attempt to mutate BudgetOrder failed because of generic billing errors.
Common causes
Trigger: NO_BILLING_CUSTOMER_ACCESS
The OAuth2 access token sent in the request is for a user who does not have access to the billing customer account.
Recommended handling tipsN/A
Prevention tips
Trigger: NO_BILLING_CUSTOMER_ACCESS
Make sure you either generate the access token for the correct account, or that accounts are linked properly in the manager account so that the credentials in your request can access the billing customer. See the Manager-Client relationships section of the Budget Order Service guide for more information.

BudgetOrderError

MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC
SummaryThe budget amount is too small.
Common causesN/A
Recommended handling tipsN/A
Prevention tips Verify that budget amount is greater than or equal to the minimum unit for the account's currency.
NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT
SummaryThe budget amount will have too many significant decimal places when converted from a micro amount to an amount in the account's currency.
Common causesN/A
Recommended handling tipsN/A
Prevention tips Verify that budget amount is divisible by the minimum unit for the account's currency.

CampaignError

DUPLICATE_CAMPAIGN_NAME
SummaryA campaign is being added or renamed, but the name is already being used by another campaign.
Common causesCreating a new campaign with the name of an existing active or paused campaign.
Recommended handling tipsLog 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 tipsN/A

CampaignFeedError

CANNOT_ADD_ALREADY_EXISTING_CAMPAIGN_FEED
SummaryCampaign feed already exists and thus the new feed cannot be added.
Common causesYou tried to add a new campaign feed via ADD operation although there already exists one.
Recommended handling tipsN/A
Prevention tipsCheck if a campaign feed exists using PLACEHOLDER_REPORT before adding. If you want to modify the existing campaign feed, use the SET operator.
FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE
SummaryA campaign already has an active feed for the placeholder type.
Common causesYou tried to add a feed for a certain placeholder type for a campaign that already has active feed for the placeholder type.
Recommended handling tipsN/A
Prevention tips Check if your campaign has active feed for the particular placeholder type before adding. Use PLACEHOLDER_REPORT to check if there exists any feed for the particular placeholder type.

ConversionTrackingError

DUPLICATE_NAME
SummaryFound two conversion types with the same name.
Common causesYou've specified two identical names when attempting to create or rename multiple conversion types.
Recommended handling tipsN/A
Prevention tipsCheck the conversion name before adding. Use ConversionTrackerService.get() to get the list of available conversions. See Selector Fields for all selectable fields for this service.

CriterionError

AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT
SummaryThe number of AdSchedule entries in a day exceeds the limit.
Common causesCreating more than the limit of six intervals in a day.
Recommended handling tipsN/A
Prevention tipsFor a given AdSchedule, create no more than six intervals in a day.
KEYWORD_HAS_INVALID_CHARS
SummaryAdding / editing keywords that contain invalid characters.
Common causesUse special characters like ! @ % * in the keywords.
Recommended handling tipsN/A
Prevention tips Make sure you don’t use any unallowed characters in the keywords. See this link for more information.

CustomerSyncError

TOO_MANY_CHANGES
SummaryThere were too many changed entities to return.
Common causesSpecifying too broad of a date range
Recommended handling tips Narrow the date range and retry the request. If the error persists, assume everything has changed and use each campaign data services' get requests to retrieve the most recent campaign data.
Prevention tipsN/A

DatabaseError

CONCURRENT_MODIFICATION
SummaryMultiple processes are trying to update the same entity at the same time.
Common causes
  • In a multi-threaded environment, more than one thread is operating on the entity.
  • A user in the AdWords web interface is updating the entity at the same time.
  • An internal process on the AdWords API servers is updating an entity at the same time.
Recommended handling tips Wait for about 30 seconds, then retry the request.
Prevention tips
  • If your client application is multi-threaded, ensure that threads do not operate on the same campaigns or ad groups.
  • Try not to process operations against the same ad group or campaign in quick succession.

DistinctError

DUPLICATE_ELEMENT
SummaryThe request contains two parameters that are identical and redundant.
Common causesN/A
Recommended handling tipsN/A
Prevention tips Remove duplicates (operations, parameters, list elements) before making the request. Look for fields that have the DistinctElements constraint.

EntityNotFound

INVALID_ID
SummaryThe ID of the entity you are operating on isn't valid.
Common causes
  • Referencing the ID of an entity from a different account
  • Referencing the ID of an entity that was removed
Recommended handling tips Log the error and examine the trigger field to ensure that the ID is being specified correctly and belongs to the current account.
Prevention tipsN/A

FeedItemError

CANNOT_OPERATE_ON_DELETED_FEED_ITEM
SummaryAn operation attempted to update a removed feed item.
Common causesOnce a feed item is removed, it can no longer be updated (including changes to its status), but you've tried to do so.
Recommended handling tipsN/A
Prevention tipsEnsure that your code does not attempt to update removed feed items.

InternalApiError

UNEXPECTED_INTERNAL_API_ERROR
SummarySomething unexpected happened while processing the request.
Common causes
  • Temporary resource related issues in the AdWords API server
  • 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 tipsN/A

NotEmptyError

EMPTY_LIST
SummaryA required list is empty.
Common causesPassing in an empty list of operations to a mutate method
Recommended handling tipsN/A
Prevention tipsN/A

NotWhitelistedError

CUSTOMER_ADS_API_REJECT
SummaryThe account is temporarily in read-only mode.
Common causesThe AdWords system is performing a backend migration on the account.
Recommended handling tipsWait for about 30 minutes, then retry the request.
Prevention tipsN/A

OfflineConversionError

EXPIRED_CLICK
SummaryClick is too old for its conversion to be imported.
Common causesThis click is either too old to be imported or occurred before the conversion window for the specified combination of conversion date and conversion name (default is 90 days).
Recommended handling tipsN/A
Prevention tipsEnsure that your clicks to be uploaded occurred during these 90 days and not too old.
INVALID_CONVERSION_TYPE
SummaryCannot find conversion name in the account.
Common causes
  • Your account does not have an UploadConversion with a name that matches the label of this conversion.
  • Your uploaded click has been generated before the UploadConversion was created.
  • The UploadConversion does not exist in the effective conversion account of the click at the time the click happened.
Recommended handling tipsN/A
Prevention tips Ensure that you use the right conversion name by looking it up first using ConversionTrackerService.get(). If you change the effective conversion account to the manager account (see cross-account conversion tracking), then your uploads for that account will start working only for conversions where the click date is after you make that change. See this section for more tips and rules about uploading conversions.
TOO_RECENT_CLICK
SummaryClick is not yet in the system.
Common causesThis click occurred less than 24 hours ago, so it's too recent to be uploaded.
Recommended handling tipsTry again after a day or so.
Prevention tipsEnsure to upload clicks that occurred more than 24 hours ago.
UNAUTHORIZED_USER
SummaryNot authorized to manage this click.
Common causesYou've tried to upload conversions for a different customer that your account does not manage.
Recommended handling tipsN/A
Prevention tipsEnsure that your uploaded clicks really belong to the account of your credential used to make SOAP calls.

OperationAccessDenied

ADD_OPERATION_NOT_PERMITTED
SummaryThe ADD operator can't be used for operations in the service and target account.
Common causesAttempting to add a campaign to a manager account.
Recommended handling tipsN/A
Prevention tips When authenticating as a manager account, ensure that the clientCustomerId header refers to an AdWords account.
MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT
SummaryThe attempted operation cannot be performed through the API.
Common causes Attempting to modify a campaign that was created using the AdWords Express.
Recommended handling tipsFlag the campaign in your system as being read-only.
Prevention tipsN/A
OPERATION_NOT_PERMITTED_FOR_REMOVED_ENTITY
SummaryThe operation is not permitted for the removed entity.
Common causesYou've tried to update the entity, e.g., campaign, that was already removed.
Recommended handling tipsN/A
Prevention tipsAlways keep tracks of the statuses of your entities and confirm their statuses before making changes. Statuses of entities can usually be fetched using the report field Status.

PolicyViolationError, AdPolicyError CriterionPolicyError

SummaryAn ad or keyword you are adding violates an AdWords policy.
Common causesYour ad or keyword contains trademarks or medical terms.
Recommended handling tips If the returned isExemptable field is true, then you can request an exemption for your ad or keyword. To request an exemption:
  1. Create an ExemptionRequest and populate its key field with with the PolicyViolationKey returned with the error.
  2. Add this ExemptionRequest to the operation that caused the error, then retry the operation.
Prevention tips Use the validateOnly header to check ads and keywords for errors before attempting to add them.

QueryError

INVALID_WHERE_CLAUSE
SummaryThe WHERE clause could not be parsed.
Common causesThe WHERE clause of query doesn't comply with the AWQL grammar.
Recommended handling tipsN/A
Prevention tipsEnsure that your query is correct based on the AWQL grammar. See this guide for details.
PARSING_FAILED
SummaryErrors when trying to parse a query that doesn't match the AWQL grammar.
Common causesYou've made mistakes in your AWQL query.
Recommended handling tipsN/A
Prevention tipsEnsure that your query is correct based on the AWQL grammar. See this guide for details.

QuotaCheckError

ACCOUNT_DELINQUENT
SummaryThe manager account that was used to register for API access does not have an active billing mechanism.
Common causesThe credit card used to pay for API charges has expired. An account must have an active billing mechanism at all times.
Recommended handling tipsUpdate the billing information in your account.
Prevention tipsN/A
ACCOUNT_INACCESSIBLE
SummaryThe target account has been temporarily disabled due to suspicious activity and cannot be accessed via the API.
Common causesN/A
Recommended handling tipsContact your AdWords account representative for more information. If you don't have a representative or don't know who they are, use the contact form in the AdWords Help Center.
Prevention tipsN/A
TERMS_AND_CONDITIONS_NOT_SIGNED
SummaryYou have not yet signed the Terms & Conditions.
Common CausesN/A
Recommended handling tips

Make sure that you've accepted the terms and conditions. If you're unable to do this, contact AdWords API Compliance and select the "I need to sign the AdWords API Terms & Conditions" option to obtain help.

Prevention tips Make sure that you complete the signup and accept the terms and conditions before trying to use the AdWords API.
DEVELOPER_TOKEN_NOT_APPROVED
SummaryYou are using an unapproved developer token to make calls against a production account.
Common CausesN/A
Recommended handling tips

An unapproved developer token can only make calls against test AdWords accounts. See the test account guide for more information. You can make calls against a test account even before your developer token is approved, so you can get started on your application right away.

If you think your token should have been approved, or it's taken more than 2 business days to get back to you, please first double-check your email to make sure you have not missed a communication from the API compliance team. If you still need help, you can contact the API compliance team for assistance in getting your token approved.

Prevention tipsMake sure that your developer token is approved before using it in a production account.
INCOMPLETE_SIGNUP
SummaryThe developer token has not been approved and you're trying to use it for requests against a production account.
Common causesN/A
Recommended handling tips

An unapproved developer token can only make calls against test AdWords accounts. See the test account guide for more information. You can make calls against a test account even before your developer token is approved, so you can get started on your application right away.

If you think your token should have been approved, or it's taken more than 2 business days to get back to you, please first double-check your email to make sure you have not missed a communication from the API compliance team. If you still need help, you can contact the API compliance team for assistance in getting your token approved.

Prevention tipsN/A
INVALID_TOKEN_HEADER
SummaryThe developer token in the request is missing or invalid.
Common causes
  • The developer token is not set on the request or it contains a typo.
  • The namespace of the headers in the request is not correct.
Recommended handling tipsN/A
Prevention tips
  • Ensure that a developer token has been set and matches the value in the AdWords API Center.
  • Ensure that the headers of the request are in the namespace https://adwords.google.com/api/adwords/cm/{version}, where {version} is replaced with the version of the API being used.
MONTHLY_BUDGET_REACHED
SummaryThe API monthly budget limit has been exceeded.
Common causesExceeding your set budget for API usage.
Recommended handling tipsN/A
Prevention tips Once you verify that there is no excessive usage due to a runaway program, increase the API monthly budget (via your manager account's My Account > API Center) to an appropriate amount.
QUOTA_EXCEEDED
SummaryA system frequency limit has been exceeded.
Common causesSending too many requests in a short period of time.
Recommended handling tipsN/A
Prevention tips Set up short delays between requests or use BatchJobService to combine more operations in fewer requests.

RangeError

TOO_LOW
SummaryA value was lower than the minimum allowed.
Common causesForgetting to specify an ID, which results in a value of 0 being passed in.
Recommended handling tipsN/A
Prevention tipsNote any range limitations documented in the API reference.

RateExceededError

RATE_EXCEEDED
SummaryToo many requests were made to the API in a short period of time.
Common causes
  • Performing one request for every operation. (E.g. rateName=RequestsPerMinute, retryAfterSeconds=30)
  • Performing more than 10,000 operations in a day with Basic access. (E.g. rateName=OperationsPerDay, retryAfterSeconds=86400)
Recommended handling tips
  • Wait for about 30 seconds, then retry the request.
  • Apply for standard access (if you currently have basic) or wait until the following day.
Prevention tipsRead the Rate Limits guide for in-depth information about this error.

ReportDefinitionError

CUSTOMER_SERVING_TYPE_REPORT_MISMATCH
Summary You are trying to run a report against a manager account. Reports can only be obtained for advertiser (non-manager) accounts.
Common causes
  • Attempting to run a report for a manager account.
Recommended handling tipsN/A
Prevention tips Ensure that clientCustomerId in the reporting request corresponds to a non-manager account. The ManagedCustomerService can be used to get account information, and if ManagedCustomer.canManageClients is true then the account is a manager account.
INVALID_FIELD_NAME_FOR_REPORT
SummaryCustomer passed in invalid field name for a report type.
Common causesYou've spelled some field names wrongly in your query.
Recommended handling tipsN/A
Prevention tipsEnsure that all specified field names are available for the report type you are using. Consult this page for all available report fields.

ReportInfoError

INVALID_USER_ID_IN_HEADER
SummaryThe client is using an invalid user or effective user ID in the header.
Common causes
  • Missing or malformed request header fields.
  • Using the deprecated ClientLogin instead of OAuth2.
Recommended handling tipsN/A
Prevention tips
  • Make sure that you're using OAuth2 to authenticate.
  • Verify that your request headers are properly formed, e.g.: include "Bearer" with your access token in the Authorization header.

RequestError

INVALID_INPUT
SummaryThe request is malformed.
Common causesMissing version string in the request URL to download reports.
Recommended handling tipsN/A
Prevention tips Provide the version in the request URL. For example: https://adwords.google.com/api/adwords/reportdownload/v201710

RequiredError

REQUIRED
SummaryThe request is missing required information.
Common causes
  • Missing ID when attempting to update an entity
  • 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 tipsRead the API reference to find out which fields are required.

SelectorError

INVALID_FIELD_NAME
SummaryThe field name was incorrect or does not exist in the service.
Common causesYou've specified a wrong field name or misspelled it.
Recommended handling tipsN/A
Prevention tips Ensure you've specified correct field names for the service you're using. Check Selector Fields for all selectable fields for a given service.
INVALID_PREDICATE_VALUE
SummaryThe predicate value was not valid.
Common causesYou've specified a wrong predicate value, such as using a string as a predicate for a field that is of integer type.
Recommended handling tipsN/A
Prevention tips Ensure you've specified correct values for the field used as predicate. Validate fields for a given service with the reference docs (for example, CampaignService).
MISSING_PREDICATE_VALUES
SummaryThe predicate values were empty.
Common causesYou've specified to use predicates, but some of their values were not provided.
Recommended handling tipsN/A
Prevention tipsEnsure to provide values when specifying predicates in the selector.

SizeLimitError

RESPONSE_SIZE_LIMIT_EXCEEDED
SummaryThe response contains too many items.
Common causes When making a get call (e.g. AdGroupCriterionService.get()) the number of returned items may exceed the response size limit (150K).
Recommended handling tipsN/A
Prevention tips
  • Use the paging functionality of the selector when fetching a large number of items.
  • Use predicates to limit the number of returned items.

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.