Agency AI Visibility: The Proof AI Engines Look For

Agency AI visibility depends on proof engines can quote. Of 82 agency sites, 51% linked case studies, but only 7 of 40 such pages showed 3+ result figures.

· BugViso Team

12 min read

Agency AI visibility depends on proof an engine can quote: case studies with measurable results, a page per service and niche, and profiles on the directories that "best agency" lists draw from. Agencies sell results, and most agency websites describe them in adjectives. Of 82 agency websites we checked, 51% linked a case-studies or work page. Of the 40 such pages we read, only 7 showed three or more result figures, such as a percentage uplift, and 2 agencies linked a Clutch profile from their homepage.

An agency is in the odd position of selling AI visibility to clients while its own site gives engines little to recommend it for. By the end of this post you'll know what agency sites expose, the three gaps that keep agencies out of "best agency for X" answers, a page standard to fix them, and a script that audits an agency site in seconds.

Data used: 124 marketing, advertising, digital and web agencies with a website listed in OpenStreetMap (tagged as advertising agencies, or as companies with agency-type names), from London, Manchester, Chicago, Austin and Sydney, sampled on 2026-10-29 with seed 20261029. Homepages and one case-studies or work page per agency were fetched as plain HTML; 82 homepages were readable. Agencies aren't named.

How Engines Choose Agencies to Recommend

A question like "best B2B SaaS SEO agency in London" is answered from lists, directories and the agencies' own proof pages. The engine searches, reads "best agencies" listicles and directory rankings, and checks the shortlisted agencies' sites for a reason to include each: a specialism that matches, a result, a client type.

That's the same pattern we measured for software: list pages carried 21.5% of unbranded citations in our listicle study, and engines named the tools those lists named. For agencies, the lists are "best [service] agencies in [city]" posts and directory category rankings. The agency's own site matters at the second step, when the engine needs something specific to say.

What 82 Agency Websites Expose

SignalAgenciesShare
Case studies, work or portfolio page linked4251%
— work page with any percentage result11 of 40 read28%
— work page with 3+ percentage results7 of 40 read18%
— work page with a money figure10 of 40 read25%
Team or about page linked5162%
Services page linked from the homepage2126%
Pricing page linked34%
Reviews or testimonials page linked22%
Organization markup with sameAs profiles3340%
Person markup on the homepage1518%
Link to a Clutch profile22%
Link to other agency directories00%
Link to LinkedIn6073%
Link to Instagram4960%
Any AI crawler blocked in robots.txt67%

Another 42 of the 124 agencies (34%) had no readable homepage at the listed address: the domain had lapsed, errored or refused the request. Agencies change names and domains often, and old listings don't follow.

The pattern held across agency types. Advertising agencies and the digital, web and design studios in the sample looked much the same:

Agency typeReadable sitesWork pageServices pageWork pages with 3+ % results
Advertising agencies4625 (54%)14 (30%)4 of 23
Digital, web and design studios3617 (47%)7 (19%)3 of 17

Neither group is doing the obvious thing well. The samples are small, so the useful reading is that the gap is industry-wide, not confined to one kind of agency.

Agencies did better than other businesses on identity: 40% connected their profiles with sameAs, against 15% of the professional firms in our professional services study. They did worse on the thing they sell: measurable results.

Three Gaps That Keep Agencies Out of AI Answers

Case studies without numbers

Half the agencies have a work page. Most of those pages are galleries: logos, screenshots, a sentence per client. Only 7 of 40 showed three or more percentage results. An engine asked for "an agency that has grown organic traffic for e-commerce brands" can't quote a logo. It can quote a line written as "organic revenue up [X]% in nine months for a 300-SKU fashion retailer".

Write case studies as evidence: client type and size, the starting problem, what you did, the measured result with its timeframe, and the people who did it. Anonymise if you must; keep the numbers.

Services and niches without their own pages

Only 26% linked a services page from the homepage. Buyers don't ask engines for "a full-service agency"; they ask for "a Shopify CRO agency" or "PPC for dental practices". Each service, and each niche you genuinely specialise in, needs a page that says who it's for, what you do, how you measure it and which case studies prove it.

No presence where "best agency" lists come from

Directories and rankings feed the listicles engines read. Two of 82 agencies linked a Clutch profile, and none linked another agency directory. A linked profile isn't required for an engine to find it, but an agency that never mentions its directory presence usually doesn't maintain one: few reviews, a stale description, the wrong services. Fill in the profiles that rank agencies in your field, ask clients for reviews that name the service and result, and keep the description identical to your site.

