# AdsBot-Google

> Checks the quality of desktop landing pages for Google Ads. Google documents that it ignores the robots.txt * group with the ad publisher's permission, and obeys a group named for its own token.

| field | value |
|---|---|
| operator | Google |
| category | Tools and frameworks |
| robots.txt token | `AdsBot-Google` |
| user-agent contains | `AdsBot-Google` |
| robots.txt | ignores the * group; obeys rules named for its own token |
| verify by | published IP ranges |
| published IP ranges | https://developers.google.com/static/search/apis/ipranges/special-crawlers.json |
| prefixes mirrored | 136 IPv4 / 136 IPv6 |
| operator docs | https://developers.google.com/search/docs/crawling-indexing/google-special-case-crawlers |
| last reviewed | 2026-09-14 |

## What blocking it costs you

Google Ads cannot score your landing pages, which lowers Ad Rank on the ads pointing at them. If you do not buy ads, blocking it costs nothing but bandwidth savings.

## Full user-agent string

```
AdsBot-Google (+http://www.google.com/adsbot.html)
```

## Block it

```
User-agent: AdsBot-Google
Disallow: /
```

## Allow it

```
User-agent: AdsBot-Google
Allow: /
```

## Ask this page a question, with one GET

A question about this page, answered by a call you can make right now — no key, no account, no JSON-RPC, nothing to assemble. The query string is already filled in with this page's own subject.

- **How do I prove a request really is AdsBot-Google?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/verification-methods?crawler=adsbot-google&s=client-dossiers'`  
  The verification method its operator actually publishes — published IP ranges, reverse DNS, or nothing at all — and the mirror of it on this host.
- **Is 108.177.2.0 really AdsBot-Google?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/verify-crawler?ip=108.177.2.0&ua=AdsBot-Google&s=client-dossiers'`  
  That address checked against every prefix this host mirrors. 108.177.2.0 is the first address of 108.177.2.0/27, one of the ranges listed on this page — so the link is a worked example that returns a match. Swap in an address from your own log.

Every parameter above is a value the endpoint reads, not an address it visits: nothing is fetched on your behalf. Called without any parameter, each endpoint returns its own specification instead of an error.

JSON: https://www.pathwren.workers.dev/crawler/adsbot-google.json · index: https://www.pathwren.workers.dev/llms.txt
