www.gap.com
Scored by v3 · source-of-truth hashes: score db860d6ac94e · thresholds e94f8b33e500 — verifiable against the canonical scorer.
The 28-day score is the p75 of nightly runs — the stable number to cite. Deterministic metrics (CRR/SSD/TC) show their latest value (they move only when the site changes); timing (TTFUT) and answer-fidelity (AF) are smoothed by 28-day p75 — the same lab-vs-field split Core Web Vitals uses. Synthetic daily measurement, not real-user field data.
An agent is likely to fabricate missing details rather than say “I don’t know”. 2/7 applicable facts come from machine-readable structured data.
Metrics
Token Cost breakdown
Where the page's tokens go (≈21,320 across regions). Most tokens are real content — the agent isn't paying much for chrome.
Final screenshot
Diagnostics
pre-JS raw HTML
Fix: Server-render or statically generate the main content so a non-JS agent still receives it; make client rendering a progressive enhancement, not the source of truth.
content vs chrome/boilerplate
Fix: Wrap the real content in <main>/<article>, cut repeated nav/boilerplate, and keep the primary content dense and early in the DOM.
Rendered profile: headless
Metrics
Token Cost breakdown
Where the page's tokens go (≈3,756 across regions). Most tokens are real content — the agent isn't paying much for chrome.
Final screenshot
Diagnostics
pre-JS raw HTML
Fix: Server-render or statically generate the main content so a non-JS agent still receives it; make client rendering a progressive enhancement, not the source of truth.
Rendered profile: headless
Access & discovery checks — separate from the gated CAV metrics above. Click an issue for business impact, what we measured, and how to fix. · Take the Agent Readiness course →
Agent files & endpoints
Issues (3)
~ No content-blocking cookie wall medium impact Consent platform: onetrust (verify it doesn't block content)
Business impact A consent wall that hides content until a click is invisible to agents — they cannot click 'Accept'.
What we measured We fingerprint OneTrust, Cookiebot, Usercentrics and similar managers and flag content-blocking ones.
How to fix Use an overlay banner that leaves content in the DOM, not a blocking interstitial.
Spec: https://gdpr.eu/cookies/
~ llms.txt present + valid high impact Found at /llms.txt but missing H1/blockquote
Business impact llms.txt is the robots.txt for AI: it tells agents what your site is, what matters, and where to find it. Without it AI guesses — and guessing means inaccurate recommendations and lost visibility.
What we measured We fetch /llms.txt and /.well-known/llms.txt and validate the spec (H1 title + a one-line blockquote summary). We also note /llms-full.txt (your full content as Markdown).
How to fix Create /llms.txt with a short summary + key pages; optionally /llms-full.txt with full content in Markdown.
# Your Site
> One-line description for AI agents.
## Key pages
- /products — catalog
- /pricing — plans
- /docs — documentationSpec: https://llmstxt.org
✗ XML sitemap present medium impact No /sitemap.xml
Business impact A sitemap is your table of contents for AI crawlers. Without it agents follow homepage links and miss deep pages (products, docs, pricing) — shrinking what they can recommend.
What we measured We fetch /sitemap.xml (and /sitemap_index.xml), confirm valid XML with <loc> entries, and check <lastmod> freshness.
How to fix Generate an XML sitemap of all public pages with current lastmod dates and reference it in robots.txt.
# robots.txt
Sitemap: https://example.com/sitemap.xml
Passed audits (9)
Transport & Trust (SEC 1.0.0)
HTTPS, HSTS, CSP, sniffing, referrer and CORS posture. Diagnostic only — this does not affect the CAV score. A security header does not make a page more legible to an agent, so scoring it would reward a CDN toggle that changes nothing an agent can recover. We measure it and say so.
Per-header findings (6)
| Header | Evidence |
|---|---|
| ✅ HTTPS | served over HTTPS |
| ⚠️ HSTS | max-age=2628000 is below the 180-day baseline |
| ✅ Content-Security-Policy | policy present, script-src does not allow inline |
| ✅ X-Content-Type-Options | nosniff |
| ⚠️ Referrer-Policy | no referrer-policy header (browser default applies) |
| ➖ CORS exposure | no CORS headers on the document (normal for an HTML page) |
How to improve
gapinc.com — 1938 KiB, 36 requests
gap_nf8JL7.js — 113 KiB transferred, 76.5% unused (third-party)
cumulative layout shift
longest task 119 ms (2 total)
6.4 MB total
Third-party impact
268 third-party requests · 4588 KiB (70.4% of transfer) · 93 ms main-thread — code an agent must also fetch/run before your content settles. Fewer, lazier third-parties = faster, cheaper agent reads.
| Third-party domain | Reqs | Transfer | Main-thread |
|---|---|---|---|
| gapinc.com | 36 | 1938 KiB | — |
| googletagmanager.com | 6 | 845 KiB | 44 ms |
| facebook.net | 2 | 257 KiB | — |
| cookielaw.org | 11 | 187 KiB | — |
| tiktok.com | 7 | 161 KiB | — |
| fullstory.com | 3 | 145 KiB | — |
| quantummetric.com | 26 | 130 KiB | 49 ms |
| granify.com | 12 | 129 KiB | — |
| cnstrc.com | 1 | 113 KiB | — |
| bluecore.com | 4 | 107 KiB | — |
| kampyle.com | 3 | 90 KiB | — |
| rokt-api.com | 13 | 88 KiB | — |
Wasted JavaScript (by bundle)
Transfer-accurate — each bundle's transfer size × its unused %, ranked by wasted bytes (the biggest code-splitting wins). Unused JS also inflates Token Cost (TC).
| Bundle | Transfer | Unused | Wasted |
|---|---|---|---|
| https://cnstrc.com/js/cust/gap_nf8JL7.js 3P | 113 KiB | 76.5% | 87 KiB |
| https://api.bluecore.com/triggermail.js/gpus.js 3P | 100 KiB | 77.9% | 78 KiB |
| https://www.googletagmanager.com/gtag/js?id=DC-6900831&cx=c>m=4e67f0h1 3P | 136 KiB | 54.1% | 73 KiB |
| https://www.googletagmanager.com/gtag/js?id=DC-1956281&cx=c>m=4e67f0h1 3P | 133 KiB | 54.9% | 73 KiB |
| https://www.googletagmanager.com/gtag/js?id=DC-10709046&cx=c>m=4e67f0h1 3P | 133 KiB | 54.9% | 73 KiB |
| https://www.googletagmanager.com/gtag/js?id=DC-8030980&cx=c>m=4e67f0h1 3P | 133 KiB | 54.9% | 73 KiB |
| https://cdn.granify.com/assets/javascript.js?id=TgCeU 3P | 122 KiB | 59% | 72 KiB |
| https://cdn.cookielaw.org/scripttemplates/202411.2.0/otBannerSdk.js 3P | 113 KiB | 63% | 71 KiB |
| https://www.googletagmanager.com/gtag/js?id=AW-16940355677&cx=c>m=4e67f0h1 3P | 153 KiB | 46.3% | 71 KiB |
| https://cdn.quantummetric.com/qscripts/quantum-gap.js 3P | 127 KiB | 53% | 67 KiB |
| https://www.googletagmanager.com/gtag/js?id=AW-1069567947 3P | 156 KiB | 43.1% | 67 KiB |
| https://analytics.tiktok.com/i18n/pixel/static/main.MTA2MWE1OWMwMQ.js 3P | 114 KiB | 56.7% | 65 KiB |
| https://www.gap.com/optimizely_snippets/gap_us_home.js?v=20260227 | 131 KiB | 46.2% | 61 KiB |
| https://connect.facebook.net/signals/config/871989579671874?v=2.9.357&r=stable&domain=www.gap.com&hme=1179b74563cacb97c6ebae600e40937237ab12824fb84996eee07eca65cabbd4&ex_m=107%2C208%2C158%2C22%2C73%2C74%2C149%2C69%2C68%2C11%2C167%2C93%2C16%2C141%2C130%2C39%2C76%2C81%2C137%2C163%2C169%2C26%2C27%2C28%2C30%2C48%2C150%2C78%2C115%2C18%2C20%2C44%2C40%2C42%2C41%2C86%2C95%2C99%2C113%2C148%2C151%2C46%2C114%2C24%2C21%2C122%2C70%2C36%2C153%2C152%2C154%2C145%2C143%2C25%2C35%2C59%2C112%2C165%2C71%2C17%2C156%2C117%2C84%2C67%2C19%2C88%2C89%2C119%2C87%2C139%2C138%2C142%2C164%2C34%2C49%2C116%2C47%2C8%2C4%2C5%2C7%2C6%2C3%2C94%2C104%2C170%2C175%2C222%2C75%2C235%2C234%2C233%2C23%2C33%2C55%2C106%2C61%2C10%2C64%2C100%2C101%2C102%2C108%2C133%2C31%2C29%2C135%2C136%2C132%2C131%2C159%2C77%2C162%2C160%2C161%2C50%2C60%2C126%2C15%2C166%2C45%2C280%2C281%2C279%2C294%2C310%2C215%2C204%2C62%2C205%2C203%2C313%2C304%2C52%2C216%2C110%2C134%2C83%2C124%2C54%2C123%2C129%2C128%2C58%2C65%2C63%2C155%2C79%2C80%2C118%2C37%2C32%2C53%2C56%2C103%2C168%2C1%2C127%2C14%2C125%2C12%2C2%2C57%2C96%2C66%2C121%2C92%2C91%2C171%2C172%2C97%2C98%2C9%2C105%2C51%2C146%2C90%2C82%2C72%2C120%2C109%2C43%2C147%2C0%2C85%2C140%2C144%2C157%2C38%2C111%2C13%2C173 3P | 154 KiB | 38.1% | 59 KiB |
| https://edge.fullstory.com/s/fs.js 3P | 81 KiB | 68.7% | 56 KiB |
Network
Heaviest requests (30)
| URL | Type | Status | Transfer |
|---|---|---|---|
| https://content.gapinc.com/d/vedh4m35k7wt2r5nl4xp5bmk2k27pd0l.mp4 | Media | 206 | 1379 KiB |
| https://www.gap.com/2OuonksrVWdT4/elOR-5pOqb/dV1g/VEOucwYiSaEaSh/XjtCLQ/IEMhS/WtRM0gB | Script | 200 | 181 KiB |
| https://www.googletagmanager.com/gtag/js?id=AW-1069567947 | Script | 200 | 156 KiB |
| https://www.gap.com/2OuonksrVWdT4/elOR-5pOqb/dV1g/rwOucwYi/cQ9GLQ/NwxyU/VVSJkdZ?v=04ace122-20f0-f27e-a930-9e630a03cfc2 | Script | 200 | 155 KiB |
| https://connect.facebook.net/signals/config/871989579671874?v=2.9.357&r=stable&domain=www.gap.com&hme=1179b74563cacb97c6ebae600e40937237ab12824fb84996eee07eca65cabbd4&ex_m=107%2C208%2C158%2C22%2C73%2C74%2C149%2C69%2C68%2C11%2C167%2C93%2C16%2C141%2C130%2C39%2C76%2C81%2C137%2C163%2C169%2C26%2C27%2C28%2C30%2C48%2C150%2C78%2C115%2C18%2C20%2C44%2C40%2C42%2C41%2C86%2C95%2C99%2C113%2C148%2C151%2C46%2C114%2C24%2C21%2C122%2C70%2C36%2C153%2C152%2C154%2C145%2C143%2C25%2C35%2C59%2C112%2C165%2C71%2C17%2C156%2C117%2C84%2C67%2C19%2C88%2C89%2C119%2C87%2C139%2C138%2C142%2C164%2C34%2C49%2C116%2C47%2C8%2C4%2C5%2C7%2C6%2C3%2C94%2C104%2C170%2C175%2C222%2C75%2C235%2C234%2C233%2C23%2C33%2C55%2C106%2C61%2C10%2C64%2C100%2C101%2C102%2C108%2C133%2C31%2C29%2C135%2C136%2C132%2C131%2C159%2C77%2C162%2C160%2C161%2C50%2C60%2C126%2C15%2C166%2C45%2C280%2C281%2C279%2C294%2C310%2C215%2C204%2C62%2C205%2C203%2C313%2C304%2C52%2C216%2C110%2C134%2C83%2C124%2C54%2C123%2C129%2C128%2C58%2C65%2C63%2C155%2C79%2C80%2C118%2C37%2C32%2C53%2C56%2C103%2C168%2C1%2C127%2C14%2C125%2C12%2C2%2C57%2C96%2C66%2C121%2C92%2C91%2C171%2C172%2C97%2C98%2C9%2C105%2C51%2C146%2C90%2C82%2C72%2C120%2C109%2C43%2C147%2C0%2C85%2C140%2C144%2C157%2C38%2C111%2C13%2C173 | Script | 200 | 154 KiB |
| https://www.googletagmanager.com/gtag/js?id=AW-16940355677&cx=c>m=4e67f0h1 | Script | 200 | 153 KiB |
| https://www.googletagmanager.com/gtag/js?id=DC-6900831&cx=c>m=4e67f0h1 | Script | 200 | 136 KiB |
| https://www.googletagmanager.com/gtag/js?id=DC-10709046&cx=c>m=4e67f0h1 | Script | 200 | 133 KiB |
| https://www.googletagmanager.com/gtag/js?id=DC-1956281&cx=c>m=4e67f0h1 | Script | 200 | 133 KiB |
| https://www.googletagmanager.com/gtag/js?id=DC-8030980&cx=c>m=4e67f0h1 | Script | 200 | 133 KiB |
| https://www.gap.com/optimizely_snippets/gap_us_home.js?v=20260227 | Script | 200 | 131 KiB |
| https://www.gap.com/ | Document | 200 | 131 KiB |
| https://cdn.quantummetric.com/qscripts/quantum-gap.js | Script | 200 | 127 KiB |
| https://cdn.granify.com/assets/javascript.js?id=TgCeU | Script | 200 | 122 KiB |
| https://analytics.tiktok.com/i18n/pixel/static/main.MTA2MWE1OWMwMQ.js | Script | 200 | 114 KiB |
| https://cnstrc.com/js/cust/gap_nf8JL7.js | Script | 200 | 113 KiB |
| https://cdn.cookielaw.org/scripttemplates/202411.2.0/otBannerSdk.js | Script | 200 | 113 KiB |
| https://connect.facebook.net/en_US/fbevents.js | Script | 200 | 103 KiB |
| https://api.bluecore.com/triggermail.js/gpus.js | Script | 200 | 100 KiB |
| https://tiq.gap.com/utag/gapinc/usgap/prod/utag.js | Script | 200 | 90 KiB |
| https://content.gap.com/fp/check.js;CIS3SID=47E2377CA490D005F834CB0B40B82ACA?org_id=e04kqxof&session_id=b6b7833b-27da-48f5-86d6-6477c6039319&nonce=1a601bd6f46b4b54&jb=3732242462716d77354e6b6e75702662716f35446b6e7770246a7160773f436a7a6d6d6d2468716035416a70676f67253238313a34 | Script | 200 | 89 KiB |
| https://edge.fullstory.com/s/fs.js | Script | 200 | 81 KiB |
| https://content.gapinc.com/d/mn03gviym2610a408175652a81f2253h.mp4 | Media | 206 | 81 KiB |
| https://nebula-cdn.kampyle.com/us/wu/348664/onsite/generic1781691124328.js | Script | 200 | 72 KiB |
| https://www.gap.com/static_content/onesitecategory/components/mfe/_next/static/chunks/2sknfu10o6bxy.js | Script | 200 | 69 KiB |
| https://content.gapinc.com/d/4e82su7p4th5c12wa6233352len7dy6x.jpg | Image | 200 | 68 KiB |
| https://www.gap.com/static_content/onesitecategory/components/mfe/_next/static/chunks/3245qvje1gn02.css | Stylesheet | 200 | 67 KiB |
| https://apps.rokt-api.com/js/v2/us2-e4f825cafa1c2145af49e9536938ec13/app.js?env=0& | Script | 200 | 65 KiB |
| https://edge.fullstory.com/s/settings/12A5TM/v1/web | XHR | 200 | 63 KiB |
| https://www.gap.com/static_content/onesitecategory/components/mfe/_next/static/chunks/44yo-2lbb6mfb.js | Script | 200 | 60 KiB |
Long tasks (>50 ms)
| Start | Duration |
|---|---|
| 420 ms | 119 ms |
| 2069 ms | 81 ms |