💡 Rule of thumb: for every "best [service] agency for [niche]" question you want to win, you need a service page, a case study with numbers in that niche, and a presence on the lists that answer it.

The Agency Page Standard

PageWhat it must state
Service page (one per service)Who it's for, deliverables, how results are measured, typical timeline, price basis, linked case studies
Niche page (one per real specialism)The niche's specific problems, your experience in it, results for clients like them
Case studyClient type, problem, approach, results with numbers and timeframes, the team, a client quote if you have permission
Team page and biosWho leads each service, their background and certifications
About and Organization markupFounding year, location, size, and sameAs to your directory and social profiles

Price basis deserves a mention: 4% of agencies linked a pricing page. Many agencies quote per project, but "retainers from £X a month" or "projects typically £X–£Y" answers the budget questions buyers ask. Our guide to selling GEO services shows one way to package and price an AI visibility service.

Keep it honest. Google's helpful content guidance asks for first-hand evidence and clear sourcing, and invented results or testimonials are exactly what engines, clients and regulators look for in agency marketing.

Markup That Ties the Proof Together

Structured data won't win a recommendation, but it removes doubt about which agency a list or review is describing. Agency names repeat across cities and change after rebrands, so connecting your site to your profiles is worth an hour. Google's Organization structured data documentation covers the fields; 40% of the agencies we checked already used sameAs.

A compact pattern for the homepage, with one Service per real offering:

json
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Digital",
  "url": "https://example-digital.com",
  "foundingDate": "2016",
  "address": {"@type": "PostalAddress", "addressLocality": "Manchester", "addressCountry": "GB"},
  "sameAs": ["https://www.linkedin.com/company/example-digital", "https://clutch.co/profile/example-digital"],
  "makesOffer": [{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Shopify CRO",
                  "url": "https://example-digital.com/services/shopify-cro"}}]
}

Keep every value identical to what your directory profiles say. A founding year or city that differs between your site and a listing is the kind of small conflict that makes an engine hedge.

Audit an Agency Site Yourself

This script finds the case-studies or work page and the service pages from an agency's homepage, counts measurable result figures on the case-studies page, checks for directory profile links and Organization sameAs, and reads robots.txt for AI crawlers. Standard library only.

python
#!/usr/bin/env python3
"""Does an agency's site give AI engines evidence to recommend it? Finds case studies and checks
them for measurable results, plus service pages, directory profiles, Organization sameAs and AI crawler rules.

Usage: python3 agency_proof_check.py https://example-agency.com
"""
import re, sys, urllib.request, urllib.robotparser
from html import unescape
from urllib.parse import urljoin, urlsplit

UA = "Mozilla/5.0 (compatible; agency-proof-check/1.0)"
DIRECTORIES = r"(clutch\.co|designrush\.com|sortlist\.|goodfirms\.co|upcity\.com|agencyspotter\.com)"

def get(url):
    req = urllib.request.Request(url, headers={"User-Agent": UA})
    with urllib.request.urlopen(req, timeout=20) as r:
        return r.geturl(), r.read(2_500_000).decode("utf-8", "replace")

def text(html):
    return re.sub(r"\s+", " ", unescape(re.sub(r"(?s)<[^>]+>", " ", re.sub(r"(?is)<(script|style|svg)[^>]*>.*?</\1>", " ", html))))

def main(url):
    final, home = get(url)
    hrefs = re.findall(r"""<a\b[^>]*href=["']([^"'#]+)""", home, re.I)
    host = urlsplit(final).netloc
    links = sorted({urljoin(final, h).split("?")[0].rstrip("/") for h in hrefs if urlsplit(urljoin(final, h)).netloc == host}, key=len)
    find = lambda pat: [u for u in links if re.search(rf"/({pat})(/|$)", urlsplit(u).path.lower())]
    work = find(r"case-studies|case-study|work|portfolio|projects|results|clients")
    services = find(r"services?|what-we-do|capabilities|solutions")
    dirs = sorted({re.search(DIRECTORIES, h).group(1) for h in hrefs if re.search(DIRECTORIES, h)})
    sameas = bool(re.search(r'"sameAs"', home))
    print(f"{'✓' if work else '✗'} case studies / work page: {work[0] if work else 'not linked from the homepage'}")
    print(f"{'✓' if services else '✗'} service pages linked: {len(services)}")
    print(f"{'✓' if dirs else '✗'} agency directory profiles linked: {', '.join(dirs) or 'none'}")
    print(f"{'✓' if sameas else '✗'} Organization sameAs in markup")
    if work:
        _, page = get(work[0])
        t = text(page)
        figures = re.findall(r"\b\d{1,4}(?:\.\d)?\s?%|\b\d+(?:\.\d)?x\b|[$£€]\s?\d[\d,.]*\s?[kKmM]?", t)
        print(f"   case studies page: {len(figures)} measurable figures (%, x, money) -> "
              f"{'results engines can quote' if len(figures) >= 3 else 'add outcomes with numbers and timeframes'}")
    rp = urllib.robotparser.RobotFileParser(f"{urlsplit(final).scheme}://{host}/robots.txt"); rp.read()
    blocked = [b for b in ("OAI-SearchBot", "GPTBot", "PerplexityBot", "ClaudeBot", "Google-Extended") if not rp.can_fetch(b, final)]
    print(f"{'✓' if not blocked else '✗'} AI crawlers allowed" + (f" (blocked: {', '.join(blocked)})" if blocked else ""))

