> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fixaeo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Attribution

> Sessions, conversions, and revenue that started in an AI answer.

Attribution is the page that tells you what happens after someone clicks through from an AI assistant.

It reads your Google Analytics 4 property, keeps only the sessions whose referrer was an AI engine, and reports three things: sessions, conversions, and revenue. Everything else on the page — the per-engine bars, the landing pages, the country and device splits — is a breakdown of those same AI sessions.

## What you need before it works

Attribution has no data of its own. It is entirely a read of GA4.

<Steps>
  <Step title="Track a brand">
    Attribution rolls up to one brand. With no brands, the page shows an "Add a brand" card.
  </Step>

  <Step title="Connect GA4 on a paid plan">
    Connecting requires a paid plan. See [Plans and limits](/plans-and-limits).
  </Step>

  <Step title="Pick a property">
    OAuth alone isn't enough. Until you select a property, the page shows "Pick a GA4 property" instead of charts.
  </Step>
</Steps>

The connection is per brand. A two-brand account can have GA4 on one brand and nothing on the other, and the page follows whichever brand you have selected. Full setup steps live on [Google Analytics](/integrations/google-analytics).

## How does FixAEO decide a session came from AI?

It reads GA4's `sessionSource` for every session and matches it against the referrers below. A match tags that session with an engine. Everything else is ignored.

| Engine     | Referrer                               |
| ---------- | -------------------------------------- |
| ChatGPT    | `chatgpt.com`, `openai`                |
| Claude     | `claude.ai`, `anthropic`               |
| Perplexity | `perplexity.ai`                        |
| Copilot    | `copilot.microsoft.com`                |
| Gemini     | `gemini.google.com`, `bard.google.com` |
| Grok       | `grok.com`, `x.ai` and its subdomains  |
| DeepSeek   | `deepseek`                             |
| Meta AI    | `meta.ai`                              |

<Note>
  This engine list is not the same as the nine engines FixAEO scans for answers. AI Overviews and AI Mode clicks arrive in GA4 as ordinary Google organic traffic, so no referrer can separate them. Attribution can't see them at all.
</Note>

## The three numbers

Three tiles sit at the top. Click one to switch what the chart below plots.

* **AI sessions** — GA4 sessions from a matched AI referrer.
* **AI conversions** — GA4's own conversions metric for those sessions.
* **AI revenue** — GA4's total revenue for those sessions, in the property's own reporting currency.

Two smaller numbers come off those totals for the range you've selected. Conversion rate is conversions per AI session, as a percentage. Revenue per session is AI revenue divided by AI sessions. Both show a dash when there are zero AI sessions, rather than a misleading zero.

<Note>
  Conversions and revenue are whatever your GA4 property already counts. FixAEO doesn't define goals of its own. If the number looks wrong, the fix is in GA4.
</Note>

## Reading the charts

The time series plots the metric you selected. You can switch it between daily, weekly, and monthly. Weekly appears once you have at least 14 days of data, monthly at 60. Weekly and monthly buckets sum the daily counts, and a still-running week or month is drawn with a hollow dot plus an "in progress" note so a half-finished period doesn't read as a crash.

Today's value is always partial. GA4 finalises a day roughly 24 hours after midnight in the property's timezone.

The bar chart on the right groups the same metric by engine. Engines with a zero value are dropped rather than drawn as empty bars, so a short list means few engines are sending traffic.

## What is an AI-cited page?

The table below the charts uses GA4's `landingPage` dimension: the entry page of each AI-referred session. That is the page the assistant actually linked to. It deliberately isn't a general page-views table, which would fill up with downstream pages like `/login` that no assistant ever cites.

Each row shows the URL, sessions, icons for the engines that referred to it, and average engagement time.

If the sessions in the table don't add up to the AI sessions tile, a footnote tells you the difference. GA4 returns no resolvable landing page when a tracker fires late, a privacy extension strips the referrer, or a single-page app changes the URL first. Those sessions still count in the total; they just have no URL to list.

<Tip>
  Cross-check your top AI-cited pages against [Sources](/sources). A page that engines both cite in answers and send clicks to is your strongest asset. Improve it before you write anything new.
</Tip>

## Countries and devices

Two cards close the page. Countries shows AI sessions per country as a donut plus a top-eight table, with the share of AI sessions each represents. Devices splits the same sessions across desktop, mobile, and tablet with a bar per row. Both count sessions only — no conversions or revenue split.

Country codes come from GA4 as ISO codes, and rows GA4 can't resolve are dropped rather than shown as "(not set)".

## How fresh is the data, and how far back does it go?

FixAEO syncs every active connection through the day, and recent days are re-pulled as GA4 settles them, so late-arriving data corrects itself.

History starts accruing when you connect. On the day you connect you get about 30 days of backfill. The 90-day and 365-day ranges keep filling in from there, so they look thin at first and get better every day.

Ranges available: 7, 30, 90, and 365 days.

## What attribution can't tell you

* **Clicks, not answers.** Most AI answers never produce a click. Treat these numbers as a floor on your real impact and use [Visibility Score](/metrics/visibility-score) for the part analytics can never see.
* **Nothing about crawlers.** Bots reading your site don't create GA4 sessions. That's [Agent analytics](/agent-analytics).
* **Only what GA4 recorded.** Blocked trackers, consent banners, and stripped referrers all subtract from these counts.
* **One property per brand.** Traffic split across several GA4 properties needs several brands.

<Note>
  The attribution snapshot on your [dashboard](/dashboard) covers the last seven days and reads in the same currency, just abbreviated — "\$1.2K", "₹3.4L". Both surfaces follow your GA4 property's reporting currency.
</Note>

## Related pages

* [Google Analytics](/integrations/google-analytics) — connecting, reconnecting, and disconnecting
* [Search performance](/seo) — the Google side, and the queries you rank for but AI ignores
* [Dashboard](/dashboard) — where the seven-day attribution summary appears
