CrawlCheck

Findings · 2026-09-02 · By · 0 views

A tree-service lead arrived with utm_source=chatgpt.com. Here is what that does and does not prove.

A quote request on a Denver tree-service site carried the tag ChatGPT appends to links it hands out. One lead is not a rate, but it is the first outcome point on a record that had only measured inputs until today.

At 15:32 Mountain time on 2 September 2026 a quote form on treeservicedenverllc.com, the Denver tree-service site whose report was CrawlCheck's public demo until 16 September 2026, recorded a request for tree trimming and removal from a Denver zip code. The form's submission-source field, which stores the URL the visitor was on, read https://treeservicedenverllc.com/?utm_source=chatgpt.com.

The person is not named here and nothing about them is stored by CrawlCheck. What is recorded is the event: a lead, dated, with the source tag it arrived with, on a domain whose machine layer has been measured throughout the last three weeks. That record is the only reason this post can be written with any precision at all.

Where the tag comes from #

ChatGPT appends utm_source=chatgpt.com to the links it places in answers. It is not something the site owner adds and not something a crawler leaves behind; it is written into the destination URL by the assistant at the moment it hands a user a link. When the user follows it, the tag rides along in the address bar and into any form that captures the current page URL.

That matters because the usual attribution is gone by then. Ninety-three percent of arrivals on this site send no referrer, and an answer engine's app is exactly the kind of origin that strips it. A query-string tag survives where a Referer header does not. It is the one piece of evidence the engine chooses to leave, and it is the reason this lead can be attributed and the previous ones could not.

What the record shows for the week before #

The site's report is public and regenerates when opened. On the day of the lead it graded A at 97 of 100, with one finding open and every quotable-content row passing: a lead sentence that defines the business, a phone, an address and a service area an engine can repeat with attribution. The verified crawler traffic for the seven days ending 1 September, read from the zone's own edge logs rather than from a script on the page, was 1,090 requests from AI crawlers, 422 from AI search agents and 50 from AI assistants fetching on a user's behalf, with ClaudeBot the single largest AI crawler at 387.

None of those numbers is an outcome. They are inputs: the site could be reached, could be read, and had been read. The lead is the first outcome the record holds, and it has been entered as one point in the site's outcome series, dated, with its source tag, so that it sits beside the change dates rather than in a screenshot.

What it proves #

That an answer engine reached this site, read enough of it to recommend it for a specific local service, and that a user acted on the recommendation. That the machine layer was in a state an engine could use on the day it was used. That the attribution path (engine tag to landing URL to form field) works end to end without any analytics script, which this site does not run.

What it does not prove #

It does not prove a rate. One lead in one afternoon is one lead; the record will say what the rate is after it has held enough of them, and until then any figure would be invented. It does not prove which fix caused it: the site's findings were closed over several weeks and the engine does not say which page or which fact it used. It does not prove that ChatGPT is the largest source of leads for this business, only that it is now a measurable one.

The honest statement is narrower than the exciting one, and it is the one that will still be true in a month: a site with a clean, measured machine layer received a lead that an answer engine tagged as its own. That is the kind of sentence CrawlCheck exists to make possible, and the kind a rank tracker cannot produce.

The site the referral landed on, on the day it landed #

MeasureReading
Time of the request15:32 Mountain, 2 September 2026
Grade that dayA, 97 of 100
Findings open1
Quotable-content rowsall passing
Verified AI-crawler requests, seven days to 1 September1,090

Read from the zone’s own edge logs, not from a script on the page.

If you want the same evidence on your site #

Three things, in order. Capture the landing URL in your quote form; most form builders store it, and it is where the tag lands. Keep the site's machine layer in a state an engine can use, and measure it rather than assume it: the free scan is the measurement. Record the outcome next to the record: a licence lets you post leads, calls or sales to the domain's outcome series through the API, so the day a lead arrives is written beside the day something changed.

Every figure above came out of CrawlCheck.

Point it at your own domain and see the same measurements, free.

Scan a domain — free

The main product

Found this on your own site? We fix it for $749.

Scan free to see where you stand. The fix is one site, every finding implemented and re-measured, with a sealed before and after.

Questions this post answers

What is utm_source=chatgpt.com?

A query-string tag ChatGPT appends to links it places in its answers. It is added by the assistant, not the site, and survives into the landing URL where a Referer header usually does not.

Does one lead mean the site ranks in ChatGPT?

No. It means an answer engine recommended the site once for a specific local request and a user acted on it. A rate needs more points; the record is set up to hold them.

Which fix produced the lead?

The engine does not say, and the post does not guess. The site's findings were closed over several weeks; the lead is recorded as an outcome beside those change dates so the relationship can be read later, not asserted now.

Was the visitor tracked?

No. The site runs no analytics script; the form stored the page URL it was submitted from, which carried the tag. The person is not named and nothing about them is held by CrawlCheck.

Related findings

How anything measured in this article was measured15client identitiesone second, one address5machine filesapex and www114named agentsresolved from robots.txt24sections scoredreach, read, quoteHow anything measured here was measured15 client identities5 machine files114 named agents24 sections scoredone second, one addressapex and wwwresolved from robots.txtreach, read, quote
No account, nothing installed, and the same sequence on every domain — which is what makes one scan comparable to another. Run it on your own site.

Comments

Comments are read before they appear. Nothing is published automatically, and no account is needed.

Writing about this? Facts, live figures and marks — every number on that page is dated and traceable to a scan.

All findings · The dataset · How the dataset works