AI Visibility Evidence Export Acceptance Test
A buyer-side reconciliation worksheet for checking whether a marketing operations team can reproduce a vendor-reported AI visibility citation rate from the delivered evidence export before accepting the service.
An AI visibility evidence export is acceptable only when a marketing operations reviewer can reproduce the reported citation rate from the delivered file. The acceptance test needs immutable answer identity, cited-domain extraction, observation eligibility, source URL, engine and model, run time, and an exception register before the service is accepted.
Do not start with the dashboard.
Start with the file.
If the vendor says the brand had a 28 percent citation rate, the buyer-side question is not whether the chart is pretty. The question is whether your team can open the delivered export, filter the same eligible observations, extract the same cited domains, rebuild the numerator and denominator, and land on the same number without vendor UI access.
That is a different problem from choosing a platform, migrating between vendors, or renewing a monitoring pilot. Those decisions matter. This one sits in the acceptance window after the vendor has delivered evidence and before marketing operations signs off.
This is the worksheet I would use.
AI visibility evidence export acceptance means rate reproduction
AI visibility evidence export acceptance is the buyer-side check that a reported citation rate can be reproduced from the delivered evidence file. The test accepts a measurement service only where the exported records support the same numerator, denominator, run identity, cited-domain extraction, and exception handling used in the vendor report.
That is a narrow test on purpose.
A vendor can be useful and still fail this test. A vendor can have a polished dashboard and still fail this test. The issue is not whether the tool collected something. The issue is whether the buyer owns enough evidence to defend the number after procurement, finance, sales, or an executive asks where it came from.
Use the same discipline that basic evidence systems use. W3C PROV treats provenance as the relationship between entities, activities, and agents. RFC 3339 gives teams a timestamp profile. RFC 8785 defines JSON canonicalization for stable hashes. Schema.org Dataset shows the basic metadata shape for a structured dataset.
Governance sources point in the same direction. The FTC has taken enforcement action against deceptive AI claims, ISO/IEC 42001 defines an AI management-system standard, and Dublin Core terms provide a vocabulary for record metadata. Those sources do not decide whether a vendor did good work. They reinforce the operating rule: if a measurement claim will guide a business decision, the evidence record needs scope, source, and date.
None of those sources sells AI visibility software. That is why they are useful here. They make the acceptance test boring enough to trust.
The September 16, 2026 Machine Relations Index release is a good public example of the standard. Its release manifest identifies mri_score_v2.0+2026-09-16+05c00cd4befe, a May 10 through September 16 window, 15,540 answer runs, 122,528 citation events, 21,957 cited source domains, six answer engines, and a 58,907,738-byte public artifact hash. The manifest also publishes the engine roster and artifact checksum.
That does not make MRI a vendor scorecard. It shows the shape of evidence a buyer can inspect.
The buyer-side AI visibility citation rate formula
A citation rate is only acceptable when the numerator and denominator can be reconstructed from observation-level rows. The acceptance formula is simple: eligible answer runs that cite the target domain divided by total eligible answer runs in the agreed cohort.
Write it like this in the acceptance memo:
citation rate = eligible observations with at least one accepted citation to the target domain / total eligible observations in the cohort
Then define every word.
| Formula term | Buyer-side definition | Required export evidence |
|---|---|---|
| Eligible observation | A completed answer run that belongs in the agreed prompt, engine, model, market, and time cohort | Observation ID, prompt ID, answer ID, engine, model or surface, run time, eligibility flag, failure state |
| Accepted citation | A source URL or cited domain that passes the agreed extraction and source-eligibility rules | Source URL, extracted root domain, citation role, answer linkage, extraction method |
| Target domain | The canonical domain or domain set being tested | Target-domain rule, aliases, redirect handling, owned-domain inclusion rule |
| Numerator | Count of eligible observations where the target domain appears at least once after deduplication | One counted row per eligible answer identity, not one row per repeated link |
| Denominator | Count of all eligible observations in the cohort, including eligible uncited answers | All eligible answer IDs, including zero-citation rows |
| Exception count | Rows excluded or manually classified outside the normal rule | Exception register with owner, reason, decision, and timestamp |
The denominator is where bad acceptance tests usually break.
If the export only contains cited answers, it cannot reproduce a citation rate. It can reproduce a citation list. A rate needs both the answers where the domain appeared and the eligible answers where it did not.
The evidence export worksheet marketing operations should require
The evidence export worksheet should preserve each answer as an immutable measurement object. If the answer identity changes, the citation rate can change without the market changing.
Use this worksheet before accepting the service.
| Worksheet field | Required value | Acceptance check |
|---|---|---|
| Immutable answer identity | Stable answer_id or hash built from prompt ID, engine, model or surface, run time, locale, and raw answer record | The same row can be re-identified after export, import, or deduplication |
| Prompt identity | Exact prompt text, prompt ID, prompt cohort, question shape, market, and language | The reviewer can prove which business question generated the answer |
| Engine and model | Engine name, product surface, requested model when available, resolved model when available, and access method | ChatGPT, Claude, Gemini, Google AI Mode, Google AI Overviews, and Perplexity are not collapsed into one generic engine label |
| Run time | RFC 3339 timestamp, collection window, retry count, and provider response status | The reviewer can separate answer volatility from report timing |
| Source URL | Full cited URL as delivered, normalized URL when used, redirect status when checked, and source title when available | The reviewer can inspect the source, not just the domain |
| Cited-domain extraction | Root domain, subdomain, deduplication key, canonicalization rule, and extraction version | The same URL produces the same counted domain in a rerun |
| Observation eligibility | Included, excluded, partial, failed, no-source, no-answer, blocked, or quarantined | The denominator does not silently drop uncomfortable rows |
| Citation role | Source link, grounding link, mention, recommendation, search result, or vendor-defined role | The team knows which evidence type counted |
| Target-domain match | Boolean match plus alias or redirect rule used | The numerator can be audited without guessing |
| Exception register ID | Link to any manual override, parsing failure, ambiguous source, or policy exclusion | Every nonstandard decision is reviewable |
This table is not asking a vendor to disclose proprietary scoring. It is asking the vendor to deliver the evidence needed to verify the report your company is about to rely on.
The distinction matters because answer systems expose evidence differently. Google documents AI features in Search as a Search surface where links may appear. OpenAI documents ChatGPT search as a search experience with source links. Anthropic documents Claude web search as a tool that can return citations. Perplexity's API documentation describes response fields that can include search results and citations. Microsoft's Bing Web Search API overview describes a different web-search response model.
Those are different evidence surfaces. The export should preserve what was actually observed, not flatten every engine into a single score label.
A worked AI visibility export reconciliation example
A reconciliation worksheet should use illustrative rows during acceptance so every stakeholder can see how the number is rebuilt. The rows below are illustrative only. They are not customer results, vendor performance, conversion evidence, or proof of citation lift.
Assume a vendor report says: example.com citation rate = 3 / 5 = 60% for one prompt cohort.
| answer_id | prompt_id | engine/model | run_time | eligible? | source URLs observed | cited-domain extraction | target cited? | exception |
|---|---|---|---|---|---|---|---|---|
ans_001 | p_geo_01 | ChatGPT / search surface | 2026-09-16T13:00:00Z | yes | https://example.com/report, https://youtube.com/watch?v=1 | example.com, youtube.com | yes | none |
ans_002 | p_geo_01 | Claude / web search | 2026-09-16T13:05:00Z | yes | https://news.example.com/story | example.com after declared subdomain rollup | yes | ex_014, subdomain rollup approved |
ans_003 | p_geo_01 | Perplexity / sonar | 2026-09-16T13:10:00Z | yes | https://reddit.com/r/example/thread | reddit.com | no | none |
ans_004 | p_geo_01 | Gemini / grounded surface | 2026-09-16T13:15:00Z | yes | none | none | no | none |
ans_005 | p_geo_01 | Google AI Mode | 2026-09-16T13:20:00Z | yes | https://example.com/guide, https://example.com/guide?utm=ai | example.com, deduped within answer | yes | none |
ans_006 | p_geo_01 | Google AI Overview | 2026-09-16T13:25:00Z | no | provider timeout | none | no | ex_015, excluded timeout |
The accepted denominator is five, not six, because ans_006 is explicitly excluded as a timeout under the written eligibility rule. The numerator is three, not four, because repeated example.com URLs in ans_005 count once for the answer-level citation rate. The reviewer can now reproduce the vendor's 60 percent number and see the two exceptions that shaped it.
If the vendor cannot deliver the fields required to run this small test, do not accept the reported rate as decision evidence.
The exception register prevents quiet measurement drift
An exception register is the acceptance file that explains every row that did not follow the normal scoring rule. Without it, a citation-rate reconciliation becomes a negotiation about memory.
Keep the register explicit:
| Exception ID | Row or answer ID | Exception type | Decision | Owner | Evidence kept |
|---|---|---|---|---|---|
ex_014 | ans_002 | Subdomain rollup | Count news.example.com as example.com under approved target-domain rule | Marketing ops | Target-domain rule version and reviewer note |
ex_015 | ans_006 | Timeout | Exclude from denominator under prewritten failed-run rule | Data operations | Provider status, retry log, timestamp |
ex_016 | ans_009 | Ambiguous source URL | Quarantine until URL can be resolved | Vendor owner and buyer reviewer | Raw answer snippet, unresolved URL, decision timestamp |
ex_017 | ans_012 | Citation role mismatch | Do not count a mere mention as a source citation | Marketing ops | Raw answer, role definition, reviewer note |
This is where the September 16 MRI example is useful. In the AI Visibility and GEO category, MRI observed YouTube in 179 of 698 category runs, or 25.64 percent, and Reddit in 154 of 698 runs, or 22.06 percent. Those are overlapping domain/run rates. They are not exclusive shares, and they should not be summed to 100 percent. The public MRI index and manifest make the unit visible: observed runs, cited domains, source roles, engine roster, evidence floor, and release ID.
That is exactly the acceptance habit to copy. First identify the unit. Then reproduce the count. Then disclose the exceptions.
The same caution applies to the demand signal behind this article. AuthorityTech's Google Search Console export generated September 15, 2026 at 09:05 UTC recorded 4,203 query-page impressions and zero clicks for competitors of brightedge on the BrightEdge alternatives page over August 15 through September 12. That is adjacent procurement demand. It is not exact demand for this acceptance-test query, not unique search volume, and not conversion evidence. AuthorityTech's crawl coverage over the same planning window shows machine and assistant request activity, not buyers.
Do not let a measurement file pretend to be a revenue file.
How Machine Relations changes export acceptance
Machine Relations turns export acceptance from dashboard QA into evidence custody. Machine Relations is the discipline of making a brand legible, credible, and citable inside AI-mediated discovery systems, and measurement only matters when it preserves the evidence trail behind each machine answer.
The Machine Relations Stack separates earned authority, entity resolution, citation architecture, distribution, and measurement. That separation is useful here because the measurement layer should not get credit for work it did not do.
An accepted export can prove that a citation was observed. It cannot prove that a vendor caused the citation. It cannot prove that a buyer converted. It cannot prove that YouTube, Reddit, a trade publication, or an owned page is universally good or bad. It can only prove that, under a stated rule, a specific answer run cited a specific source.
That is still valuable.
PR got the core mechanism right: trusted third-party sources shape belief. AI systems now read those sources when answering buyers. The measurement layer should show whether those sources appear in machine answers, but the work of earning credible sources still belongs to operators.
Acceptance protects that distinction. It keeps the company from buying a dashboard when it needed evidence.
The AI visibility export acceptance decision
The acceptance decision should be accept, accept with exceptions, reject, or retest. Anything softer lets the reported rate survive without the evidence trail.
| Decision | Use when | Decision language |
|---|---|---|
| Accept | The reviewer reproduces the rate from the export, exceptions are documented, and links open or are preserved as raw evidence | Accept the report as measurement evidence for the stated cohort only |
| Accept with exceptions | The rate reproduces after documented exclusions or manual rules that do not change the business decision | Accept the rate and attach the exception register to every downstream report |
| Reject | The export lacks answer identity, source URLs, engine/model, run time, denominator rows, or eligibility rules needed to rebuild the rate | Reject the reported citation rate as decision evidence until the export is corrected |
| Retest | The export is structurally complete but material rows are ambiguous, quarantined, or inconsistent with the written rule | Rerun the fixture or sample before accepting the service |
The decision memo should be one sentence:
We reproduced the reported citation rate from the delivered export, using the agreed eligibility rule, source-domain extraction rule, answer-level deduplication rule, and exception register.
Or:
We could not reproduce the reported citation rate because the delivered export did not preserve the denominator, cited URLs, engine/model identity, or exception logic.
Both sentences are useful. Only one accepts the service.
FAQ
What is an AI visibility evidence export acceptance test?
An AI visibility evidence export acceptance test is a buyer-side reconciliation process that checks whether a vendor-reported citation rate can be reproduced from the delivered export. It uses observation-level records, cited URLs, engine and model labels, run times, eligibility rules, and an exception register before accepting the report.
What fields are required to reproduce an AI visibility citation rate?
Require immutable answer identity, prompt identity, source URL, cited-domain extraction, engine and model or surface, run time, observation eligibility, citation role, target-domain match, denominator rows, and exception-register links. Without those fields, the buyer may have a dashboard score but not reproducible evidence.
Should a timeout count in an AI visibility citation-rate denominator?
A timeout should count only according to the prewritten eligibility rule. Some acceptance tests exclude provider timeouts from the denominator, while others retain failed runs as failed observations. The rule is less important than making it explicit before reviewing the final rate.
Do YouTube and Reddit AI citation rates add up to market share?
No. The September 16, 2026 Machine Relations Index observed YouTube in 179 of 698 AI Visibility and GEO category runs and Reddit in 154 of 698 runs. Those are overlapping domain/run citation rates, not exclusive market shares, so they should not be added together or treated as buyer preference.
Is export acceptance the same as AI visibility vendor migration or pilot renewal?
No. Vendor migration tests whether measurement identity survives a tool switch. Pilot renewal tests whether a monitoring program earned another budget cycle. Export acceptance tests whether a delivered evidence file supports the reported citation rate before the buyer accepts the service.
Before you accept the report, rebuild one number.
If the evidence file cannot support it, the service is not accepted.