Google Ads "Destination not working": causes and fixes

"Destination not working" means Google's crawler couldn't load your ad's landing page properly, so the ad is disapproved even if the page looks fine to you. This guide explains what Google checks, the error types and their usual causes, related disapprovals for crawl and location blocks, how to test your page the way AdsBot sees it, and how to get the ad reviewed again, using Google's own policy pages.

This guide is built from Google's Advertising Policies Help: Destination not working, Destination not crawlable, Destination not accessible and Override user agent with Chrome DevTools. How policy statuses and appeals work in general is in our Policy Manager guide, and other reasons an ad might not run in our guide to Google Ads not showing.

What the disapproval means

Destination not working is part of Google's Destination requirements policy. Google requires that "your ad content and ad destinations work on common browsers and devices". Two things lead to this disapproval:

  • Destinations that don't function properly or were set up incorrectly. Google's examples are pages saying "You've reached this page in error", "Whoops! Nothing to see here!" or "Site Under Construction".
  • Destinations that return an HTTP error code to Google AdsBot on common devices globally, such as 403 Forbidden, 404 Not Found or 500 Internal Server Error.

It isn't an instant account risk: Google says violations "won't lead to immediate account suspension without prior warning", and it warns at least 7 days before suspending. But a disapproved ad doesn't run, so it is worth fixing quickly. To see the exact reason, go to Campaigns, Ads, and hover over the disapproval in the Status column.

Who checks your page: AdsBot

Google checks landing pages with its AdsBot crawlers, not with your browser. There are two:

  • AdsBot-Google-Mobile checks mobile pages, identifying itself as an Android Chrome browser with "AdsBot-Google-Mobile" in the user agent.
  • AdsBot-Google checks desktop pages.

Your ad can be disapproved if the page returns an error to either one. That is why "it works for me" isn't enough: a security plugin, firewall, bot filter or country block can serve AdsBot an error page while you see the real site. Google notes AdsBot "often crawls from" the United States, so a page blocked outside your own country can fail even when you only target locally.

The error types and their causes

Google's help page lists the specific reasons you may see, with common causes:

  • HTTP 4xx response: the server returned an error, often a 404 because the URL has a typo or the page was removed.
  • HTTP 5xx response: the server hit an unexpected problem and couldn't complete the request.
  • DNS error: the domain doesn't point to the right server IP, the domain isn't registered or has expired, or a firewall blocks Google.
  • Redirect problems: a redirect URL that is too long (often created by the content management system), empty or invalid, or a redirect loop ("Server redirects too often").
  • Private IP: the site sits behind a firewall or router Google can't reach.
  • Malformed HTTP response: the server sent broken data, for example because application code crashed or the server ran low on memory.
  • Timeout reading page: the server took too long to send the page.
  • Page requires authentication: the page is behind a login or password.

Google also lists checks in the ad itself: landing page, keyword, tracking and deep-link URLs without typos; a page that returns HTTP 200 globally; apps promoted only where they can be downloaded; and at least one asset group in campaigns that use them, since a missing one can show an "invalid final URL" error.

Destination not crawlable: robots.txt

A related disapproval, Destination not crawlable, appears when Google Ads isn't allowed to crawl the page. Google's examples are using robots.txt "to restrict access to the majority or entirety of a site", or site settings that allow less crawling than your number of ads needs. The robots.txt variants are "Server's robots.txt disallows access" and "robots.txt unreachable" or timeouts reading it.

One detail matters: Google's crawler documentation says AdsBot ignores the global user agent (*) in robots.txt, so a rule for all bots doesn't block it. To block or allow AdsBot you have to name AdsBot-Google or AdsBot-Google-Mobile. If an ad is disapproved as not crawlable, look for rules aimed at those names. How robots.txt works in general is in our guide to robots.txt and XML sitemaps.

Google also notes that a click tracker or a large batch of new ads can strain crawl capacity; it suggests splitting large ad submissions into smaller batches.

Destination not accessible: location and firewall blocks

Destination not accessible covers pages that can't be reached in the location you target, or that AdsBot can't crawl. Google's examples include messages like "This site is not accessible in your location", 404 or 403 errors for AdsBot, robots.txt blocks and server-side configurations that stop AdsBot. Google's advice: if the site works for you but is disapproved, security settings, firewalls or CMS plugins may be blocking the crawler, so ask your developer "to allowlist the AdsBot-Google and AdsBot-Google-Mobile user agents and ensure the site is accessible globally."

Which URL Google actually checks

Google points out that the Expanded URL shown in Google Ads can differ from what you expect. The final URL is your landing page; the expanded URL combines it with any tracking template and parameters. If you use a tracking template or a third-party click tracker, test the full expanded URL, not just the final URL, because a broken redirect in the tracker produces the same disapproval. Our final URL suffix guide covers how parameters are added.

Testing your page as AdsBot

Google's suggested test uses Chrome DevTools to make your browser identify itself as AdsBot:

  1. In Chrome, open the 3-dot menu, More tools, Developer tools.
  2. Open Network conditions and tick Disable cache.
  3. Under User agent, untick Use browser default and enter AdsBot's full user agent string.
  4. Load the destination URL and check it loads exactly as it does normally.

Google also mentions Search Console's URL Inspection tool and the Network tab in DevTools to spot errors. We also test both the mobile and desktop strings, and from outside our own country when we can.

Fixing it and getting reviewed again

  • Fix the page or server, with your web developer if needed, so it returns a working page to AdsBot.
  • Or change the landing page: edit the ad (Campaigns, Ads, hover, Edit) to point to a working URL. Edited ads are reviewed again automatically; Google says re-review "typically takes 24-48 hours".
  • Then ask for a review: if you fixed the page without editing the ad, file an appeal so Google reviews the ad and landing page again. Appeal too if you believe the ad was flagged by mistake.

How appeals work in Policy Manager is in our Policy Manager guide.

Our checklist

This is our own practice, not Google's guidance:

  • Open the final URL and the expanded URL in a private window and confirm both return the page, not a redirect loop or error.
  • Repeat with the AdsBot mobile user agent in DevTools.
  • Check the firewall, CDN bot protection and security plugins for blocks on AdsBot or on visitors from other countries.
  • Check robots.txt for rules naming AdsBot-Google or AdsBot-Google-Mobile.
  • After fixing, appeal from Policy Manager rather than waiting for a scheduled recrawl.

If you want help with landing pages or Google Ads, see our services.

Frequently asked questions

Why is my ad "Destination not working" when my site works?

Google checks with its AdsBot crawlers, not your browser. A firewall, bot protection, security plugin or country block can show AdsBot an error while you see the real page.

Does robots.txt block Google Ads?

Only rules aimed at AdsBot-Google or AdsBot-Google-Mobile. Google says AdsBot ignores the global (*) user agent.

How do I test my landing page as Google AdsBot?

In Chrome DevTools, open Network conditions, untick Use browser default under User agent and enter AdsBot's user agent string, then load the page.

How long does it take for a fixed ad to be approved?

Google says re-review after editing an ad typically takes 24 to 48 hours. If you only fixed the page, file an appeal to request a new review.

Can Destination not working get my account suspended?

Not immediately. Google issues a warning at least 7 days before suspending an account under the Destination requirements policy.

For more on landing pages, see our guides to landing page basics and trademarks in Google Ads.