---
title: "Before You Buy Ads in an LLM, Run This 30-Day Log Test"
description: "Your buyers may use assistants differently from ours. Verify 30 days of live fetches to your commercial pages before you buy LLM ads or hire an agency to run them."
url: "https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on"
image: "https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/1acf6ed1-1871-489c-b8aa-e7f8fcc022f5.png"
published: "2026-11-01T06:48:02.702Z"
modified: "2026-11-01T06:48:02.755Z"
---

November 1, 2026 · 10 min read

# Before You Buy Ads in an LLM, Run This 30-Day Log Test

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

![A chequebook bound shut by a long dot-matrix server log marked with red pencil ticks, suggesting no ad money gets spent until the logs are checked.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/1acf6ed1-1871-489c-b8aa-e7f8fcc022f5.png)

In this article

1. [Question: Are assistants fetching pages you sell from?](#question-are-assistants-fetching-pages-you-sell-from)
2. [Setup: Keep the log, the source IP and the page path](#setup-keep-the-log-the-source-ip-and-the-page-path)
3. [Measure weekly fetches, then commercial share](#measure-weekly-fetches-then-commercial-share)
4. [Decision rule: Test an available ad channel, or wait](#decision-rule-test-an-available-ad-channel-or-wait)
5. [Use the table to test an agency’s pitch](#use-the-table-to-test-an-agencys-pitch)
6. [Day 30: Fill in one page, then make the call](#day-30-fill-in-one-page-then-make-the-call)

Most agencies selling ads in LLMs will show you someone else’s numbers and call it proof. I published [_1,777 Verified ChatGPT Fetches in 30 Days. What Can an Ads Agency Actually Prove?_](https://groas.com/post/chatgpt-pulled-our-pages-into-1-777-live-answers-in-30-days) last month, and I am telling you not to buy based on it.

Those 1,777 verified fetches describe traffic to one site, including its homepage and changelog. Your buyers may behave differently. **Before you put money into ChatGPT or any other assistant, run the same check on your own traffic.** Give it 30 days. The result will not prove an ad will convert, but it will tell you whether assistants fetch your commercial pages often enough to warrant a closer look. It will also give you something concrete to put in front of any agency claiming it can run ChatGPT ads today.

## Question: Are assistants fetching pages you sell from?

Count live-answer fetches, not training crawls. [ChatGPT-User is a per-user live fetch, not an automatic crawl](https://platform.openai.com/docs/bots): it fires when a person asks something and the assistant checks your site. OpenAI says [robots.txt rules may not apply to that visit because a person triggered it](https://platform.openai.com/docs/bots). A crawler building an index tells you your pages exist. A verified live fetch tells you an assistant requested a page during a user interaction. It does **not** tell you what the person saw, whether the page appeared in the answer, or whether they intend to buy.

That distinction matters because a user-agent string is not proof. Attackers [cycled through about 32 fake AI-bot identities hunting for .env files](https://www.zerospam.org/fake-ai-crawlers-env-files/), and Fastly counted [6.3 million fake AI-crawler requests in a single day](https://www.zerospam.org/fake-ai-crawlers-env-files/). I used to count user agents straight from the log. I was wrong. If a hit merely claims to be ChatGPT-User, leave it out of the verified count until its source checks out.

![Diagram separating verified assistant fetches from unverified bot traffic](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/c0d42de5-2378-4a75-8535-ceaa6968de41.png)

## Setup: Keep the log, the source IP and the page path

Pull 30 days of requests from wherever your traffic already lands. Cloudflare Bot Analytics, Fastly logging, or raw nginx or Apache access logs can work. For each request, keep **the user agent, source IP and full URL path**. Record the date range and log source too; you will need both when you revisit the result. Say you are spending $20k a month on search and cannot get those three request fields. Skip the LLM ad test until you can. Measurement comes before media.

Set up three buckets before counting:

1. **Verified live-answer fetchers:** ChatGPT-User and the equivalent on-demand fetchers you can identify and verify for other assistants.
2. **Verified crawlers:** bots that build indexes or training sets, including GPTBot and OAI-SearchBot. Keep these on a separate tab; they answer a different question.
3. **Unverified claims:** requests whose user agents claim an assistant identity but whose source you cannot verify. Keep the rows, but never report them as verified assistant traffic.

[OpenAI publishes separate verification JSON for its bots](https://platform.openai.com/docs/bots), including [chatgpt-user.json](https://openai.com/chatgpt-user.json), searchbot.json, gptbot.json and adsbot.json. Load the current file for each identity you count. Match the source IP against the ranges in the corresponding file, not against a convenient file for a different bot. Anything outside the matching ranges goes in _unverified_. Record which files you used so someone else can reproduce the table.

Do not quietly merge the buckets when you present the result. A total that mixes ChatGPT-User, GPTBot and unverified hits may look impressive, but it cannot answer the test question. **The control is the verified, on-demand bucket.** Keep it intact for all 30 days.

### Tag URLs before day one

A fetch to `/pricing` and a fetch to `/robots.txt` are not the same signal. Most bot totals count them together anyway. Give every URL one of three tags before you start the 30-day count:

- **Commercial:** pages built to start a transaction, such as pricing, product, services, demo, checkout and signup.
- **Educational:** pages built to explain, such as blog posts, docs and guides.
- **Utility:** infrastructure such as `robots.txt`, sitemaps and favicon.

Keep the tagging rule stable throughout the test. If you change what counts as commercial halfway through, a rise in commercial share may be an edit to your spreadsheet rather than a change in assistant activity. Our [teardown of 30 days of AI crawler logs](https://groas.com/post/teardown-what-30-days-of-our-own-ai-craw) shows why page type matters: some fetchers never touch a commercial page. Tag first, then count.

## Measure weekly fetches, then commercial share

Make **one row per assistant and one column per week** for verified live-answer fetches. Keep the crawler tab alongside it, not inside it. Weekly counts let you see whether a monthly total reflects activity across the period or a short burst. Neither pattern proves demand by itself, but they are different patterns. Do not hide that difference in one large number.

Next, calculate the share of verified live fetches that land on commercial pages. Divide fetches to your tagged commercial URLs by all verified live-answer fetches for that assistant. A site with 400 verified ChatGPT-User fetches and 40 to commercial pages sits at 10%. A site with 400 fetches and 180 to commercial pages sits at 45%. Same total, different reason to consider an ad test.

Track the week-over-week direction and identify the commercial page with the most verified fetches. Then pull **Search Console organic clicks to the same commercial URLs over the same 30 days**. This is a baseline, not an attribution model: search clicks and assistant fetches are different events. If assistants fetch your pricing page 50 times while Google sends it 5,000 clicks, assistant activity is a footnote beside that search traffic. If the numbers are closer, the assistant column deserves more attention.

Keep totals and shares together. A high commercial share built from a handful of fetches is fragile; a large total made up almost entirely of utility and educational pages is not a commercial signal. I would rather see 60 verified fetches with 25 to a pricing page than 600 to a meme post. The useful number is the one that tells you what assistants requested from the pages that sell.

## Decision rule: Test an available ad channel, or wait

My operating threshold is blunt: **100 or more verified live fetches from one assistant in 30 days, at least 20% to commercial pages, and ads you can actually buy on that assistant.** If all three conditions hold, test that assistant first. The threshold is a gate for a small test, not a claim that the ads will work.

Right now that points to ChatGPT in most cases. [Perplexity phased out its 2024 ad tests and has no plans to bring them back](https://searchengineland.com/perplexity-stops-testing-advertising-451118), Anthropic says it will keep Claude ad-free, and ChatGPT shows ads only to logged-in adult Free and Go users. If your verified fetches cluster on Perplexity or Claude with almost nothing from ChatGPT-User, do not turn that pattern into a ChatGPT media budget. Work on the pages assistants can cite, or wait and check again.

Watch for three false positives:

- A spike in `robots.txt` hits means crawlers found you, not that buyers researched you.
- A large unverified total means the claimed bot identity has not passed your check. It is not a larger version of the verified total.
- One viral blog post pulling 300 fetches while pricing and product pages sit at zero means you won curiosity, not evidence of commercial page activity.

Write the limits in the same document as the result. **Fetches are not people, answers or impressions.** A verified request does not reveal whether anyone finished reading an answer. One month is not a trend, either. Our [74% unverified rate on raw AI-bot hits](https://groas.com/post/74-of-our-ai-bot-traffic-couldn-t-be-ver) is a reminder of how much a header-only count can leave unresolved. A small verified number you can defend beats a large unverified number that falls apart when a client asks where it came from.

## Use the table to test an agency’s pitch

Before an agency quotes you for ads in LLMs, ask it to run this protocol on your logs and bring back the verified table. A team that cannot separate ChatGPT-User from GPTBot, verify IPs against the published files, and split commercial from utility pages has not done the basic work needed to assess your assistant traffic. It can still make a deck. That is not the same thing.

At groas, we run [Search Ads across Google, Bing and ChatGPT](https://groas.com/pricing) on a flat fee with every action logged. The log check comes first; the media recommendation comes second. **If the logs show no commercial activity inside assistants, we say wait.**

Make any proposal that survives the log check answer four questions in writing:

1. **Inventory:** Which assistant, which user tiers, and what proof of access? Do not accept “LLM ads” as an inventory description.
2. **Targeting:** What inputs does the platform actually accept? ChatGPT gives [aggregated insights, not chats](https://www.storyly.io/post/chatgpt-ads-for-ecommerce-measure-test-and-budget), and its Ads Manager shows [Spend, Impressions, Clicks and CPC, with Device, Country and Platform slices](https://www.storyly.io/post/chatgpt-ads-for-ecommerce-measure-test-and-budget). There is no query report or search-terms tab.
3. **Measurement:** Will the pixel and Conversions API be installed before launch? How will campaign, ad group and ad UTM macros be used? Keep click-through and view-through values separate, and tie the CPA target to pipeline or sales.
4. **Money:** What is the daily test budget, hard stop date and written response to a pacing spike? A daily budget is an average: [a $100-per-day setting can spend $200 in a day](https://www.storyly.io/post/chatgpt-ads-for-ecommerce-measure-test-and-budget), up to 2x in one day and 7x across seven days.

Walk away from three pitches. First: a case study with no verified logs or dates, usually an impressions screenshot with a headline about being early. Early paid numbers are thin for a reason. Ads show on [about 25.94% of commercial prompts](https://cryptobriefing.com/chatgpt-ads-mixed-results-targeting/), [about 14% with limited or no connection to the query](https://cryptobriefing.com/chatgpt-ads-mixed-results-targeting/), with [CTR at 0.5% to 2% and CPCs from under $3 to over $10](https://cryptobriefing.com/chatgpt-ads-mixed-results-targeting/). One advertiser [spent $477 over six weeks for 370 clicks and zero conversions](https://cryptobriefing.com/chatgpt-ads-mixed-results-targeting/). An agency that hides that range is selling certainty the inventory does not offer yet.

Second: impressions reporting with no pipeline link. Delivery inside a conversation you cannot read is not proof of demand. Third: a ChatGPT keyword dashboard. There is no search-terms tab to export. Ask which fields came from OpenAI and which were inferred. That question ends most decks.

Apply the same skepticism to catalog uploads. The upload dialog says items [become eligible for ads only](https://www.storyly.io/post/chatgpt-ads-for-ecommerce-measure-test-and-budget), not organic shopping presence. **Eligibility is not visibility**, and neither is a sale. Put that distinction in the test plan before anyone treats an upload as a result.

## Day 30: Fill in one page, then make the call

Keep this page with the log export. Write _unknown_ rather than dressing an estimate up as a count. Put the date range, log source and verification files at the top; without them, the table will be hard to check next month.

- **Verified live-answer fetches:** ChatGPT-User, Claude fetcher and other verified assistants, each with weekly counts.
- **Commercial share:** verified fetches to pricing, product, services, demo and signup pages divided by total verified live fetches.
- **Trend:** week-one to week-four direction for each assistant, plus the commercial page with the most verified fetches.
- **Baseline:** Search Console clicks to the same commercial URLs over the same 30 days.
- **Decision:** test ChatGPT first, fix pages assistants could cite first, or wait and recheck in 90 days. Add one sentence explaining why.

If the test says wait, you have a baseline and have kept a test budget out of a channel your logs do not yet support. If it says go, start with a narrow test, a CPA target tied to pipeline, and an agency that showed its work on your traffic. Our fetch counts told you what happened on our site. **Your verified logs tell you what is worth testing on yours.** Run them before you buy.

One habit makes the test worth repeating. When commercial share comes back low, do not rewrite the whole site. Start with the two page types assistants pulled from us: a plain description of what you sell and a dated record of what changed. Clear pricing, a short how-it-works section and a current changelog give a live fetch something useful to carry back into an answer.

## Frequently Asked Questions

### Why should I test my own site instead of relying on another company’s fetch numbers?

Assistant activity on another site does not show how assistants interact with your commercial pages. A 30-day check of your own traffic can show whether verified assistants fetch those pages often enough to consider a closer look, but it cannot prove that ads will convert.

### How can I tell whether an assistant request in my logs is verified?

Keep the user agent, source IP and full URL path, then match the source IP against the current verification file for that specific assistant identity. Keep verified live-answer fetches separate from verified crawlers and unverified claims, and record which files you used so the count can be reproduced.

### How should I classify pages for a 30-day assistant-fetch test?

Tag each URL as commercial, educational or utility before the test begins. Commercial pages start a transaction, such as pricing, product, services, demo, checkout and signup pages; educational pages explain, such as blog posts, docs and guides; utility pages include infrastructure such as robots.txt, sitemaps and favicons. Keep the tagging rule stable.

### What should I measure besides the total number of assistant fetches?

Record verified live-answer fetches by assistant and week, calculate what share landed on commercial pages, and identify the commercial page with the most fetches. Compare those pages’ Search Console organic clicks over the same 30 days as a baseline, not as an attribution model, because clicks and assistant fetches are different events.

### What results justify testing ads on an assistant?

The article’s operating threshold is at least 100 verified live fetches from one assistant in 30 days, at least 20% of those fetches to commercial pages, and ads you can actually buy on that assistant. Meeting all three conditions is a gate for a small test, not evidence that the ads will work.

### What should I ask an agency to provide before buying ads in an assistant?

Ask the agency to run the log protocol and provide a table separating verified live fetches from crawlers and unverified claims, with commercial pages split from utility pages. Any proposal should also specify the ad inventory and eligible user tiers, accepted targeting inputs, measurement setup and attribution distinctions, plus the daily test budget, hard stop date and response to a pacing spike.

### What should I do if assistants rarely fetch my commercial pages?

Work on pages assistants could cite, or wait and recheck in 90 days rather than turning weak commercial activity into an ad budget. Start with a plain description of what you sell and a dated record of what changed; clear pricing and a short how-it-works section can also give a live fetch useful information to carry into an answer.

## 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/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on#webpage","url":"https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on","name":"Before You Buy Ads in an LLM, Run This 30-Day Log Test","description":"Your buyers may use assistants differently from ours. Verify 30 days of live fetches to your commercial pages before you buy LLM ads or hire an agency to run them.","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/1acf6ed1-1871-489c-b8aa-e7f8fcc022f5.png"},"breadcrumb":{"@id":"https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on#breadcrumb"},"dateModified":"2026-11-01T06:48:02.755Z","mainEntity":{"@id":"https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on#article"}},{"@type":"BreadcrumbList","@id":"https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on#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":"Before You Buy Ads in an LLM, Run This 30-Day Log Test","item":"https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on"}]},{"@type":"BlogPosting","@id":"https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on#article","url":"https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on","mainEntityOfPage":{"@id":"https://groas.com/post/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on#webpage"},"isPartOf":{"@id":"https://groas.com/blog#blog"},"headline":"Before You Buy Ads in an LLM, Run This 30-Day Log Test","description":"Your buyers may use assistants differently from ours. Verify 30 days of live fetches to your commercial pages before you buy LLM ads or hire an agency to run them.","datePublished":"2026-11-01T06:48:02.702Z","dateModified":"2026-11-01T06:48:02.755Z","image":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/1acf6ed1-1871-489c-b8aa-e7f8fcc022f5.png"},"author":{"@id":"https://groas.com/author/alexander-perelman#person"},"publisher":{"@id":"https://graph.groas.com/entity/groas"},"keywords":"ads, commercial, fetches, verified, before, test, pages, assistant","wordCount":2035,"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/before-you-buy-ads-in-an-llm-run-this-30-day-log-test-on#faq","mainEntity":[{"@type":"Question","name":"Why should I test my own site instead of relying on another company’s fetch numbers?","acceptedAnswer":{"@type":"Answer","text":"Assistant activity on another site does not show how assistants interact with your commercial pages. A 30-day check of your own traffic can show whether verified assistants fetch those pages often enough to consider a closer look, but it cannot prove that ads will convert."}},{"@type":"Question","name":"How can I tell whether an assistant request in my logs is verified?","acceptedAnswer":{"@type":"Answer","text":"Keep the user agent, source IP and full URL path, then match the source IP against the current verification file for that specific assistant identity. Keep verified live-answer fetches separate from verified crawlers and unverified claims, and record which files you used so the count can be reproduced."}},{"@type":"Question","name":"How should I classify pages for a 30-day assistant-fetch test?","acceptedAnswer":{"@type":"Answer","text":"Tag each URL as commercial, educational or utility before the test begins. Commercial pages start a transaction, such as pricing, product, services, demo, checkout and signup pages; educational pages explain, such as blog posts, docs and guides; utility pages include infrastructure such as robots.txt, sitemaps and favicons. Keep the tagging rule stable."}},{"@type":"Question","name":"What should I measure besides the total number of assistant fetches?","acceptedAnswer":{"@type":"Answer","text":"Record verified live-answer fetches by assistant and week, calculate what share landed on commercial pages, and identify the commercial page with the most fetches. Compare those pages’ Search Console organic clicks over the same 30 days as a baseline, not as an attribution model, because clicks and assistant fetches are different events."}},{"@type":"Question","name":"What results justify testing ads on an assistant?","acceptedAnswer":{"@type":"Answer","text":"The article’s operating threshold is at least 100 verified live fetches from one assistant in 30 days, at least 20% of those fetches to commercial pages, and ads you can actually buy on that assistant. Meeting all three conditions is a gate for a small test, not evidence that the ads will work."}},{"@type":"Question","name":"What should I ask an agency to provide before buying ads in an assistant?","acceptedAnswer":{"@type":"Answer","text":"Ask the agency to run the log protocol and provide a table separating verified live fetches from crawlers and unverified claims, with commercial pages split from utility pages. Any proposal should also specify the ad inventory and eligible user tiers, accepted targeting inputs, measurement setup and attribution distinctions, plus the daily test budget, hard stop date and response to a pacing spike."}},{"@type":"Question","name":"What should I do if assistants rarely fetch my commercial pages?","acceptedAnswer":{"@type":"Answer","text":"Work on pages assistants could cite, or wait and recheck in 90 days rather than turning weak commercial activity into an ad budget. Start with a plain description of what you sell and a dated record of what changed; clear pricing and a short how-it-works section can also give a live fetch useful information to carry into an answer."}}]}]}
```
