LiveOpenAI Ads, now in Cresva.See how
Skip to content
Back to Guides
Agent Commerce11 min read6 chapters

Tracking the Dark Funnel: The Revenue GA4 Misses

How to measure revenue that AI recommendations drive but GA4 files as direct traffic or branded search, using a survey protocol you can run yourself.

Shubham Raghav

Chapter 1The Sale GA4 Called Direct Traffic

A customer asks ChatGPT: “What's the best project management tool for a 20-person startup?” ChatGPT recommends your product. The customer opens a new tab, types your brand name into Google, clicks, and purchases. GA4 records the source as “google / organic” or “direct / none.”

The AI agent that drove the discovery? Invisible. No UTM parameter. No referral header. No click ID. GA4 has no idea that conversation ever happened, and it never will, because AI agents don't link out the way traditional websites do.

The reason is mechanical rather than statistical, which is why it does not depend on anyone's survey. Attribution in GA4 is built on the Referer header and on click identifiers in the URL. Assistants frequently send neither: some strip the header, some open links in an in-app browser that does not pass one, and a user who copies a link out of a chat and pastes it into a fresh tab has destroyed the signal regardless of what the assistant does. A session arriving with no referrer and no click ID is not ambiguous to GA4, and it is not counted as unknown. It is labelled Direct, with full confidence, because Direct is precisely the bucket for traffic that carries no origin information. The misattribution is not a bug in the tool. It is the tool doing what it says on the tin against inputs that no longer carry the data it was designed to read.

This is the dark funnel, the growing share of your revenue pipeline that originates in AI conversations but appears in your analytics as something else entirely. And it's getting larger every month as AI agent adoption accelerates.

Every time a customer asks an AI agent for a recommendation and then googles the answer, your analytics records a lie. The true source, the AI conversation, is invisible. This isn't a bug in GA4. It's a structural limitation that no tracking pixel can fix.

Chapter 2Three Types of Dark Funnel Revenue

Not all dark funnel revenue is the same. Understanding the three types helps you measure each one with different methodologies.

Type 1: AI-to-Brand Search

Largest

The customer gets a recommendation from an AI agent, then searches your brand name on Google. GA4 records this as organic or paid branded search. This is the largest category of dark funnel revenue.

Type 2: AI-to-Direct Navigation

No referrer

The customer gets a recommendation, types your URL directly into their browser, or opens a saved bookmark after the AI conversation. GA4 records this as direct traffic, correctly, because no referrer was ever sent.

Type 3: AI-Influenced Delayed Conversion

Smaller

The customer doesn't convert immediately but the AI recommendation plants a seed. They see a retargeting ad or social post days later and convert. The ad platform claims credit, but the AI agent created the initial intent.

Interactive

The invisible customer journey

Click each step to see how AI-driven purchases become invisible.

Ask ChatGPT

User asks: 'Best running shoes for flat feet under $150?'

The three types compound, and none of them is visible from inside your own reporting. We are not going to put a percentage on the combined total, because we do not have one we measured and the figures circulating publicly trace back to vendor blog posts rather than to a readable method. What is safe to say is structural: every one of the three paths above terminates in a session that GA4 files under Direct or branded organic, so the size of your dark funnel is not a number you can look up. It is a number you have to go and measure, which is what the rest of this guide is about.

Chapter 3Why Traditional Attribution Is Blind

Traditional attribution relies on three mechanisms, UTM parameters, referral headers, and cookies. AI agents break all three simultaneously.

No UTM Parameters

When ChatGPT mentions your brand, there's no hyperlink with tracking parameters. The user types your URL or searches your name manually. No UTM, no attribution.

No Referral Headers

AI conversations happen in closed environments. When a user opens a new browser tab after reading a recommendation, the HTTP referrer is empty or shows Google, never the AI platform.

No Cookie Continuity

There's no cookie linking the AI conversation to the subsequent website visit. The user starts a completely fresh session with no connection to the discovery moment.

