---
title: "Only 25.6% of Our Claimed AI-Bot Hits Verified. Here’s What Agencies Should Report"
description: "In 30 days of groas edge logs, 3,952 of 15,448 claimed AI-bot hits on robots.txt passed verification. The page-level fetches show why AI SEO reports need more than crawl volume."
url: "https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days"
image: "https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/d6acf69c-f0f9-4735-a7de-ee8ed23dd681.png"
published: "2026-10-30T05:57:29.458Z"
modified: "2026-10-30T05:57:29.518Z"
---

October 30, 2026 · 9 min read

# Only 25.6% of Our Claimed AI-Bot Hits Verified. Here’s What Agencies Should Report

[Alexander PerelmanHead Of Product @ groas](https://groas.com/author/alexander-perelman)[LinkedIn](https://www.linkedin.com/in/alexander-433793253/)

![Cartoon of a doorman checking ID for a queue that all wear 'HELLO I'M GPTBot' stickers, though only one is genuine; the rest are a goat, a disguised man and kids in a coat.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/d6acf69c-f0f9-4735-a7de-ee8ed23dd681.png)

In this article

1. [Three buckets, and the one agencies keep selling](#three-buckets-and-the-one-agencies-keep-selling)
2. [What the 30-day groas log review actually counts](#what-the-30-day-groas-log-review-actually-counts)
3. [Why the changelog pages deserve a closer look](#why-the-changelog-pages-deserve-a-closer-look)
4. [Prompt data shows where server logs stop](#prompt-data-shows-where-server-logs-stop)
5. [The limits: one site, one window, one set of checks](#the-limits-one-site-one-window-one-set-of-checks)
6. [Checklist: the report I would put in front of an AI SEO client](#checklist-the-report-i-would-put-in-front-of-an-ai-seo-client)

Only **[25.6% of the AI-bot hits claimed in our robots.txt logs passed verification](https://groas.com/post/76-of-our-ai-bot-traffic-couldn-t-be-ver)**. Over 30 days on groas.com, that meant 3,952 verified requests out of 15,448 claims. If an agency sells that unfiltered bot chart as AI visibility, its client is paying to admire requests that may not have come from the bots named in the report.

The more useful finding came after we set robots.txt aside. Verified, user-triggered page fetches clustered around our homepage and two dated Google Ads changelog posts. Those are the requests worth investigating: which assistant fetched which page, and did the page give it something useful for an answer? A raw crawl total cannot tell you any of that.

This is not a quirk unique to our logs. In a late-summer [check of typical news and media sites, a median of 84% of GPTBot claims and 99% of Perplexity-User claims were fake](https://www.centinelanalytica.com/blog/fake-crawler-report). A separate [small-site log check found roughly a third of claimed AI crawlers failed checks against vendor IP lists](https://dev.to/vicgorndesign/a-third-of-the-ai-crawlers-hitting-our-site-were-fake-7d1). Neither sample supplies an industry-wide rate. Both make the same reporting point: count the identity check before you count the crawler.

## Three buckets, and the one agencies keep selling

The terms matter because each step answers a different question:

| Bucket                    | What it tells you                                                   | What it does not tell you                          |
| ------------------------- | ------------------------------------------------------------------- | -------------------------------------------------- |
| Claimed hit               | A request used an AI-bot name in its user-agent.                    | Whether that bot sent it.                          |
| Verified hit              | Its source IP and reverse DNS passed the operator check.            | Whether it fetched useful page content.            |
| User-triggered page fetch | A verified assistant fetch requested a page rather than robots.txt. | Whether the answer cited or recommended that page. |

![Three buckets for AI-bot requests: claimed hits, verified hits, and user-triggered page fetches](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/cbe71a15-3431-4315-af09-7b9242e3beac.png)

A user-agent is a self-introduction. **Verification checks who made the request; a page-level log shows what they requested.** In our check, a hit counted as verified only when its source IP was in the operator’s published range and reverse DNS resolved back to the operator’s domain. [Centinel uses operator IP ranges or DNS contradictions to identify fake crawler claims](https://www.centinelanalytica.com/blog/fake-crawler-report). OpenAI provides [machine-checkable ranges for its training, search, and user-triggered fetch bots](https://dev.to/vicgorndesign/a-third-of-the-ai-crawlers-hitting-our-site-were-fake-7d1).

I used to tell clients that crawl volume meant demand. I was wrong. A request for robots.txt says that something checked the crawl rules. It does not say a customer asked a question, an assistant read an article, or a brand appeared in the answer. That is a fairly expensive distinction to lose in a dashboard.

## What the 30-day groas log review actually counts

Our 30-day edge-log review recorded claimed AI-bot requests to robots.txt, then checked the source IP and reverse DNS. The resulting shares are a verification result, **not an estimate of how often groas appeared in AI answers**.

| Robots.txt request bucket        |  Count | Share of claimed requests |
| -------------------------------- | -----: | ------------------------: |
| Claimed AI-bot hits              | 15,448 |                      100% |
| Passed IP and reverse-DNS checks |  3,952 |                     25.6% |
| Did not pass those checks        | 11,496 |                     74.4% |

The last row is **unverified, not a proven count of malicious spoofers**. Some requests may have been impersonators; others simply could not be resolved under the rule we used. Impersonation is real: [one scanner observed in the wild claimed to be 32 AI bots while probing for secret paths](https://www.darkreading.com/cyber-risk/attacker-impersonates-ai-bots-scans-credentials). But the table does not identify the motive behind every failed check.

Version strings will not rescue a loose report, either. In Centinel’s sample, [more than 99% of fake ChatGPT-User hits copied the real version string](https://www.centinelanalytica.com/blog/fake-crawler-report). If your white-label AI SEO dashboard groups requests by the name they typed into their user-agent, it is reporting introductions as IDs. Filtering those requests changes the denominator before anyone debates whether a page performed well. That is why verification belongs at the start of the report, not in a footnote below the chart.

![Bar chart comparing claimed AI-bot hits with requests that passed verification](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/6ea03eb0-398b-4905-8000-587d691922b1.png)

### The page fetches clustered around three URLs

Once robots.txt requests are removed, our [page-level log review](https://groas.com/post/thirty-days-of-bot-logs-the-page-chatgpt) points to a much smaller set of pages. Verified ChatGPT-User fetches concentrated on the homepage and two Google Ads changelog posts. The counts are approximate, and they describe requests, not unique readers or proven citations.

| Page                      | Approximate verified ChatGPT-User page fetches | What the page offered            |
| ------------------------- | ---------------------------------------------: | -------------------------------- |
| Homepage (`/`)            |                                          \~770 | A plain description of groas.    |
| Google Ads updates post A |                                          \~580 | A dated, specific change record. |
| Google Ads updates post B |                                          \~408 | Another dated update record.     |

Other pages and crawlers appeared in the logs, but they did not show the same concentration of verified, user-triggered page fetches. That is the useful comparison. **A busy page is a page to investigate, not a citation to claim.** The log tells us where to look when we test relevant prompts; it does not tell us which prompt, if any, produced each request. To establish what an assistant displayed, we also need to inspect the answer. Without that second step, even a clean page-fetch count remains a measure of requests.

### ChatGPT-User and Claude-User left different traces

[ChatGPT-User is associated with user-triggered fetches](https://dev.to/vicgorndesign/a-third-of-the-ai-crawlers-hitting-our-site-were-fake-7d1), so its verified requests for article HTML are more relevant to live-answer reporting than a training crawler’s visit. In this window, verified ChatGPT-User requests repeatedly pulled page bodies. Claude-User repeatedly requested robots.txt and rarely pulled full page bodies. **Do not merge those patterns into one ‘AI visits’ number.**

The difference does not establish a permanent reading habit for either assistant. It says what happened on this site during this window. A separate [3,850-prompt test found only 31% source overlap across the surfaces it examined](https://citations.press/research/sector-directories-drive-ai-citations/), another reason to keep assistant-level observations separate. If a client asks whether a Claude robots.txt spike means more Claude citations, the answer from these logs is no: the spike alone cannot show that. Nor should the ChatGPT-User page requests be relabeled as confirmed ChatGPT recommendations. The requests are the stronger signal here, but the answer is still missing.

## Why the changelog pages deserve a closer look

The two Google Ads posts are dated, narrow, and revised in place. Each covers a specific change window, names what changed, and retains its URL as the contents are updated. That gives a fetcher a direct route to a time-sensitive answer. The homepage serves another purpose: it says what groas does, who it serves, and what it costs in language an assistant can extract when someone asks about providers. I discuss the broader assumptions behind this in [_7 Myths About AI Citations, Tested Against Crawler Logs_](https://groas.com/post/7-things-businesses-believe-about-gettin-2).

I would not call the fetch pattern proof that a date or a particular paragraph length caused the requests. The logs do not run that experiment. They do give an agency a sensible page model to test against its own answers:

- **Make the question specific.** Each updates post addresses what changed, rather than trying to cover all of Google Ads.
- **Keep the time signal visible.** A dated title and in-place revisions help a reader assess whether a change record is current.
- **Put the useful detail close together.** Settings names, dates, and short factual blocks make the page easier to inspect than several paragraphs of positioning.

Most agency blogs go the other way: a broad explainer, several competing takeaways, and no clear reason to fetch that URL for a fresh question. The practical move is not to announce that all long guides are dead. It is to ask whether the page answers the prompt you expect it to serve. If it does not, another pass at the headline will not fix the missing answer.

## Prompt data shows where server logs stop

A fetch log cannot tell me the exact prompt that led to a request or whether the resulting answer recommended groas. That is where answer-level tests become useful. Across [3,850 commercial prompts, sector directories appeared in 41% of supplier-selection responses, versus 18% for brand-owned pages](https://citations.press/research/sector-directories-drive-ai-citations/). In the same study, [brand homepages appeared in 14% of responses overall and 6% of category-prompt responses](https://citations.press/research/sector-directories-drive-ai-citations/).

Those findings are not a prompt-by-prompt explanation of our three busy URLs. They do warn against assuming that a homepage fetch solves every supplier-selection query. A dated specialist post may be useful for a question about a recent Google Ads change; a broad request for suppliers can draw from a different set of sources. **Measure the prompt and inspect the answer before calling either pattern a win.** The distinction matters to the page plan: the homepage and changelogs do different jobs, so a single total for all their fetches would make both harder to evaluate.

Assistant choice matters as well. In that test, [Perplexity cited sector directories in 47% of category responses, versus 22% for ChatGPT](https://citations.press/research/sector-directories-drive-ai-citations/). Our server logs add a narrower observation: ChatGPT-User pulled article bodies in this window, while Claude-User mostly checked robots.txt. These are different measurements, not interchangeable proof. An agency promising ‘AI visibility’ as one blended score hides the very differences a client needs to act on.

## The limits: one site, one window, one set of checks

This was one B2B marketing site over one 30-day window. groas has technical explainers and dated changelogs; a store with thousands of product pages, a local service business, or a news publisher could show a different request mix. Our 25.6% verified share is not an industry average, and the page-fetch counts are not a citation rate.

The window can change, too. Operators can update IP ranges, scanners can rotate user-agents, and assistants can change when they fetch a page. Perplexity barely registered in our logs; that does not make it irrelevant to another client’s answers. **Take the method, not our ratios:** verify the requester, separate robots.txt from page bodies, distinguish training crawlers from user-triggered fetches, then check the answers themselves. The counts expire. Those distinctions remain useful.

## Checklist: the report I would put in front of an AI SEO client

If you resell AI SEO, give the client a report they can trace from a request to a page and, separately, from a tested prompt to an answer. A [white-label AI brand visibility dashboard](https://www.barchart.com/story/news/4392733/agency-platform-introduces-ai-brand-visibility-dashboard-for-white-label-tracking-of-brand-presence-across-ai-search) can track presence, but presence alone does not show who fetched a page or whether a mention became a recommendation. Keep the measures distinct rather than adding them into a score whose parts nobody can inspect:

1. **Verified page fetches, with robots.txt excluded.** Show page paths and the IP-plus-reverse-DNS rule; do not substitute claimed bot totals.
2. **User-triggered fetches by assistant.** Give ChatGPT-User, Claude-User, Perplexity, and other relevant bots separate rows; keep training crawlers apart.
3. Crawled pages versus user-triggered page fetches. Show where requests concentrate without labeling every fetched page a citation.
4. **Prompt coverage with answer text attached.** Record the prompt, test date, assistant, cited pages, and answer excerpt so someone can inspect what appeared.
5. **Recommendation share, not just citation presence.** In one test, [a brand cited through its own listicle was omitted from the recommendation 69% of the time; changing search availability changed recommendations 80.2% of the time, with little correlation between citation and recommendation](https://www.searchenginejournal.com/how-to-measure-ai-search-visibility/579893/). This is the item agencies most often skip. It costs them the ability to tell a client whether a chart full of mentions led to the thing the client actually wanted.

The decision is straightforward: stop selling user-agent volume as visibility. Report verified, user-triggered fetches per page, check what the assistants actually answered, and build more pages with the specificity and upkeep of the two changelogs that drew those fetches. Otherwise, the most impressive line in the report may be a scanner with a good user-agent.

## Frequently Asked Questions

### What percentage of claimed AI-bot hits were verified in the groas edge log review?

Only 25.6% of the claimed AI-bot hits were verified during the 30-day groas edge log review. A hit is considered verified only when its source IP and reverse DNS pass the operator check. These logs show verified requests, not an estimate of how often groas appeared in AI answers.

### How are AI-bot requests categorized beyond simple volume?

AI-bot requests are categorized into three buckets: claimed hit, verified hit, and user-triggered page fetch. A claimed hit is when a request uses an AI-bot name in its user-agent, while a verified hit is confirmed by IP and reverse DNS checks.

### Are there observable differences in how ChatGPT-User and Claude-User request content from a website?

ChatGPT-User is associated with fetching article HTML and page bodies, making its requests relevant to live answer reporting. In contrast, Claude-User repeatedly requested robots.txt and rarely pulled full page bodies during the observation period.

### Can server logs tell you if an AI assistant cited a specific page?

Server logs cannot determine if an AI assistant cited or recommended a specific page. They only indicate that a verified assistant fetch requested that page rather than just a robots.txt file. Establishing what an assistant displayed requires inspecting the actual answer.

### What did the log checks reveal about the validity of claimed AI crawlers in wider samples?

Checks on typical news and media sites showed that a median of 84% of GPTBot claims and 99% of Perplexity-User claims were fake. A separate small-site log check found roughly one-third of claimed AI crawlers failed checks against vendor IP lists.

## Paid Ads & SEO, Run For You

Businesses pay one flat monthly fee per service, agencies resell it under their own brand, and groas does the work either way.

[See Pricing](https://groas.com/pricing)

## Structured data

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://graph.groas.com/entity/groas","name":"groas","url":"https://groas.com/","description":"groas is a done-for-you marketing service, not software: elite people working with proprietary technology systems run search ads, Meta ads, SEO and AI search for businesses, and white label for agencies, with a dedicated senior strategist owning every account.","logo":{"@type":"ImageObject","url":"https://groas.com/icon-512.png","width":512,"height":512},"sameAs":["https://www.linkedin.com/company/groas/"]},{"@type":"WebSite","@id":"https://groas.com/#website","name":"groas","url":"https://groas.com/","inLanguage":"en-US","publisher":{"@id":"https://graph.groas.com/entity/groas"}},{"@type":"WebPage","@id":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days#webpage","url":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days","name":"Only 25.6% of Our Claimed AI-Bot Hits Verified. Here’s What Agencies Should Report","description":"In 30 days of groas edge logs, 3,952 of 15,448 claimed AI-bot hits on robots.txt passed verification. The page-level fetches show why AI SEO reports need more than crawl volume.","inLanguage":"en-US","isPartOf":{"@id":"https://groas.com/#website"},"about":{"@id":"https://graph.groas.com/entity/groas"},"primaryImageOfPage":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/d6acf69c-f0f9-4735-a7de-ee8ed23dd681.png"},"breadcrumb":{"@id":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days#breadcrumb"},"dateModified":"2026-10-30T05:57:29.518Z","mainEntity":{"@id":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days#article"}},{"@type":"BreadcrumbList","@id":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://groas.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://groas.com/blog"},{"@type":"ListItem","position":3,"name":"Only 25.6% of Our Claimed AI-Bot Hits Verified. Here’s What Agencies Should Report","item":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days"}]},{"@type":"BlogPosting","@id":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days#article","url":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days","mainEntityOfPage":{"@id":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days#webpage"},"isPartOf":{"@id":"https://groas.com/blog#blog"},"headline":"Only 25.6% of Our Claimed AI-Bot Hits Verified. Here’s What Agencies Should Report","description":"In 30 days of groas edge logs, 3,952 of 15,448 claimed AI-bot hits on robots.txt passed verification. The page-level fetches show why AI SEO reports need more than crawl volume.","datePublished":"2026-10-30T05:57:29.458Z","dateModified":"2026-10-30T05:57:29.518Z","image":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/d6acf69c-f0f9-4735-a7de-ee8ed23dd681.png"},"author":{"@id":"https://groas.com/author/alexander-perelman#person"},"publisher":{"@id":"https://graph.groas.com/entity/groas"},"keywords":"page, robots txt, verified, claimed, requests, claimed ai-bot, ai-bot hits, ai-bot","wordCount":1881,"inLanguage":"en-US"},{"@type":"Person","@id":"https://groas.com/author/alexander-perelman#person","name":"Alexander Perelman","jobTitle":"Head Of Product @ groas","description":"My background includes Goldman Sachs and Stanford Computer Science.","image":"https://groas.com/media/blog/4f17cac3a81acc224cc1b2cfab8f94bbc295a3089d13e8421125771ef8d4064f.jpg","worksFor":{"@id":"https://graph.groas.com/entity/groas"},"sameAs":["https://www.linkedin.com/in/alexander-433793253/"]},{"@type":"FAQPage","@id":"https://groas.com/post/75-of-the-ai-bots-hitting-our-site-weren-t-real-what-30-days#faq","mainEntity":[{"@type":"Question","name":"What percentage of claimed AI-bot hits were verified in the groas edge log review?","acceptedAnswer":{"@type":"Answer","text":"Only 25.6% of the claimed AI-bot hits were verified during the 30-day groas edge log review. A hit is considered verified only when its source IP and reverse DNS pass the operator check. These logs show verified requests, not an estimate of how often groas appeared in AI answers."}},{"@type":"Question","name":"How are AI-bot requests categorized beyond simple volume?","acceptedAnswer":{"@type":"Answer","text":"AI-bot requests are categorized into three buckets: claimed hit, verified hit, and user-triggered page fetch. A claimed hit is when a request uses an AI-bot name in its user-agent, while a verified hit is confirmed by IP and reverse DNS checks."}},{"@type":"Question","name":"Are there observable differences in how ChatGPT-User and Claude-User request content from a website?","acceptedAnswer":{"@type":"Answer","text":"ChatGPT-User is associated with fetching article HTML and page bodies, making its requests relevant to live answer reporting. In contrast, Claude-User repeatedly requested robots.txt and rarely pulled full page bodies during the observation period."}},{"@type":"Question","name":"Can server logs tell you if an AI assistant cited a specific page?","acceptedAnswer":{"@type":"Answer","text":"Server logs cannot determine if an AI assistant cited or recommended a specific page. They only indicate that a verified assistant fetch requested that page rather than just a robots.txt file. Establishing what an assistant displayed requires inspecting the actual answer."}},{"@type":"Question","name":"What did the log checks reveal about the validity of claimed AI crawlers in wider samples?","acceptedAnswer":{"@type":"Answer","text":"Checks on typical news and media sites showed that a median of 84% of GPTBot claims and 99% of Perplexity-User claims were fake. A separate small-site log check found roughly one-third of claimed AI crawlers failed checks against vendor IP lists."}}]}]}
```
