Skip to content

Lesson 1 of 2

Tracking revenue from search and AI

Set up analytics so organic and AI-referred sessions are separated and tied to orders.

5 min readIntermediateUpdated 2026-08-22

A store selling trail shoes gets a monthly report that says organic search sent a healthy number of sessions. Nobody in the room can say what those sessions bought, or whether any came from an AI assistant rather than a Google result. Until you can answer both, search is a cost you hope is working. The fix is three settings, not a new tool: a purchase event that carries revenue, a channel that separates AI referrals, and a landing-page join that ties each order to the search that started it.

Revenue only exists if the purchase event carries it

Google Analytics 4 (GA4) doesn't know what an order is. It knows about events, and revenue appears in its reports only when a purchase event fires on the order confirmation page carrying a transaction ID, a value and a currency. If that event is missing, every channel shows zero revenue and search looks like it makes nothing. If it fires twice, from your platform's integration and again from an old tag a developer left behind, every channel shows double.

Most platforms handle this if you connect GA4 the official way: Shopify through its Google & YouTube channel, WooCommerce through its official Google Analytics extension. Doubles come from a theme or app sending its own tag as well.

To check, place a test order, then count how many purchase events GA4 records for it and compare the value with your platform's figure. One event, correct value, correct currency. Anything else is the first fix, because nothing downstream is trustworthy until it's right.

One limit: shoppers who decline cookies in your consent banner never appear in GA4, so its revenue is always lower than your platform's order total. Treat GA4 revenue as a share to compare across channels, not a total.

Where Google and AI visits land by default

GA4 sorts each session into a default channel group using its source and medium. A click from a Google result arrives with google as the source and lands in Organic Search. A click from an AI assistant arrives with the assistant's domain as the source, chatgpt.com or perplexity.ai for instance, and because those aren't on GA4's list of search sites, it files them under Referral. When the assistant strips the referrer, or tags the link with a utm_source but no medium, the session lands in Unassigned or even Direct instead. AI traffic isn't missing from your reports; it's scattered under names nobody looks for.

One thing you can't separate. Clicks from Google's AI Overviews and AI Mode carry a google referrer and count as Organic Search in GA4, and Google's Search Central documentation says they're reported inside the normal Web search type in Search Console with no separate filter. Treat them as part of organic and move on.

The Traffic acquisition report, with Session source / medium as the primary dimension, shows you which of the three channels your AI visits are sitting in.

Give AI its own channel

A custom channel group in GA4's admin settings lets you define a channel by rule. Create one called AI assistants with a rule that matches the session source against the assistant domains you found, plus the ones you expect. Rules are checked in order, so place it above Referral. Switch a report to that channel group and AI referrals sit in one row next to Organic Search, with the same revenue and key event columns.

Expect the row to be small in sessions. What matters is the revenue per session beside it: a shopper an assistant sends has usually already been told what to buy and why. Each new assistant arrives as a new referral source, so revisit the rule. For what makes a product eligible to be named in those answers, see AI shopping answers.

Attribution: one order, two stories

The Traffic acquisition report credits an order to the source of the session it happened in. The User acquisition report credits it to the first source that brought that person. A shopper who found your collection in Google on Tuesday and returned on Friday by typing your URL is Organic in the second and Direct in the first. Neither is wrong; they answer different questions.

Read both. If organic revenue is much higher in User acquisition than in Traffic acquisition, search is doing the introducing and something else is closing: the pages that rank work as discovery pages, and the return path, email or a brand search, is where the sale lands.

GA4 has revenue but no search queries. Search Console has queries but no revenue. The join between them is the landing page: the URL that caught the search is the URL that started the session.

  1. In GA4, open the Landing page report, filter to Organic Search, and sort by revenue. That is your list of money pages in the order they actually earn.
  2. For each of the top pages, open Search Console's Performance report, filter by that page, and read the Queries tab. Those are the searches the page earns money from.
  3. Compare query with page. A collection earning from a product-name query, or a product earning from a category query, is catching the wrong search; Which page catches which search explains what to do.

Repeat monthly and the list becomes your priority order for the rest of this track.

What to take away

  • GA4 only reports revenue a correctly firing purchase event carries, so confirm one event per order with the right value first.
  • AI assistant visits are filed under Referral, Unassigned or Direct by default; a custom channel group puts them in one row with their revenue.
  • Google's AI Overviews can't be separated from ordinary organic clicks in GA4 or Search Console, so treat them as organic.
  • The landing page joins GA4's revenue to Search Console's queries, and that join tells you which searches make money.

Next

With revenue tied to pages, run The 30-minute store quick-wins audit on the pages that earn the most.

Free tools this lesson uses

Saved in this browser only.

Chapter 8: See how much money search makes you

All 9 chapters