Home / Resources / Prove / Before/after AI visibility proof report
AI Search Intelligence

Before/after AI visibility proof report

The short answer

Use this Markdown report for one registered prompt panel and one dated shipment. It preserves planned-cell arithmetic, a complete stable-ID ledger, matched windows, deployment validation, per-window coverage, a common-cell paired denominator, gain/persistence/reversal treatment, failure details, raw-evidence pointers, outcome definitions, uncertainty, concurrent changes, alternatives, no-movement or adverse results, and the next decision. Its synthetic example reports movement after a shipment without claiming the shipment caused it.

Copy or download version 1.0

This is a manual, reusable template. RankEcho does not import, populate, submit, or execute it automatically. Replace the synthetic example values and preserve the evidence links and limits.

# Before/after AI visibility proof report

Version: 1.0
Example status: synthetic; replace every example value before use.
Author: unassigned
Independent reviewer: unassigned

## Registered protocol

- Observation ID: SYNTHETIC-OBS-001
- Fix ticket: SYNTHETIC-TICKET-001
- Fixed panel version: SYNTHETIC-PANEL-1
- Declared surfaces (2): synthetic-surface-a | synthetic-surface-b
- Verbatim prompt count: 6
- Repeat count per prompt-surface pair: 1
- Planned-cell arithmetic: 6 prompts × 2 surfaces × 1 repeat = 12 cells per window
- Planned cells per window: 12
- Stable cell key: panel version + prompt ID + declared surface + locale + account state + repeat index
- Matching rules: record brand text, owned-source links, other citations, recommendations, and named competitors separately.
- Exclusions: unavailable and failed cells are reported but excluded from observed-outcome denominators.
- Before window: 2026-08-10 to 2026-08-16
- Deployment time: 2026-08-18T12:00:00Z
- After window: 2026-08-20 to 2026-08-26
- Raw evidence location: REQUIRED
- Concurrent changes: REQUIRED; write "none observed" only after checking.
- Protocol deviations: REQUIRED; write "none" only when the registered protocol was followed.

## Synthetic worked example

### Per-window coverage context

| Window | Planned | Unavailable | Failed | Observed | Owned-link observations | Available-case rate |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Before | 12 | 1 | 1 | 10 | 1 | 10.0% |
| After | 12 | 0 | 1 | 11 | 2 | 18.2% |

The available-case rates use different observed populations and are coverage context, not the primary matched comparison. The cell ledger below reconciles all 12 planned cells in each window to these totals.

### Twelve-cell evidence ledger

| Cell ID | Prompt ID | Surface | Repeat | Before status | Before owned link | Before artifact | After status | After owned link | After artifact | Pair treatment |
| --- | --- | --- | ---: | --- | --- | --- | --- | --- | --- | --- |
| SYNTHETIC-CELL-001 | SYNTHETIC-PROMPT-001 | synthetic-surface-a | 1 | observed | no | synthetic-before-001.txt | observed | yes | synthetic-after-001.txt | common: gain |
| SYNTHETIC-CELL-002 | SYNTHETIC-PROMPT-002 | synthetic-surface-a | 1 | observed | yes | synthetic-before-002.txt | observed | yes | synthetic-after-002.txt | common: persisted positive |
| SYNTHETIC-CELL-003 | SYNTHETIC-PROMPT-003 | synthetic-surface-a | 1 | observed | no | synthetic-before-003.txt | observed | no | synthetic-after-003.txt | common: persisted negative |
| SYNTHETIC-CELL-004 | SYNTHETIC-PROMPT-004 | synthetic-surface-a | 1 | observed | no | synthetic-before-004.txt | observed | no | synthetic-after-004.txt | common: persisted negative |
| SYNTHETIC-CELL-005 | SYNTHETIC-PROMPT-005 | synthetic-surface-a | 1 | observed | no | synthetic-before-005.txt | observed | no | synthetic-after-005.txt | common: persisted negative |
| SYNTHETIC-CELL-006 | SYNTHETIC-PROMPT-006 | synthetic-surface-a | 1 | observed | no | synthetic-before-006.txt | observed | no | synthetic-after-006.txt | common: persisted negative |
| SYNTHETIC-CELL-007 | SYNTHETIC-PROMPT-001 | synthetic-surface-b | 1 | observed | no | synthetic-before-007.txt | observed | no | synthetic-after-007.txt | common: persisted negative |
| SYNTHETIC-CELL-008 | SYNTHETIC-PROMPT-002 | synthetic-surface-b | 1 | observed | no | synthetic-before-008.txt | observed | no | synthetic-after-008.txt | common: persisted negative |
| SYNTHETIC-CELL-009 | SYNTHETIC-PROMPT-003 | synthetic-surface-b | 1 | observed | no | synthetic-before-009.txt | observed | no | synthetic-after-009.txt | common: persisted negative |
| SYNTHETIC-CELL-010 | SYNTHETIC-PROMPT-004 | synthetic-surface-b | 1 | observed | no | synthetic-before-010.txt | failed | blank (not observed) | synthetic-after-010-failure.txt | before only: after failed; exclude from pair |
| SYNTHETIC-CELL-011 | SYNTHETIC-PROMPT-005 | synthetic-surface-b | 1 | unavailable | blank (not observed) | synthetic-before-011-availability.txt | observed | no | synthetic-after-011.txt | after only: before unavailable; exclude from pair |
| SYNTHETIC-CELL-012 | SYNTHETIC-PROMPT-006 | synthetic-surface-b | 1 | failed | blank (not observed) | synthetic-before-012-failure.txt | observed | no | synthetic-after-012.txt | after only: before failed; exclude from pair |

