Busy, slow or rate-limited
AdCopilot's shared daily Google Ads limit, "Google Ads is busy", Google's RESOURCE_EXHAUSTED, keyword planning's one-request-per-second rule, "too many requests" (HTTP 429), and Google's 502 or 500 errors. None is your plan's daily cap, and none is fixed by changing a setting.
There are four different limits, and only one is your plan's:
- Your plan's daily operations. "AdCopilot's daily limit is reached …". See Plan caps and limits.
- AdCopilot's shared Google Ads allowance, which every workspace uses. Below.
- Google's own rate limits, and Google's servers being busy. Below.
- AdCopilot's limit on requests from one person, a minute and a day: "too many requests". Below.
Waiting fixes almost everything on this page. Your ads keep running in Google Ads while AdCopilot waits.
AdCopilot's shared Google Ads limit
What you see.
AdCopilot has reached today's limit on Google Ads requests, which every AdCopilot workspace shares (its daily Google Ads API quota), so this request was not sent to Google Ads. The limit resets at midnight India time, … UTC, in …. Your ads keep running; please try again after that.
Or, when Google itself stopped the requests:
Google Ads has paused AdCopilot's requests: the daily Google Ads API quota every AdCopilot workspace shares is used up until … UTC, in …, so this request did not run. Your ads keep running; please try again after that.
Why it happens. AdCopilot's daily Google Ads API quota is shared by every workspace, and today's is used up. It is not your plan's limit, and nothing in your workspace caused it.
Fix.
- Wait until the time the message gives.
- Ask again. Don't retry before then: each try is refused the same way.
If a call had already made some changes when it was stopped, the message says "the changes it had already made in Google Ads stay as they are, so please check them before you repeat it". Read those items back before asking for the change again.
If it persists. If it still happens after the reset time, write to [email protected] with the time and the message.
"Google Ads is busy"
What you see.
Google Ads is busy and asked AdCopilot to slow down, so this request did not run. Please try again in a minute.
Why it happens. Google's rate limit, still there after AdCopilot tried once more.
Fix. Wait a minute and ask again. An assistant tries once, not in a loop.
Google's RESOURCE_EXHAUSTED
What you see. A call fails with Google's RESOURCE_EXHAUSTED, shown as
ResourceExhausted or "Resource has been exhausted", instead of one of
AdCopilot's messages on this page. On the Tool calls page the reason names
ResourceExhausted.
Why it happens. Google refused the request under a quota or rate limit. AdCopilot usually words this as one of its messages on this page, but a refusal it does not recognise arrives in Google's own words.
Fix.
- Wait as long as the message says, or a few minutes if it names no time.
- Ask once more. An assistant tries once, not in a loop.
If it persists. If it keeps failing for more than an hour, write to [email protected] with the time and the message.
Keyword planning: too frequent
What you see.
Google's keyword planning service refused this request as too frequent …: it accepts about one request per second per Google Ads account, and fewer per minute than other Google Ads services. Nothing was retried. …
Or, before anything was sent:
Another keyword planning request for account … is already waiting: Google accepts about one request per second per account for keyword planning. Nothing was sent; call again in a few seconds.
Why it happens. Keyword ideas, metrics and forecasts use Google's keyword planning service, which takes about one request a second for each account.
Fix (assistant).
- Wait as long as the message says.
- Make one keyword lookup at a time for an account, not several at once.
- Put many keywords in one call instead of one call per keyword.
Keyword planning: account allowance used up
What you see.
Google refused keyword planning for this Google Ads account …: the account's own request allowance is used up until it resets …
Why it happens. That account's own keyword planning allowance is used up. Other Google Ads requests still work.
Fix. Wait until it resets, then ask again. Other reads and changes can go on meanwhile.
"too many requests, slow down and retry shortly"
What you see. Your AI client reports too many requests, slow down and retry shortly (HTTP 429).
Why it happens. Too many requests came from you. AdCopilot limits how many requests each person's assistants can make in a minute and in the last 24 hours.
Fix.
- Wait a minute, then ask again.
- If the assistant is repeating the same call, stop it and ask in one clear request.
If it persists. If it lasts more than a few minutes, the daily part of the limit was reached: it counts the last 24 hours, so it clears as earlier requests age out. If it lasts for hours, write to support with the time and the assistant you use.
Google's 502, 500 or 503 errors
What you see. HttpError 502 (or 500, 503) from Analytics, Search
Console or Tag Manager. From Google Ads, a sentence in AdCopilot's words:
Google Ads had a temporary internal error on its side (request id …). This is not caused by your account or AdCopilot settings; try again in a minute.
It can start "Google Ads was temporarily unavailable" instead, or, when AdCopilot could not open a connection to Google at all, "AdCopilot could not reach Google Ads just now" and end "Nothing in your account caused this". For a change:
Google Ads had a temporary internal error on its side (request id …), so this change may or may not have been applied. Check the current state before trying again; nothing in your account settings caused this.
On the Tool calls page the reason reads ToolError: InternalServerError
or ToolError: ServiceUnavailable.
Why it happens. Google's servers did not answer properly. Nothing in your setup causes it. Before you see it, AdCopilot has already sent a read up to twice more (about half a second, then a second and a half, later) while the call had time left. It never sends a change again: Google may have applied it without saying so.
Fix.
- A read: wait a minute and ask once more.
- A change that "may or may not have been applied": read the item's current state first (ask your assistant to read it back, or look in Google Ads), and repeat the change only if it is not there. A change repeated without looking can be made twice.
If the call had already made other changes, the sentence says they "stay as they are": read those back too before asking again.
If it persists. If one product keeps failing for more than an hour, write to support with the product and the time.
Slow audits
A deep audit makes many reads and can take most of a minute. When it runs out of time it says so and returns what it finished. See An audit returned partial results.
Query and change errors
For AI assistants and the curious. What to do when Google rejects a query or a change, by code — UNRECOGNIZED_FIELD, EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE, PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE, METRIC_ACCESS_DENIED, START_DATE_TOO_OLD, TOO_LONG, POLICY_ERROR, RESOURCE_LIMIT, CONCURRENT_MODIFICATION — plus a wrong parameter name and Analytics fields that can't be combined.
An audit returned partial results
Why a full_audit lists checks as not evaluated, what it means when it reached its time limit or timed out, and how to get a complete run.