Skip to content

Worked example

A full audit walkthrough, on a company that does not exist.

We have no real case studies to show yet, and we are not going to invent any. So here is the next most useful thing: the complete output of the method applied to a fictional fintech, with every number hand-authored and labelled as such.

Sample dataFictional company, fictional competitors, hand-authored numbers. Shown to illustrate the output format of a real audit, not the results of one.

Why it is fictional

The alternative would be a lie.

A new company with no clients has two options for its case study page. It can publish something vague and implied, with a logo wall of companies it once spoke to and percentages with no denominators. Or it can say plainly that it has not done this for a paying client yet, and show the method instead.

We are doing the second one. When we have real results and a client willing to put their name to them, this page will change — with real data, real attribution, and the same provenance labels we use in every report.

What we will never publish

  • Results attributed to an anonymous “leading fintech”
  • Percentage improvements with no baseline and no denominator
  • Logos of companies that are not clients
  • Testimonials nobody said

The subject

Ledgerloop

Category
Expense management
Description
Fictional B2B expense management and spend-control platform for scale-up finance teams.
Markets
United Kingdom, Germany, United States
Size
80–120 employees
Query set
42 queries × 3 surfaces × 3 repetitions = 378 executions per period
History
6 monthly periods, fixed query set throughout

Step 1 — Baseline

Where the company started.

Measured before anything shipped. This is the single most important artefact of the engagement, and the one most easily skipped in the rush to do something visible.

ChatGPTDemo

16.7%

7 of 42 queries

Citation rate
4.8% (2/42)
Avg. position
5.4
Executions
126
GeminiDemo

26.2%

11 of 42 queries

Citation rate
11.9% (5/42)
Avg. position
4.1
Executions
126
PerplexityDemo

21.4%

9 of 42 queries

Citation rate
14.3% (6/42)
Avg. position
4.8
Executions
126

Note the spread: 7 of 42 on one surface, 11 on another. Averaging these into “9 of 42 across AI search” would hide that the surfaces disagree, and the disagreement is diagnostic — it usually points at differences in crawler access or in which third-party sources each surface favours.

Step 2 — The competitor set

The list that changed the conversation.

The client named one competitor. The answer engines named four, and the second most visible was a company nobody in the room had been tracking.

  • Spendwiseclient-declared

    Named by the client in kickoff. Also the strongest performer across the tested query set.

  • Tallyflowai-answer

    Not on the client's competitor list. Appears in AI answers more often than the client does.

  • Obol Payserp

    Ranks organically for the same comparison terms; weaker inside AI answers.

  • Kestrel Financemarket

    Enterprise-tier overlap only. Included to test the enterprise query archetypes.

Mention rate, 42 tracked queries

Demo
  • Spendwise54.8% (23/42)+2.4
  • Tallyflow45.2% (19/42)+7.1
  • Obol Pay28.6% (12/42)-1.2
  • Ledgerloopyou21.4% (9/42)+4.8
  • Kestrel Finance19.0% (8/42)0.0

Step 3 — Read the answers

What the extraction actually records.

Not a summary of the answer. The raw response is stored, and the parser records structured facts about it that can be checked against the original.

best expense management platform for startups

Illustration

For early-stage teams, the platforms most often recommended are:

1. Spendwise — strong free tier, widely reviewed, integrates with most accounting stacks.

2. Tallyflow — corporate cards plus expense capture in one product.

3. Obol Pay — good fit if you already use their payments product.

…

6. Ledgerloop — multi-entity support, aimed at slightly larger finance teams.

What the pipeline records

Mentioned
yes
Position
6 of 6 named
Matched alias
Ledgerloop
Framing
listed
Own domain cited
no
Competitors named
Spendwise, Tallyflow, Obol Pay

Being named and being cited are different outcomes with different fixes. Here the company is named sixth and its own site is not among the sources — the answer was assembled from third-party pages.

The finding hiding in that single answer

The company is named — sixth, in a list of six — and its own domain is not among the sources. The answer was built from a review platform page, an industry roundup and a competitor’s comparison page.

That means the sixth-place framing was written by someone else, using someone else’s description of the product. No amount of homepage copy changes it. The fix runs through the three sources, not through the site.

This is the diagnostic that reframes what the work actually is, and it is the reason authority is a capability here rather than an upsell.

Step 4 — Findings

Observations, with evidence, and nothing else.

No adjectives, no advice, no interpretation. Each one states what was observed and what was recorded to prove it.

f-01blockerai-accessibility

Comparison pages return an empty container to non-browser clients