Cross-Device Blindness

Many users ask AI agents on mobile but purchase on desktop. Even sophisticated cross-device tracking can't connect a ChatGPT conversation on an iPhone to a laptop purchase.

The gap is growing

As AI agent usage grows month-over-month, the dark funnel gap widens. Brands that measured a small share of dark funnel revenue a year ago are seeing a larger share today. Ignoring this trend means your attribution model drifts further from reality every quarter.

Chapter 4The Post-Purchase Survey Protocol

Everything above establishes that your analytics cannot see this traffic. This chapter is the one method that gets you a number anyway, and it works because it stops trying to infer the source from telemetry the assistant never sent, and asks the buyer instead. It needs no vendor, no tag manager migration and no model. A survey field on your order-confirmation page and a spreadsheet is the entire apparatus.

It is also the only instrument in this guide that produces evidence you can defend to a finance team, because the output is not an estimate derived from coefficients. It is a count of customers who told you where they came from, set against what your analytics recorded for those same orders.

The question, verbatim

How did you first hear about us?

One question. Not two, and not a grid. Ask it on the order-confirmation page, after the payment has cleared and before any upsell or account-creation prompt. Make it optional and single-select, and put it above the fold of that page rather than under the fold where only the diligent scroll.

Answer options, in this order, with the order randomised per session except for the last two:

Search engine (Google, Bing) / AI assistant (ChatGPT, Claude, Perplexity, Gemini) / Social media / Friend or family / Podcast or newsletter / Saw an ad / Other (free text) / Do not remember

Three design points that decide whether the data is usable. Name the assistants explicitly, because “AI assistant” alone gets under-selected by people who think of it as just searching. Keep “Do not remember”, because without it that population distributes itself across your real options and inflates whichever sits first. And randomise the order of everything except Other and Do not remember, because first- position bias in a list of eight is large enough to swamp the effect you are looking for.

On timing: run it for four full weeks minimum, and until you have at least 200 responses, whichever is later. Four weeks because a shorter window lands inside a single promotional cycle and you will measure your last campaign rather than your baseline. 200 because below that a channel sitting at 5 percent has fewer than ten responses behind it, and one unusual week moves it enough to reverse your conclusion. If your order volume cannot reach 200 in eight weeks, run it continuously and read it quarterly instead of trying to force a window.

  1. Capture the response against the order ID

    The response is worthless as an aggregate percentage and valuable as a row joined to an order. Store the answer alongside the order ID, not just as a survey tally, because the entire method depends on comparing the two sources for the SAME orders.

  2. Export what your analytics believed about those same orders

    For each order ID in the survey set, pull the session source and medium your analytics recorded. In GA4 this means exporting transactions with their attributed source or medium and default channel grouping over the identical date range.

  3. Join the two on order ID and cross-tabulate

    One row per order, two columns: what the customer said, what the analytics said. Then count the cells. You are looking specifically at the row where the customer answered AI assistant, and at what the analytics claimed those orders were.

  4. Read the disagreement, not the totals

    The headline number is not what share said AI assistant. It is what share of the orders where the customer said AI assistant were filed by analytics as Direct or branded organic. That is your attribution gap, measured on your own data.

  5. Re-run it quarterly and keep the wording frozen

    Changing the question or the option list breaks comparability with your own prior reads, which is the only benchmark that matters here. If you must change it, treat that as a new baseline rather than a continuation.

Believable disagreement, versus noise

The test is not whether the survey and analytics disagree. They always disagree, because they measure different things: the survey captures first discovery, and last-click analytics captures the final session. Some gap is correct and expected.

What looks like a real finding. A concentrated, one-directional gap. Customers who answered AI assistant land overwhelmingly in Direct and branded organic rather than scattering evenly across every channel. The pattern holds when you split the data in half by date. It survives excluding your largest promotional week. And the same customers show a plausible behavioural signature, typically arriving on a product page rather than the homepage.

