Our First Customers Came From AI Conversations
They found us in a conversation, not a search result. That changes what a website is for.
Our first FabWise customer arrived through the contact form. The telemetry behind that form recorded where they had come from: ChatGPT.
Not a search result, not a referral, not an ad. They had described a problem to a model, our name had come back, and they clicked through. We did not learn this by asking them — we knew before the first conversation, because the lead carried it with it.
One of those is a story. When the second one arrived the same way, it stopped being a story and became a trend, and that is the point at which we started rebuilding for it.
Because the consequence is large, and it is the one every business is going to have to reason about: the surface where people meet your work is consolidating, and it is not yours.
The website is no longer where the experience happens
For twenty years the arrangement was stable. Somebody searched, landed on your site, read your words in your typography, and moved through the path you built. You owned the experience end to end, and the work of a website was to convert the person standing in it.
That is not what happened to us. The customer met our argument inside a conversation with a model. They read a summary somebody else wrote, in somebody else’s interface, with our name attached. By the time they reached the site — if they reached it at all — they had already decided.
The reflex is to read that as a loss of control, and to spend the next two years trying to drag people back onto your own property. We think that is the wrong response. The machine reading you early is not a leak in the funnel; it is the funnel now, and it is a channel you can feed deliberately.
What that changes about operations
If that is true, several habits stop making sense.
The homepage tour stops being the product. Nobody is being walked through anything. What matters is whether the specific claim a model needs is written down somewhere findable, in a piece that stands alone, because a model will quote one paragraph and never show the rest of the page it sat on. This site hands them the whole archive in one file rather than making them assemble it.
Freshness beats polish. The most-fetched path on this site is not a piece of writing — it is robots.txt, followed by sitemap.xml. Most of what a machine does here is ask whether anything changed. A site that answers “yes” often is a site that gets read; a site that answers “no” for six weeks is one that gets checked less.
The cost of publishing has to come down, because volume and recency are the levers you actually have. Not cheaper writing — cheaper everything around it. If getting a finished piece onto the site takes an afternoon of copying between tools, the cadence is set by the tooling rather than by how much you have to say.
And you have to measure the channel yourself. This is the one that surprised me.
Analytics cannot see the channel that brought us customers
The default answer to “how do people find us” is Google Analytics, and it has been for twenty years. It is now blind to the part that matters.
A model reading your site on somebody’s behalf runs no JavaScript, so no tag fires. Analytics also filters known bots out on purpose — that was correct for two decades, when a crawler was noise to be excluded from a report about people. It is not noise now. It is the distribution channel, and the industry standard tool is configured to discard it.
The referrer is not a substitute, though it is what caught us. Two leads arrived carrying one, which is the only reason this post exists — but a referrer only exists where somebody clicks through, and the overwhelming majority of what a model reads on your behalf never produces a click at all. The read leaves nothing behind except the fetch itself. That fetch is the only first-party evidence you get that a model read you.
So this site keeps its own record of it, from the first day. That timing is not fussiness: a log like this can only answer questions about the period it was already running, and there is no asking it about last month after the fact.
Eight days in: 675 fetches. ClaudeBot leads at 168, then GPTBot at 122 — and immediately behind them Googlebot at 57 and Amazonbot at 54. The AI crawlers and the search crawlers are the same traffic now, arriving at the same pages, which is not what I expected to find.
Two posts have gone up since collection started. Time from publishing to first fetch: 24 hours and 38 hours.
So we built our own loop around theirs
Two of those four steps happen somewhere we have no say over. That is the part everybody sees, and it is the part that makes people want to fight it. The interesting question is what you do with the other two.
We rebuilt the site as an application rather than a set of files, so an agent can operate it directly — drafting, revising, filing, preparing what goes out to each network — through the same door a person uses, with a record of everything it touched. That is what takes the cost out of publishing often, which is the first half of the loop. Publishing itself stays a human act, and it is the credential that enforces that, not a rule anybody has to remember.
The other half is the measurement. What a machine took is recorded here, on our own hardware, and that is what tells us what to write next. Nobody else’s analytics closes that circuit, which is exactly why it has to be ours.
This is not resignation to somebody else’s platform. It is the opposite: if the middle of the loop belongs to them, then the two ends had better belong to us — how fast we can produce, and whether we can see what happened. Everything in this build points at those two.
The prediction, stated so it can be wrong: new work keeps getting taken inside about forty-eight hours, and the pace of publishing matters more than any individual piece — because most of that traffic is a machine asking what is new.