Fetching /compare/* without JavaScript execution returns a document whose main content area contains no product data. The same URLs render fully in a browser.

  • → curl of 6 /compare/* URLs: 0 product rows present in returned HTML
  • → Rendered DOM in headless browser: 14 product rows present
f-02blockerai-accessibility

Edge bot rule challenges non-browser user agents on two commercial templates

Requests to /pricing and /compare/* with non-browser user agents receive a 403 with a JavaScript challenge body.

  • → HTTP 403 on 8 of 8 requests with a declared crawler user agent
  • → HTTP 200 on the same URLs with a standard browser user agent
f-03highcontent

No alternatives page exists for the most-tested competitor

The query 'spendwise alternatives' is in the tracked set at priority 5. No page on the site targets it. A competitor's own alternatives page was cited in 4 of 9 executions.

  • → Site crawl: 0 pages matching alternatives intent
  • → Query q-02: subject mentioned in 4/9 executions, own domain cited in 1/9
f-04highentity

Company description varies across five external profiles

The one-line description differs materially between the website, two review platforms, the LinkedIn profile and a directory listing. Two describe the product as accounts-payable software rather than expense management.

  • → 5 external profiles collected
  • → 3 distinct category descriptors in use
f-05mediumstructured-data

Organization schema present but missing sameAs and product links

Organization markup exists on the homepage. It contains name, logo and url. It omits sameAs, and no SoftwareApplication or Product markup exists anywhere on the site.

  • → 1 Organization block found
  • → 0 sameAs entries
  • → 0 Product/SoftwareApplication blocks
f-06highauthority

Review-platform presence is thin relative to the tested competitor set

The subject holds a profile on one of three review platforms tracked for this category. Two competitors hold profiles on all three, with substantially higher review counts.

  • → 1 of 3 tracked platforms
  • → Review counts collected on the same day for all five companies
f-07highai-visibility

Zero mentions across the enterprise and pricing query archetypes

Across 2 archetypes covering 9 queries and 81 executions, the subject was named 0 times. Competitors were named in 63 of those executions.

  • → 81 executions, 0 subject mentions
  • → Competitor mentions: 63/81
f-08mediumtechnical-seo

Sitemap contains 35 URLs that do not return 200

Of 412 URLs in the sitemap, 31 return 301 and 4 return 404.

  • → 412 sitemap URLs checked
  • → 31× 301, 4× 404

Step 5 — Recommendations

Prioritised, owned, and honest about which parts are guesses.

Each recommendation names its hypothesis explicitly. We know what we observed. Why it is happening is an inference, and inferences get labelled.

Priority 1ai-accessibilityImpact highEffort mOwner: clientHuman required

Server-render comparison and pricing content, and allow declared AI crawlers at the edge

Problem — observed
The two page templates most relevant to buying decisions are either unreadable without JavaScript or blocked outright at the edge.
Hypothesis — inferred
Interpretation, not observation: systems that cannot retrieve the page cannot cite it, which plausibly contributes to the zero citation rate on comparison and pricing queries.
Action
Move product tables to server-rendered markup. Add an allow rule for declared AI crawler user agents on the bot-management policy, keeping rate limits in place.

evidence: f-01, f-02 · affects 6 tracked queries

Priority 1contentImpact highEffort mOwner: sharedHuman required

Publish an honest alternatives page for the leading competitor

Problem — observed
A priority-5 query has no corresponding page, and a competitor's own comparison content is being cited in its place.
Hypothesis — inferred
Interpretation: comparison and alternatives content is the format these answers draw on most, and the subject currently supplies none of it.
Action
Build one alternatives page covering five genuine options including the subject, with accurate competitor descriptions and a stated evaluation method. Reviewed by an in-house SME before publication.

evidence: f-03 · affects 3 tracked queries

Priority 2entityImpact mediumEffort sOwner: ansentraAutomatableHuman required

Standardise the company description across every external profile

Problem — observed
Three different category descriptors are in circulation, two of which place the company in the wrong category.
Hypothesis — inferred
Interpretation: inconsistent third-party descriptions weaken entity corroboration, which is a plausible contributor to absence from category-level queries.
Action
Agree one canonical boilerplate. Update all five external profiles. Add sameAs links to Organization schema pointing at each.

evidence: f-04, f-05 · affects 4 tracked queries

Priority 2authorityImpact highEffort lOwner: sharedHuman required

Establish presence on the two missing review platforms

Problem — observed
Review platforms were among the sources cited in the tested answers. The subject is present on one of three.
Hypothesis — inferred
Interpretation: review platforms appear frequently as cited sources for category queries, so absence removes a route to being named.
Action
Claim both profiles, complete them fully, and run a legitimate review-request programme with existing customers. No incentivised or written-for reviews.

evidence: f-06 · affects 4 tracked queries

Priority 3contentImpact mediumEffort mOwner: clientHuman required

Build a pricing explainer that answers the cost question directly

Problem — observed
The pricing archetype returned zero mentions across 27 executions.
Hypothesis — inferred
Interpretation: the site states 'contact us' and publishes no pricing structure, so there is nothing for an answer engine to quote.
Action
Publish a pricing page that explains the model, the variables and indicative ranges, even if exact figures stay gated.

evidence: f-07 · affects 2 tracked queries

Priority 4technical-seoImpact lowEffort xsOwner: ansentraAutomatable

Clean the sitemap

Problem — observed
35 of 412 sitemap URLs do not return 200.
Hypothesis — inferred
Interpretation: low direct impact on AI visibility, but it is cheap hygiene and removes noise from crawl diagnostics.
Action
Regenerate the sitemap from indexable, 200-returning canonical URLs only.

evidence: f-08 · affects no tracked queries

Step 6 — Six periods later

What the measurement looks like over time.

In this illustration the mention rate moves from 7.1% (3/42) to 21.4% (9/42), +14.3 pts against baseline. Note what is not claimed: that every point of that is attributable to the work.

Ledgerloop mention rateLeading competitor
0%25%50%75%100%AprMayJunJulAugSep

Timeline annotations

  • 2026-04Baseline captured before any changes shipped.
  • 2026-07Comparison and alternatives pages published mid-month.
  • 2026-09Two industry placements went live in the first week.

How we would report this honestly

Three of those six periods moved by one query — roughly two percentage points on a 42-query denominator. That is inside the noise band for a non-deterministic system and would be reported as noise, not as progress.

The July and September steps are larger and coincide with dated work, which makes them worth discussing. They still do not prove causation, and the report would say so in those words while recommending we keep measuring.

Want this run on your actual company?

Same method, real data, your query set. The baseline is yours to keep whether or not you continue with us.

See where you stand in AI search.

An AI Search Audit tells you how often AI systems name your company, who they name instead, and what is causing the gap. Every figure comes with the method behind it.