What looks like noise. A gap that moves by more than a few points between the first and second halves of the window. A gap that disappears when you drop one week. Anything resting on fewer than about 30 responses in the AI-assistant row, whatever the total sample. And an even spread of AI-assistant answers across every analytics channel including paid social, which usually means people are selecting the answer that sounds most modern rather than recalling what happened.

The honest failure mode is the one worth naming: self-reported attribution is recall, and recall is biased toward whatever the customer did most recently and whatever is culturally salient. It tells you a channel is materially present and is being filed somewhere else. It does not give you a precise percentage, and any process that treats it as though it does has quietly turned a survey into a model.
You do not need to see the conversation to know it happened. You need one question on a page you already control, joined to order IDs you already have. The output is not a model of your dark funnel, it is a measurement of how often your analytics and your customers disagree about the same purchase, which is the only version of this number you can put in front of a CFO.

Chapter 5Setting Up Dark Funnel Measurement

Here's the practical step-by-step for implementing dark funnel measurement, whether you're using Cresva or building your own approach.

  1. Baseline your 'direct' and 'organic brand' traffic

    Before you can measure the dark funnel, you need 30 days of clean baseline data for direct traffic and branded organic search volume.

  2. Set up AI agent monitoring

    Systematically query ChatGPT, Perplexity, Claude, and Gemini with purchase-intent prompts in your category. Track mention frequency weekly.

  3. Implement conversion path tagging

    Add custom dimensions in GA4 to flag sessions that match AI-referred behavioral signatures: direct landing on product pages, short session duration with high purchase rate.

  4. Build correlation models

    Correlate AI mention frequency with branded search volume and direct traffic changes over 8-12 week windows to establish your brand's specific dark funnel coefficient.

  5. Run validation surveys

    Add a 'How did you hear about us?' post-purchase survey. Include 'AI assistant / ChatGPT / Perplexity' as options. This provides ground truth to calibrate your model.

  6. Integrate into attribution

    Feed dark funnel estimates into your attribution model as a new channel. Reallocate credit away from branded search and direct to reflect the true AI-driven share.

Survey validation

Post-purchase surveys are the one instrument that asks the customer directly, and they routinely surface AI assistants as a first-touch source that appears nowhere in the analytics for the same orders. That disagreement is the finding. You do not need to know the size of the gap in aggregate to act on it; you need to know the gap exists in your own data, and a survey on your own order-confirmation page is the cheapest way to find out. Run it for a month before you believe any industry figure, including the ones in this guide.

Chapter 6The Attribution Model

Once you've established dark funnel measurement, the next challenge is integrating it into your attribution model so budget decisions reflect reality. Here's the framework Cresva uses.

Step 1: Decompose branded search

Split branded search conversions into three buckets: ad-driven (incrementality tested), organic brand equity, and AI-referred. The split is brand-specific and there is no benchmark worth borrowing here; the point of the decomposition is to produce your own number.

Step 2: Reclassify direct traffic

Apply your dark funnel coefficient to direct traffic. Create a virtual 'AI Agents' channel and move the AI-referred share of direct credit into it.

Step 3: Adjust retargeting credit

Some retargeting conversions started with AI discovery. Reduce retargeting attribution by the estimated AI-influenced delayed conversion rate.

Step 4: Build the AI Agent channel

Aggregate all reclassified revenue into a new 'AI Agent' attribution channel. Track it alongside paid, organic, and direct. Optimize for it by improving your agent visibility.

The brands that build dark funnel attribution now will have a strategic advantage. They'll know which AI agents are driving revenue, optimize their visibility in those agents, and allocate budget toward the channels that create demand, not just the ones that happen to be the last click before purchase.

Cresva's dark funnel measurement runs continuously across all your channels. Without manual surveys or guessing at correlation, you get clear visibility into the revenue AI agents are driving and how to grow it.

Written by Shubham Raghav, Founder & CEO, Cresva. Questions? Email us.