Manifest position 877 · CrUX rank bucket 1000
https://ads.google.com
Coverage complete
Complete atomic audit of 58 checks across five representative public templates plus signup handoff and failure recovery. Authenticated account, campaign creation, billing, and cancellation were excluded because credentials were not provided.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-mode screenshot is visually identical to the light capture, and the computed root color-scheme is normal with no prefers-color-scheme rule detected. F001 medium: The public site does not adapt its palette to a dark colour-scheme preference. |
respect-user-preferencesrespects-reduced-motion | pass | high | Under prefers-reduced-motion: reduce, getAnimations() returned none and all seven autoplay videos were paused at time 0. |
respect-user-preferencesrespects-contrast | pass | high | The forced-colors screenshot preserves visible text, borders, focusable actions, and hierarchy. |
implement-natural-interactionsview-transitions | issues | high | The CSS/DOM probe found no view-transition rules or API-backed transition styling, while the site exposes several route and carousel state changes. F002 low: Major state and route changes do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | pass | medium | The page uses ordinary document scrolling; the trace showed only two short long tasks and no scroll-linked jank during the captured path. |
implement-natural-interactionsphysical-gestures | pass | medium | The mobile goals carousel exposes previous/next controls with accessible labels and a touch-sized visual treatment. |
provide-guided-navigationscroll-state-aware-chrome | pass | high | Mobile captures show a persistent bottom Start now action while scrolled content remains unobstructed; desktop header leaves the viewport rather than consuming space. |
provide-guided-navigationanchored-positioning | pass | medium | The mobile header/menu control and floating chat affordance remain within viewport edges in the narrow capture. |
provide-guided-navigationdirects-attention | pass | high | Across landing, goals, and support, one large H1 and a visually dominant next action establish an obvious reading and action sequence. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop and mobile screenshots show “Before you continue” instead of Google Ads content; on mobile the decision controls are below a long explanation and outside the first 800 px viewport. F011 medium: The requested ads.google.com entry point replaces the site with a full-page consent interruption. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The DOM probe found nine DIV role=dialog surfaces and no native dialog or popover element on the landing page. F013 low: Overlay surfaces are implemented as custom div dialogs rather than native dialog/popover primitives. |
maximize-content-reduce-noisereduced-chrome | pass | high | The first view is dominated by page purpose and CTA; navigation is compact on mobile and restrained on desktop. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | All five 360 px layout captures reported 0 px horizontal overflow. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | high | The same hero, goal card, navigation, and CTA surfaces recompose cleanly between 780 px and 360 px captures without clipping. |
adapt-to-the-form-factorinput-modality-aware | pass | high | The Start now CTA matched :focus-visible and rendered a 2 px contrasting focus box-shadow; mobile actions are approximately 50 px tall. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Representative screenshots expose clear page-specific H1 copy and direct actions such as Start now, contact options, and goal navigation. |
support-core-task-successprimary-flow-completion | pass | high | Start now reaches a clearly branded Google Account sign-in page with an email/phone field; public support exposes call and contact-option actions. |
support-core-task-successclear-system-state-and-recovery | pass | high | The invalid-route test presents a specific 404 explanation plus Home, Expert Support, How It Works, Performance Max, and Search Ads recovery links. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 5.87 s, FCP 4.70 s, TBT 485.5 ms, CLS 0.074, and a performance score of 47. The separate trace was faster but still recorded two long tasks. F003 high: Mobile lab performance misses the good Core Web Vitals loading and responsiveness bar. |
be-fast-and-stablevisual-stability | pass | high | Mobile CLS was 0.027 in the layout observer and 0.074 in Lighthouse, both below the 0.1 good threshold. |
be-fast-and-stableefficient-main-thread | issues | high | Lighthouse measured LCP 5.87 s, FCP 4.70 s, TBT 485.5 ms, CLS 0.074, and a performance score of 47. The separate trace was faster but still recorded two long tasks. F003 high: Mobile lab performance misses the good Core Web Vitals loading and responsiveness bar. |
be-fast-and-stableefficient-resource-delivery | issues | high | The HAR captured 126 requests and 5.95 MB in its load window, including 2.27 MB fonts, 2.55 MB scripts, and 778 KB media. Lighthouse reported 50.7 MiB total payload, about 1.4 MiB unused JS and 193 KiB unused CSS. F004 high: The landing page ships an excessive script, font, media, and unused-code payload. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | The HAR captured 126 requests and 5.95 MB in its load window, including 2.27 MB fonts, 2.55 MB scripts, and 778 KB media. Lighthouse reported 50.7 MiB total payload, about 1.4 MiB unused JS and 193 KiB unused CSS. F004 high: The landing page ships an excessive script, font, media, and unused-code payload. |
be-inclusivenames-roles-labels | issues | high | Lighthouse identified four label-content-name mismatches, including visible “Generate more leads” and “Get started” links whose aria-label is “Sign up for Google Ads”, and the Expand all control. The image probe found 18 of 27 images without alt, including visible marketing imagery as well as product-logo assets. Decorative images should use alt=""; informative images need meaningful alternatives. F007 medium: Some visible control labels do not match their accessible names. F008 medium: Many images omit an alt attribute rather than declaring purpose. |
be-inclusivesufficient-contrast | pass | high | Lighthouse accessibility scored 100 and the forced-colors capture retains readable controls and content. |
be-inclusivestructure-and-focus | pass | high | The page provides header/nav/main/footer landmarks, a skip link, one visible H1, and a visible focus treatment on the primary CTA. |
be-inclusivelegible-text | pass | high | Mobile captures use large headings, comfortable line length, and 16 px-class body copy without truncation. |
be-inclusivezoom-reflow-targets-and-media | pass | high | The viewport allows maximum-scale=5, all mobile layouts reflow without overflow, primary targets are 50 px tall, and reduced-motion pauses autoplay media. |
follow-best-practicesno-console-errors | issues | high | Lighthouse captured a 401 console/network error from MeasurementService/ListAccounts during the ordinary signed-out landing load. F009 low: A signed-out page load logs a failed internal account request. |
follow-best-practicessound-document-and-assets | pass | high | The rendered document has viewport metadata, dimensions on 26 of 27 images, responsive srcsets on visible marketing imagery, and low measured CLS. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse reported three bfcache failure reasons led by cache-control:no-store on the main resource and no-store resources requested by JavaScript. F015 low: The page is ineligible for the back/forward cache. |
be-discoverabletitle-and-description | pass | high | All representative probes returned distinct, descriptive titles and descriptions aligned with their page purpose. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse SEO reported the Google Ads Help link with text “Learn more”, which is ambiguous out of context for crawlers and assistive navigation. F010 low: One public content link uses non-descriptive “Learn more” text. |
be-discoverablecanonical-and-indexing-signals | pass | high | The landing page has a UK canonical URL, HTTP 200, permissive /uk/ robots rule, and working sitemap URLs listed by robots.txt. |
be-discoverablestructured-and-shareable-metadata | issues | high | The UK page probe found JSON-LD WebPage @id/url and breadcrumb items under /us/, with a US title/description, while canonical and Open Graph URLs correctly identify /uk/. F012 medium: The UK page emits structured data for US URLs and US copy. |
be-private-and-securesecure-transport-and-headers | pass | high | The page is HTTPS with HSTS, nosniff, SAMEORIGIN, Permissions-Policy and an enforced nonce/strict-dynamic CSP; the secrets scan found only expected public Google API/config keys. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The HAR attributed 107 of 126 requests and 5.89 MB to non-business.google.com origins; the tracker probe found 15 third-party origins and four known tracker domains, including Google Analytics and googlesyndication. F005 medium: The initial public page has a broad analytics and third-party network footprint. |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | Geolocation and notification remained in prompt state with no load-time prompt; signup hands off to Google Account authentication and the platform exposes credential/passkey capability. |
be-private-and-securedefensive-browser-policies | issues | high | The cookie probe reported NID and three analytics cookies without Secure and with SameSite=None; the analytics cookies last 400 days. No authentication cookie lacked HttpOnly. F006 medium: Several page cookies lack defensive attributes or remain unusually long lived. |
be-resilientprogressive-enhancement | pass | high | Direct-page discoverability measured 99% raw-HTML content coverage with title, H1, and description present and no empty JS shell. |
be-resilientresilient-runtime-behaviour | pass | high | Public content remained usable despite the signed-out account request failure; navigation, accordions, and the dedicated recovery page rendered. |
be-resilientoffline-and-installable | not-applicable | high | No manifest is linked; serviceWorker is browser-supported but this public acquisition site is not an installed application. |
be-resilientnetwork-and-http-failure-states | pass | high | A deliberately invalid route produced a clear 404 state with multiple relevant recovery destinations. |
be-internationalisedlang-dir-and-logical-properties | pass | high | Representative pages declare lang=en, compute LTR direction, use locale-specific /uk/ routing, and expose a language/region selector. |
be-internationalisedlocale-aware-data | pass | high | The UK locale uses UK wording, local telephone presentation, and localized commercial content; no ambiguous numeric date UI was found. |
be-internationalisedtime-zone-correctness | pass | high | Support hours explicitly identify BST, avoiding an unqualified local-time claim; no event scheduling/date arithmetic surface exists. |
be-trustworthyno-dark-patterns | pass | high | The consent surface states purposes and provides explicit Reject all and Accept all controls with symmetric labels; commercial CTAs state their destination. |
be-trustworthyhumane-error-handling | pass | high | The credential handoff asks for one clearly labeled Email or phone value before progression and does not show errors before interaction. |
be-trustworthytrustworthy-input-assistance | pass | high | The sign-in identifier field has a visible label and autocomplete=username. |
be-trustworthysafe-commercial-and-account-flows | pass | high | Budget information is available before signup, and Start now moves to a clearly branded authentication boundary without silently creating an account. |
be-sustainableoptimised-assets | issues | high | The HAR captured 126 requests and 5.95 MB in its load window, including 2.27 MB fonts, 2.55 MB scripts, and 778 KB media. Lighthouse reported 50.7 MiB total payload, about 1.4 MiB unused JS and 193 KiB unused CSS. F004 high: The landing page ships an excessive script, font, media, and unused-code payload. |
be-sustainableno-wasteful-work | issues | high | The HAR captured 126 requests and 5.95 MB in its load window, including 2.27 MB fonts, 2.55 MB scripts, and 778 KB media. Lighthouse reported 50.7 MiB total payload, about 1.4 MiB unused JS and 193 KiB unused CSS. F004 high: The landing page ships an excessive script, font, media, and unused-code payload. |
be-sustainablethird-party-and-media-budget | issues | high | The HAR captured 126 requests and 5.95 MB in its load window, including 2.27 MB fonts, 2.55 MB scripts, and 778 KB media. Lighthouse reported 50.7 MiB total payload, about 1.4 MiB unused JS and 193 KiB unused CSS. The HAR attributed 107 of 126 requests and 5.89 MB to non-business.google.com origins; the tracker probe found 15 third-party origins and four known tracker domains, including Google Analytics and googlesyndication. F004 high: The landing page ships an excessive script, font, media, and unused-code payload. F005 medium: The initial public page has a broad analytics and third-party network footprint. |
be-agent-readystructured-agent-capabilities | not-applicable | high | The audited surface is a public marketing and support site; campaign mutation is gated behind authentication and no safe agent-facing action is in scope. |
be-agent-readyon-device-inference | not-applicable | high | The audited surface is a public marketing and support site; campaign mutation is gated behind authentication and no safe agent-facing action is in scope. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After 20 repeated disclosure toggles, total self-size decreased by 101,846 bytes; node count changed only +2,290 (~0.2%) and no Detached constructor entered the top set. |
be-memory-efficientbounded-footprint | issues | high | The page had 2,102 DOM elements, 82.6 MB used JS heap, and 95 loaded resources. The heap summary contained about 1.03 million nodes and 58.2 MB self-size before interaction. F014 medium: The idle marketing page has a disproportionate memory and DOM footprint. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Neither baseline nor post-interaction heap summary exposed a growing Detached constructor; edge count decreased by 2,912 after repetition. |
Provenance
Canonical report: results/atomic/reports/0877-ads_google_com.json
Report SHA-256: 7c9fa26bf28e8f9ceebc47424e0b1f08d4090dfc6e6babdaca6320a970f7f639
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/ads_google_com/2026-07-23T14-26-11-758Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/ads_google_com/2026-07-23T14-26-11-758Z
Catalog SHA-256: sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7
Raw screenshots, HARs, traces, heaps, and other browser artifacts are retained at the local evidence root and intentionally are not committed. Artifact paths in the canonical report are relative to that root.