if __name__ == "__main__":
    main(sys.argv[1]) if len(sys.argv) == 2 else sys.exit(__doc__)

On one agency from the sample, one of the seven with quotable results:

text
✓ case studies / work page: https://<agency>/case-studies
✗ service pages linked: 0
✗ agency directory profiles linked: none
✓ Organization sameAs in markup
   case studies page: 12 measurable figures (%, x, money) -> results engines can quote
✓ AI crawlers allowed

Strong proof, but no service pages linked from the homepage and no directory presence: the engine has results to quote and nothing that tells it which questions they answer. Service pages behind a JavaScript menu can show as missing; check the result by hand.

How BugViso Plans Agency AI Visibility

BugViso's AI Visibility Tracker recognises an agency from its site and builds the "what to do" plan for that type. The agency plan covers agency directories (Clutch, DesignRush, Sortlist, GoodFirms and partner directories), "best agencies" listicles and LinkedIn, plus expert proof: case studies with client results, a page per service and niche, and certifications and awards. It can draft a case-study outline or an outreach email to a list that names rivals but not you, from your site's facts.

The same workspace you use for clients tracks your own agency: set it up as a brand, and the report shows which "best agency for X" questions name other agencies instead of you, the lists and directories those answers cited, and how engines describe your services. The agency plan is part of the AI visibility tracker.

Agency AI Visibility Mistakes

A portfolio of logos. Logos prove you had clients, not what you achieved. Add the numbers.

One "Services" page listing everything. Engines match specific questions to specific pages. Split it.

Claiming every niche. A niche page without results in that niche is a claim an engine can't support. Build niche pages where you have case studies.

Stale directory profiles. If the profile says you do web design and your site says you do PPC, both lose.

Letting old domains lapse. A third of the agencies we sampled had no readable site at the address their listing gave.

Frequently Asked Questions

By being on the lists and directories engines read for "best [service] agency" questions, and by giving engines something specific to say once they check the agency's site: a service page matching the question and a case study with measurable results in that niche.

Client type and size, the starting problem, what the agency did, results with numbers and timeframes, and who did the work. Only 7 of the 40 agency case-study pages we read showed three or more result figures.

Do agency directories like Clutch matter for AI visibility?

They feed the "best agency" rankings and lists engines read. In our sample, only 2 of 82 agencies linked a Clutch profile from their homepage. Keep directory profiles complete, reviewed and consistent with your site.

Should an agency track its own AI visibility?

Yes, with the same method it sells: a fixed set of buyer questions for your services and niches, tracked over time against the agencies you lose pitches to. It's also the most convincing demo you can show a prospect.

How many service pages should an agency have?

One per service you actively sell, plus one per niche where you have results to show. In our sample, only 26% of agencies linked a services page from their homepage.

Show the Results You Sell

Engines recommend agencies they can justify, so publish case studies with numbers, a page per service and niche, and keep the directory profiles that feed "best agency" lists current. BugViso's AI visibility tracking tracks your own agency the same way you track clients, so you can see which pitch questions name rivals instead.

Written by

· BugViso Team

Kazi writes BugViso’s guides on website audits, Core Web Vitals, technical SEO, accessibility and AI search. The data in them comes from audits BugViso runs in a real Chromium browser, including our 219-site study of website health.

Found this useful? Share it.

Summarise with AI

Open this guide in your assistant.

Follow BugViso

New guides and audit data as we publish them.

See where your site stands

Run a free BugViso audit for SEO, speed, accessibility and AI search readiness — with fixes you can ship today.