Guide
Why does Google Ads say “Destination not working”?
What Google's destination policy disapproves, how to find the landing pages that fail it and the ones that redirect, and how to fix each so the ad is reviewed again.
The manual way comes first, in Google Ads itself. Then the same problem as Goldbeater finds it, every day, without anyone asking.
- Google disapproves an ad or asset whose landing page doesn't work: an HTTP error such as 403, 404 or 500, a domain that doesn't resolve, a timeout, a redirect loop, a page behind a login, or a page that says it's under construction.
- It checks with its AdsBot crawler, and asks for a page that returns HTTP 200 to it from everywhere, so a page can work in your browser and still fail.
- A final URL that redirects to a different domain is a policy problem too: Destination mismatch.
- To find them by hand, read the Status and Policy details of your ads and assets, list your landing pages in Insights & reports, and open each one as AdsBot.
- Goldbeater opens every page your ads, keywords, asset groups and sitelinks send clicks to, every day, and raises the ones that fail twice and the ones that redirect.
Google disapproves an ad whose landing page doesn’t work.
Google’s destination policy asks that the page a click lands on is functional, useful and easy to navigate. An ad or asset is disapproved as Destination not working when its page fails, and Google’s policy names the ways it can:
- An HTTP error, such as 403 Forbidden, 404 Not Found or 500 Internal Server Error.
- A domain that doesn’t resolve, a private IP address, a malformed response or a page that times out.
- A redirect loop, or a redirect URL that’s empty, malformed or too long.
- A page that needs a login, or one that says it’s under construction or reached in error.
Google checks with its own crawler, AdsBot, and asks that your page returns HTTP 200 to it from everywhere. That’s why a page can work in your browser and still be disapproved: a firewall, a country block or a bot filter can answer AdsBot differently.
A redirect is its own policy. A final URL that redirects to a different domain is disapproved as Destination mismatch, since the ad no longer says where the click goes. Google says it warns at least 7 days before it would suspend an account under the destination policy.
How to find the pages that fail
Start with what Google has already disapproved.
- Go to Campaigns › Ads, and to Assets for sitelinks.
- Hover over a Disapproved status in the Status column to see the policy.
- For the whole list, select the columns icon, open Attributes, tick Policy details and select Apply.
Then check the pages before Google does. A page that breaks after its ad was approved can go on taking clicks until the next review.
- Go to Campaigns › Insights & reports › Landing pages. Each row is a final URL that took clicks.
- Open each one in Chrome with the developer tools open. In Network conditions, untick Use browser default under User agent and enter AdsBot’s, “AdsBot-Google (+http://www.google.com/adsbot.html)”.
- Reload, and read the Status of the first request in the Network tab: 200 is what Google wants. A 301 or 302 means the page redirects; the address bar shows where to.
| Landing page | Clicks | What it answered AdsBot |
|---|---|---|
| example.com/sofas/linen-3-seat | 62 | 404 Not Found |
| example.com/beds/oak-frame | 40 | 301 to /beds/oak-bed-frame |
| example.com/rugs/wool | 118 | 200 OK |
The report lists the pages that took clicks. A sitelink or a keyword with its own final URL can send clicks to a page no ad names, so check theirs too.
Fix the page or the address, and the ad is reviewed again
A page that’s gone. If it moved, redirect the old address to the new one on your site: that fixes every ad, keyword and sitelink that names it at once. If it’s gone for good, point the ads at a live page.
A page that works for you and not for AdsBot. Let AdsBot through whatever blocks it. AdsBot ignores the rules robots.txt gives every crawler (User-agent: *), so only a rule naming AdsBot-Google keeps it out.
A page that redirects. To another domain, change the final URL to the page it ends at, or Google disapproves it as Destination mismatch. Within your own site, the ad still works, but every click makes a round trip to the old address first; change the final URL to the new one.
Then have it reviewed again. Editing the ad and selecting Save sends it for review. If you fixed the page rather than the ad, appeal the disapproval from its status so Google looks again.
What it looks like when Goldbeater finds it
Every day Goldbeater opens every page your enabled ads, keywords, Performance Max asset groups, sitelinks, promotions and price assets name, whether or not it took a click, and the pages Google chose itself that took clicks that week. It asks as a visitor would, and asks a failing page again before counting it. A page that answers 404, 410, a server error, an unresolved domain or a refused certificate both times is raised; one that blocked the request or timed out isn’t, since that can be the site turning Goldbeater away rather than a broken page. It marks the finding high from $200 of clicks in 30 days, medium with any click.
example.com/sofas/linen-3-seat answers 404, page not found; $148 of clicks went to it in 30 days
Sofas — Phrase › Linen sofas
https://example.com/sofas/linen-3-seat · asked twice, it answered 404 both times · 62 clicks, $148 in the last 30 days · the final URL of 2 ads
A page your ads, keywords, asset groups, sitelinks, promotions or price assets send clicks to, or one Google chose for a search itself, that answered with an error when Goldbeater opened it, and again when it asked a second time: page not found, a server error, a domain that doesn't resolve, or a certificate browsers refuse. Every click to it is billed, and the visitor meets the error instead of the page.
Open https://example.com/sofas/linen-3-seat in a browser. If the page moved, redirect the old address to the new one on your site, which fixes everything that sends clicks to it at once; if it’s gone for good, point the 2 ads at a live page.
No single setting fixes this, so Goldbeater drafts no change. The steps under What to do are the fix.
It raises a final URL that redirects to another domain whatever the status, and one within your site where every step answered a permanent redirect (301 or 308). A change of only https, www, a trailing slash or the query isn’t raised.
example.com/beds/oak-frame redirects to example.com/beds/oak-bed-frame; $96 of clicks went to it in 30 days
Beds — Phrase › Oak beds
https://example.com/beds/oak-frame · asked once, it answered 301, moved permanently, ending at https://example.com/beds/oak-bed-frame · 40 clicks, $96 in the last 30 days · the final URL of 1 ad
A final URL of an ad, keyword, asset group, sitelink, promotion or price asset that redirects to another page when Goldbeater opens it: to another site, which Google's destination requirements disapprove, or within your site to a page that moved for good. Every click makes a round trip to the old address first, and the ad names a page the site no longer serves.
The site moved this page for good. Change the final URL of the ad to https://example.com/beds/oak-bed-frame.
No single setting fixes this, so Goldbeater drafts no change. The steps under What to do are the fix.
The same reading of each page finds one more thing: a page that loads but carries no Google tag, where the rest of your site’s pages do, raised as a finding of its own so its conversions aren’t lost.
Questions
- Why was my ad disapproved when the page works?
- Google checks with AdsBot, not your browser, and wants HTTP 200 from everywhere. A firewall, a bot filter, a country block or a login can answer AdsBot with an error. Open the page with AdsBot’s user agent to see what it sees.
- Does a redirect get an ad disapproved?
- A final URL that redirects to a different domain is disapproved as Destination mismatch. A redirect within your own site isn’t a policy problem, but changing the final URL to where it ends saves every click a round trip.
- Does robots.txt stop AdsBot?
- Only a rule that names AdsBot-Google. AdsBot ignores the rules for every crawler (User-agent: *).
- How do I get a disapproved ad reviewed again?
- Edit the ad and select Save, which sends it for review. If you fixed the page instead, appeal the disapproval from the ad’s status.
How Goldbeater checks this
These checks run every day, and whenever you ask.
Each finding carries its evidence and, where the problem costs money, an estimate of how much a month. Where a setting can fix it, Goldbeater drafts the change, and it reaches your account when you approve it and press Apply.
Ads sending clicks to a page that doesn't load
Ads sending clicks to an address that redirects
Google's own pages
Where the manual method comes from.
- Destination not working (Advertising Policies Help) (opens in a new tab)
- Destination mismatch (Advertising Policies Help) (opens in a new tab)
- Destination requirements (Advertising Policies Help) (opens in a new tab)
- Fix a disapproved ad or appeal a policy decision (opens in a new tab)
- Evaluate the performance of your landing pages (opens in a new tab)
- Google's special-case crawlers (Search Central) (opens in a new tab)
More guides
Other things worth checking by hand.
- How do I audit a Google Ads account?A Google Ads audit checklist: 112 things to check, what to look for in each, and where to find it in Google Ads, menu by menu.
- How do I find and remove duplicate keywords in Google Ads?Google serves one copy of a duplicated keyword and picks which. How to find duplicates across ad groups, decide which copy to keep, and remove the rest.
- How do I find the search terms wasting my Google Ads budget?Find the search terms that cost money and never convert, add them as negative keywords without blocking your own keywords, and check what changed.
- How do I check that my Google Ads conversion tracking is right?How to test Google Ads conversion tracking: find the actions that stopped recording, the conversions counted twice, and the settings bidding reads.
7-day trial · nothing charged until day 7