Every observed status has an explicit owned-link outcome and raw artifact pointer. Failed or unavailable statuses keep the outcome blank, remain in coverage counts, and stay outside the common-cell denominator.

### Common-cell paired comparison

| Outcome | Common observed cells | Before positives | Before rate | After positives | After rate | Difference |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Owned link | 9 | 1 | 11.1% | 2 | 22.2% | +11.1 percentage points |

The common-cell denominator contains only stable cell IDs with inspectable answers in both windows. Preserve the raw answer and source URLs for each paired cell; do not substitute the 10-cell and 11-cell available-case populations for this paired comparison.

Transition details: one gain, one persisted positive, seven persisted negatives, and zero reversals or losses among the nine common cells. A reversal is a common cell that changes from yes before to no after; keep it in the common denominator, count it as positive only in the before numerator, and report it rather than dropping it. Failure details: SYNTHETIC-CELL-010 fails after, SYNTHETIC-CELL-011 is unavailable before, and SYNTHETIC-CELL-012 fails before, so those three cells remain visible but outside the paired denominator.

### Raw evidence pointers

- Evidence-ledger location: REQUIRED
- Every observed cell must resolve its before or after artifact pointer to the preserved raw answer and visible source URLs.
- Every failed or unavailable cell must resolve its artifact pointer to the availability or failure record while keeping answer-outcome fields blank.

## Deployment validation

- Target and before version or hash: REQUIRED
- Final version or hash: REQUIRED
- Deployment acceptance evidence: REQUIRED
- Unchanged comparison prompts: REQUIRED
- Provider-reported records, if used: report separately under that provider's documented unit.

## Interpretation and limits

The example records temporal movement after a shipment, not proof that the shipment caused it. Model or index updates, retrieval changes, competing pages, location, account state, source changes, feature availability, concurrent deployments, and ordinary answer variability remain plausible explanations. A no-movement or adverse result belongs in the report under the same rules.

- Confidence or uncertainty statement: REQUIRED; describe sample size, availability changes, variability, and any interval or resampling method actually used. Do not invent a confidence estimate.
- Material concurrent changes and their timing: REQUIRED
- Alternative explanations retained after review: REQUIRED

## Decision

- Result classification: observed movement / no clear movement / adverse movement / insufficient observations
- Next action: continue the registered window, return to Find, revise the hypothesis, or close the experiment.
- Corrections record: REQUIRED
Version 1.0 · 2026-09-02 · Worked example: synthetic, not customer data

Scope box: what does this page cover?

One registered experiment with matched before and after windows and a visible uncertainty record.

The report supports a bounded temporal statement and keeps competing explanations visible.

In scopeOut of scope
ProtocolCausal proof
DenominatorsProvider metric blending
Before/after tableHidden exclusions
No-movement and adverse outcomesSelective win reporting

What are the instructions?

Copy or download version 1.0, replace the synthetic values, and attach the frozen panel, complete planned-cell ledger, stable cell IDs, raw answers, visible source URLs, access or failure records, and accepted deployment record. Predeclare compared windows, prompt × surface × repeat arithmetic, cell-key and outcome rules, then pair only cells observed in both windows; do not extend sampling only because the current result is unfavorable.

Report each surface and provider-defined metric under its own unit. A link impression, an observed citation, a brand mention, an owned source, and a recommendation are not interchangeable.

Which fields are included?

The report makes the protocol, arithmetic, and uncertainty inspectable.

BlockRequired contents
Registered protocolIDs, fixed prompts and surfaces, repeat count, planned-cell arithmetic, stable cell-key rule, rules, exclusions, windows
ShipmentFix ticket, target, before and final versions, acceptance, UTC time
ResultsComplete planned-cell ledger, per-window coverage, common-cell pairs, gain/persistence/reversal treatment, failure details, positives, paired rate and difference, raw pointers
LimitsUncertainty, concurrent changes, variability, provider changes, competing pages and sources, context, attribution limits
DecisionObserved/no clear/adverse/insufficient classification, next action, corrections

What does the worked example show?

The synthetic protocol makes its arithmetic explicit: six prompts × two surfaces × one repeat = 12 planned cells per window. Its twelve-cell ledger shows one unavailable and one failed cell before, leaving 10 observed, and one failed cell after, leaving 11 observed. Nine stable cell IDs have inspectable answers in both windows; one gain, one persisted positive, and seven persisted negatives recompute the paired owned-link comparison from one of nine (11.1%) to two of nine (22.2%), with zero reversals.

