Answers

How do I set an attribution baseline before changing our content strategy?

Short answer

Capture a dated snapshot with the definitions written into it, not just the numbers. A baseline is only useful if you can reproduce it identically in six months, which means recording the attribution window, the branded regex, the influence weight, and the page-to-bucket mapping alongside the figures. Most baselines fail not because the data was wrong but because nobody can remember what the numbers meant.

What a baseline actually has to contain

Numbers alone aren't a baseline. Six months from now someone will ask why organic revenue moved, and if your definitions drifted in the meantime you'll have no way to separate a real change from a measurement change.

Record all of it:

ComponentWhy it has to be frozen
Attribution window90 vs 180 days produces materially different revenue
Branded regexA regex that grows will shrink non-brand over time artificially
Influence weight35% vs 45% changes influenced pipeline by a third
Page-to-bucket mappingReclassifying one high-traffic page shifts the whole mix
Channel definitionsEspecially which AI sources count where
Data coverageWhat share of contacts had a populated first-touch field

That last row is the one teams skip and regret. If 60% of contacts had first-touch data at baseline and 90% do later, revenue will appear to grow purely from improved coverage.

The metrics worth freezing

Keep it to what you'll actually compare against, roughly a dozen figures.

Traffic and visibility. Organic sessions split by intent bucket, branded versus non-brand clicks, AI-referred sessions, citation share on your tracked prompt set, and impressions in Google's generative AI surfaces if you have access to that report.

Revenue. Sourced organic revenue, influenced pipeline with the weight stated, revenue per intent bucket, and median time from first touch to closed-won.

Content inventory. Page count per intent bucket and the share of pages cited by AI surfaces. Without this, a later change in the mix looks like a performance change.

Baseline before the change, not after it starts

The window matters. Capture at least two quarters of trailing data before the strategy shifts, because a single quarter can't separate signal from seasonality.

If the strategy change is already underway, capture what you can and label the baseline as partial. A partial baseline honestly labelled is far more useful than a reconstructed one that quietly includes the first weeks of the change.

Why the AI-search baseline has to be captured separately

AI visibility moves faster than organic rankings and is path-dependent, so a single reading is a poor baseline.

Our own state of AI search research, covering more than 22,000 answers, found that once a brand is mentioned for a specific prompt, next-observation mention probability is 83.2% on ChatGPT, 83.3% on Perplexity, and 84.2% on Google AI Mode, against roughly 10% after a miss. Presence is lumpy rather than smooth.

That's why researchers argue visibility should be measured as a distribution across runs, prompts, and time rather than as one snapshot. Your AI baseline should be an average across at least eight weekly observations, not a single week's reading.

How Analyze AI freezes a reproducible baseline

The failure mode here is human: the baseline lives in a spreadsheet, someone rebuilds it later with slightly different filters, and the comparison becomes meaningless. The fix is to make the baseline an artifact produced by a workflow rather than a document produced by a person.

Two capabilities do the work.

Exports become run artifacts. Every export node produces a downloadable file attached both to that run and to the agent's global artifact library. So a baseline run in March is retrievable in September as the exact file that was generated, not a reconstruction.

Agent self-inspection makes comparison automatic. The workflow-memory recipe returns outputs from prior successful runs of the same agent, and last-run-output returns the most recent. A comparison agent built on these reads its own history, which means the later comparison uses the identical method by construction rather than by discipline.

The baseline capture agent:

Start (manual, run once before the strategy change) → GSC Top Pages for Site and Top Keywords for Site (branded regex, trailing 2 quarters) → GA4 AI Traffic Overviewshare-of-voice recipe → Citation ShareGet Visibility Events (month-over-month per provider) → funnel-coverage recipe → HubSpot Get CRM Objects (revenue by landing page and bucket) → Code (compute the twelve baseline figures, and record the definitions used as a structured block alongside them) → Excel export and DOCX exportSend Email to the team.

The comparison agent, run quarterly afterwards:

Start (schedule, quarterly) → same data nodes → workflow-memory (retrieve the baseline run) → Prompt LLM (compare current against baseline, flag any metric where the definition rather than the performance changed) → DOCX exportSend Email.

Analyze AI Agent Builder canvas showing a chain that captures metrics and exports them as run artifacts

The definition-drift flag in that second agent is the whole point. Being able to say "non-brand revenue fell 8%, and none of that came from a change in how we define branded" is what makes the baseline worth having captured.

For the AI half specifically, running the baseline agent weekly for eight weeks before the change gives you the distribution rather than a point reading.

Analyze AI's Overview showing visibility change by AI surface month over month

FAQ


Want a baseline you can reproduce exactly six months from now? Start a free Analyze AI trial and capture it as a run artifact.