Description
Clearway Forge shows how much AI assistants such as ChatGPT, Perplexity and Claude send to your WooCommerce store, and what that traffic is worth in orders. It measures the channel from your own server and joins it to your WooCommerce orders, so the numbers match the money in your own database. No third-party script and no pixel on your storefront.
It counts. Every AI visit and every order it leads to, attributed with first-party data. You choose the attribution model on the Settings screen: last touch, first touch, linear or time decay. The reporting window goes back up to 400 days.
It shows its work. Next to every number you see how it was identified: a referrer, a campaign tag, or an assistant that fetched the same page moments earlier. Estimates are labelled as estimates and reported separately from proven revenue.
It makes your store readable to machines. An llms.txt and llms-full.txt map of your catalogue and policies, generated from your live products and kept in sync as they change.
It logs the bots. You see which crawlers read your store, how often and for what purpose. A request claiming to be GPTBot from an address outside OpenAI’s published ranges is shown as what it is: someone pretending. That check needs the address lists the vendors publish, so it works once you turn on crawler address verification on the Settings screen.
Your data stays on your server
The plugin stores no IP addresses and no email addresses. Visitor sessions are keyed by a first-party cookie, set only for visits that actually came from an AI assistant. When a consent plugin that supports the WP Consent API is active, the cookie is set only after the visitor has agreed to anonymous statistics. WordPress privacy exporter and eraser hooks are supported. The plugin is compatible with High-Performance Order Storage and the block-based cart and checkout.
What it does not do
It does not survey language models about your brand, it does not generate content, and it does not run its own MCP server. It measures the channel. If you already run an MCP connector, the two work side by side: a connector opens your store to agents, and this plugin records what they did.
The only request the plugin can make is the download of the public crawler address lists, and only after you turn crawler address verification on. See External services.
Documentation: https://clearwayforge.com/docs/
External services
This plugin can make one kind of outbound request. It is off until you turn it on, and it is disclosed here in full.
Crawler address lists published by OpenAI and Perplexity.
What it is for. A user agent string costs nothing to forge. To tell a real GPTBot visit from a scraper wearing its name, the plugin compares the requesting address against the ranges each vendor publishes. Without this, every claimed crawler would have to be taken at its word, and the crawler log would be worth very little.
What is sent. Nothing. These are plain unauthenticated GET requests for public JSON files. No personal data, no store data, no site identifier and no licence key are transmitted. The plugin does not send your visitors’ addresses anywhere; it downloads the vendors’ lists and does the comparison locally.
What is received. A list of IP ranges.
When. Only after you turn on Crawler address verification on the plugin’s Settings screen. From then on, once a day from a background task, never during a customer’s page view. Activating the plugin does not contact any server.
Which endpoints.
https://openai.com/gptbot.jsonhttps://openai.com/searchbot.jsonhttps://openai.com/chatgpt-user.jsonhttps://www.perplexity.ai/perplexitybot.json
Terms of the providers. OpenAI: terms, privacy. Perplexity: terms, privacy.
While it is off. Nothing is downloaded. Crawler visits are then reported as “declared”: the user agent matched, but the address could not be checked. The plugin never treats an unverified visit as a forged one. Turning verification off again stops the daily download and deletes the lists already downloaded.
The plugin contains no analytics, no telemetry and no licensing calls of its own.
Free and paid
Everything described above is free and stays free. That includes the reporting window, up to the last 400 days, and all four attribution models: last touch, first touch, linear and time decay, chosen on the Settings screen. Nothing about either depends on a key.
A separate paid add-on, installed alongside this plugin, adds:
- CSV export of revenue by AI agent
- A monthly digest email
- Schema enrichment aimed at agents, and a machine readable catalog feed that puts the catalogue into assistant product discovery
- Agent guard rails: per agent keys with scopes, an append only journal with a hash chain, and a kill switch that turns the agent API off. The agent API is read-only today; held writes will arrive with write tools
A licence for the paid add-on also includes priority email support while it is active. It ends when the licence expires and comes back on renewal.
The free plugin contains none of that code. Nothing here is a disabled button waiting for a payment.
Hooks for other plugins
Two actions are published as a stable contract, so a mailing list, a CRM or an operations dashboard can react to the AI channel without polling the database. The second one, clearwayforge/action_held, does not fire yet.
clearwayforge/ai_order
Fired by this free plugin when an order has been attributed to the AI channel. Once per order, never once per touch, and only after the attribution row has been written, so a listener that reads the tables sees the order it was woken for. Orders with nothing to attribute fire nothing at all.
do_action( 'clearwayforge/ai_order', int $order_id, string $agent, array $attribution );
$order_id— the WooCommerce order.$agent— the assistant with the largest share:chatgpt,perplexity,claudeand so on. Ties are broken by the dashboard’s own order, so the same order always names the same winner.-
$attribution— model, currency,order_total_cents,ai_total_cents,proven_total_cents,fully_proven, and asourceslist with one entry per touch. Money is always whole cents, never a float. Nothing about the visitor is included: no address, no email, no user agent.example.php:
add_action( ‘clearwayforge/ai_order’, function ( $order_id, $agent, $attribution ) {
error_log( sprintf( ‘#%d came from %s: %d cents’, $order_id, $agent, $attribution[‘ai_total_cents’] ) );
}, 10, 3 );
clearwayforge/action_held
This hook does not fire yet. The agent API is read-only today, so the paid add-on never holds an action and never calls it; held writes will arrive with write tools. The contract below is settled in advance, so a listener can be written now.
Planned contract, once write tools arrive: the add-on fires it once per hold, immediately after the journal entry is written and before the agent gets its answer. Nothing in the store has been changed at that point, and nothing will change until you decide.
do_action( 'clearwayforge/action_held', int $hold_id, string $agent, string $capability, string $summary );
$hold_id— the journal sequence number, which doubles as the identifier of the pending action.$agent— the agent key,agt_….$capability— the ability name, for examplewoocommerce/update-product-price. Not the scope: the scope says what kind of action it is, the ability name says what would actually happen.$summary— one phrase for a human: “Change a product price”.
The arguments carry no part of the agent’s payload. The journal keeps only its hash, for the same reason: the contents of a call do not belong in places outside the store.
This hook does not exist on a site running only the free plugin, because nothing there holds agent actions; on a site with the add-on it does not fire yet either. Guard has_action() accordingly, or check that the add-on is active.
Screenshots






Installation
- Install and activate WooCommerce 8.0 or newer.
- Upload the plugin and activate it.
- Open Measurement in the admin menu. The first numbers appear as soon as an AI referral reaches your store.
- Optional: on Measurement Settings, choose the attribution model, turn on crawler address verification, and decide whether deleting the plugin should also delete its data.
The plugin keeps its data in its own database tables. The only thing it writes to an order is its AI channel verdict, stored as order meta through the WooCommerce order API.
FAQ
-
Does my store really get AI traffic?
-
Often, yes, and much of it does not identify itself. When an assistant opens a link, the browser often sends no referrer, so the visit looks like someone typing the address by hand and analytics files it under “direct”. Clearway Forge detects such visits with first-party data inside your store.
-
Google Analytics added an AI channel. Why do I still need this?
-
That channel classifies by referrer, and much assistant traffic arrives without one. The channel list also does not cover every assistant, and it counts sessions rather than order revenue in your own database. The two are complementary: use the channel report for the traffic Google can see, and this plugin for the part it cannot and for the money attached to it.
-
Why do some numbers say “estimated”?
-
Because they are. Where the plugin can prove the source of a visit, it says so; where it infers it, it says that instead, and keeps the two apart in every total.
-
Can an AI assistant buy from my store through Clearway Forge?
-
No. Clearway Forge does not offer an agent checkout. It counts the AI channel and makes your catalogue readable to assistants.
-
Does this send my data anywhere?
-
No. Analysis happens inside WordPress, and no data about your store or your visitors leaves the server. The only outbound requests the plugin can make download the public crawler address lists described under External services. They carry no data about your store or your visitors (the request names only the plugin and its version), and they do not happen until you turn crawler address verification on.
-
Does it work with High-Performance Order Storage?
-
Yes. The plugin declares compatibility with High-Performance Order Storage and with the block-based cart and checkout.
-
Will it slow my store down?
-
Collection adds a user agent check and a URL parse on public page views, and writes to the database after the response has been sent. Nothing the plugin does is on the critical path of a purchase.
-
What happens to my data if I delete the plugin?
-
Nothing, unless you ask for it. History survives deactivation and reinstallation. To remove the plugin’s tables and settings when you delete it, first turn on Delete all Clearway Forge data when the plugin is deleted on the Settings screen. Only a user who can delete plugins can change that setting.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Clearway Forge – AI Traffic Analytics & llms.txt for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Clearway Forge – AI Traffic Analytics & llms.txt for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.2
- llms.txt and llms-full.txt show prices, names and descriptions as plain characters: a dollar price carried the HTML entity for the “$” sign instead of the sign itself, and a sale price repeated itself. A sale now reads the way WooCommerce says it to screen readers (“Original price was: $150.00. Current price is: $129.00.”). The documents cached by 1.0.1 are not served after the update.
- The per-page crawler visit counters were never saved because of a malformed database query; they are now, and they are deleted with the rest of the crawler log when it reaches the retention limit.
1.0.1
- Crawler address verification is now off until you turn it on in Settings. Activation no longer schedules any download.
- Settings: choose whether deleting the plugin also deletes its data.
- Readme and admin screens describe only what the plugin and its add-on actually do.
1.0.0
- First public release.
0.1.0
- First release: attribution to WooCommerce orders, crawler log with address verification,
llms.txtandllms-full.txt, health screen, privacy exporter and eraser.