A reversal is a common positive-before cell that becomes negative after; it remains in the common denominator but counts as positive only in the before numerator. The three non-common ledger rows retain explicit failure or unavailability details. The unequal 10.0% and 18.2% available-case rates remain visible as coverage context, while the common nine-cell denominator is the matched comparison. The example is not customer data, a benchmark, a confidence estimate, or causal evidence.

How do you copy or download the report?

Use the Markdown download for an editable report. A renderer may expose the same versioned text as a copy action; neither action fills fields automatically or connects to a provider account.

What deployment validation and proof checks are required?

Reject an after window without a saved before record, final artifact version, acceptance evidence, deployment time, fixed panel version, planned-cell arithmetic, stable cell-key rule, unchanged rules, a complete planned-cell ledger, raw outcomes, raw-evidence pointers, and a concurrent-change record. Recalculate coverage and paired rates from the ledger, verify transition and failure classifications, and keep unavailable, failed, and available-case counts separate.

Retain confounders and negative evidence. If the panel drifted or evidence is incomplete, label the result insufficient rather than selecting only favorable cells.

What is the version history?

Version 1.0 — 2026-09-02: initial pilot Markdown report with planned-cell arithmetic, a complete stable-ID ledger, common-cell paired denominators, gain/persistence/reversal and failure treatment, raw pointers, deployment validation, concurrent changes, uncertainty, attribution limits, negative-result retention, decision, and corrections fields.

Where does this asset sit in the workflow?

Use it in Prove after Find has frozen the baseline and Fix has shipped and validated one artifact. Its decision either closes the bounded test, continues a predeclared window, or returns the team to Find.

Who owns the page, review, tests, and corrections?

Author and accountable publisher: Abiot Y. Derbie, RankEcho founder. Published 2026-09-02; updated 2026-09-02. Independent reviewer: unassigned. No independent external review is claimed.

Tested scope: Markdown payload parity, matched-window arithmetic, synthetic labels, evidence links, and attribution language; no live provider or customer outcome was tested. Material provider and standards statements use the dated source records below. Examples are synthetic, not customer results. Send corrections through /contact; material corrections should update the visible date and version history.

Sources reviewed

Provider eligibility and measurement claims below were checked against primary documentation. These records do not establish a universal selection formula, causation, or a guaranteed ranking, impression, recommendation, or citation.

5 claim-level source records
Checked 2026-09-01 · Primary-source diagnostic review · Confidence is recorded per claim.
Claim reviewedOfficial sourceReview record
Google says normal Search indexing and snippet controls govern eligibility for AI Overviews and AI Mode; there are no additional technical requirements or special AI schema files.Google Search AI features documentationChecked 2026-09-01 · AI features documentation updated 2025-12-10 · Primary-source documentation review; eligibility does not guarantee selection or presentation in an AI feature. · Confidence: High
OpenAI documents OAI-SearchBot for ChatGPT search, GPTBot for potential model training, and ChatGPT-User for user-triggered actions; the controls are independent and robots.txt rules may not apply to ChatGPT-User.OpenAI crawler documentationChecked 2026-09-01 · Current OAI-SearchBot, GPTBot, and ChatGPT-User documentation · Primary-source documentation review; no claim that a permitted bot will index, rank, or cite a page. · Confidence: High
Google says its generative AI Search features use core Search systems: a page must be indexed, snippet-eligible, and included in Search generative AI features in Search Console. It requires no special AI file, content chunking, or AI-specific structured data, and eligibility does not guarantee display.Google guide to generative AI Search optimizationChecked 2026-09-01 · Google Search guidance updated July 10, 2026 · Primary-source documentation review; this is a Google Search eligibility and optimization boundary, not a universal answer-engine formula or ranking guarantee. · Confidence: High
Google's Generative AI performance report counts link impressions from AI Overviews and AI Mode and groups them by page, country, date, or device. It does not document prompt, ranking, citation-cause, or selection-formula fields.Google Search Console: Generative AI performance reportChecked 2026-09-01 · Worldwide rollout stated as August 31, 2026 · Primary-source documentation review; report visibility can be absent with insufficient impressions or exclusion, property and page aggregation can differ, and these link impressions remain distinct from other systems' metrics. · Confidence: High
Bing's AI Performance report counts observed citations and exposes sampled grounding queries, but Microsoft says citation count is not placement, ranking, authority, or page importance.Bing Webmaster Blog: AI PerformanceChecked 2026-09-01 · Public preview announced February 2026 · Primary-source documentation review; Bing metrics are treated as observations with their stated sampling and interpretation limits. · Confidence: High

Frequently asked questions

Does a before/after report prove causation?

No. It documents temporal observations under a registered protocol while retaining provider, source, context, and variability explanations.

Should a no-movement result be published?

Yes. Apply the same protocol and reporting fields to movement, no clear movement, adverse movement, and insufficient evidence.

Can unlike provider metrics be combined into one rank?

Not without a supported normalization and compatible definitions. Report each documented unit separately and explain any comparison limits.

Download the proof report →
Last updated 2026-09-02 · RankEcho · Operated by Nexus Decision Systems LLC