Disclosure effectiveness measurement is the mechanism by which a financial product proves its disclosures actually work — not just that they exist. ISO 25010:2011 §4.2.4 (usability quality characteristics) treats measurability as a component of quality assurance. A product that ships TILA disclosures, fee tables, and a dispute notice but never tracks whether users view or engage with them cannot demonstrate "clear and conspicuous" compliance under CFPB standards — because clarity is a function of user comprehension, not document presence. Analytics on disclosure pages also surface the difference between required content that users find helpful and content so buried that it functions only as legal cover.
Info because disclosure measurement is a quality improvement signal rather than a compliance floor, but its absence means the product cannot demonstrate "clear and conspicuous" effectiveness under CFPB examination.
Wrap all compliance-critical disclosure sections in a shared component that fires analytics events on mount. In src/components/DisclosureSection.tsx:
// src/components/DisclosureSection.tsx
import { useEffect } from 'react'
import { trackEvent } from '@/lib/analytics'
export function DisclosureSection({ id, title, children }: {
id: string
title: string
children: React.ReactNode
}) {
useEffect(() => {
trackEvent('disclosure_viewed', { disclosure_id: id, title })
}, [id, title])
return (
<section className="disclosure" aria-labelledby={id}>
<h2 id={id}>{title}</h2>
{children}
</section>
)
}
Use this component for every fee schedule, APR block, TILA section, and dispute notice. Review the disclosure_viewed event data quarterly to identify disclosures with low view rates and move them higher in the page.
ID: finserv-disclosure.presentation-quality.disclosure-metrics
Severity: info
What to look for: Enumerate all disclosure-related pages (Terms, Privacy Policy, fee schedule, TILA disclosure). For each, search for analytics or measurement code. Count occurrences of: analytics event tracking on disclosure pages (e.g., trackEvent('disclosure_viewed')), user feedback mechanisms (helpful/confusing buttons), scroll-depth tracking on legal pages, or documented user testing notes referencing disclosures.
Pass criteria: At least 1 measurement mechanism exists for disclosure pages: analytics event tracking (e.g., a trackEvent or analytics.track call on a disclosure page), a user feedback widget on a legal page, or documented user testing results mentioning disclosures. Quote the tracking code or feedback mechanism found and the file path.
Fail criteria: No analytics tracking, no user feedback mechanism, and no documented user testing related to disclosure pages exist anywhere in the codebase.
Skip (N/A) when: The project is less than 3 months old or is in prototype phase with no analytics infrastructure at all.
Detail on fail: Example: "No analytics events for disclosure pages. No feedback mechanism on Terms, Privacy Policy, or fee disclosure pages. No user testing documentation found. 0 measurement mechanisms present."
Remediation: Add analytics and feedback loops for disclosures in src/components/DisclosureSection.tsx:
// src/components/DisclosureSection.tsx
import { useEffect } from 'react'
import { trackEvent } from '@/lib/analytics'
export function DisclosureSection({ title, children }) {
useEffect(() => {
trackEvent('disclosure_viewed', { title })
}, [title])
return (
<section className="disclosure">
<h2>{title}</h2>
{children}
<details>
<summary>Did this help clarify your questions?</summary>
<div className="feedback">
<button onClick={() => trackEvent('disclosure_helpful', { title })}>
Yes, helpful
</button>
<button onClick={() => trackEvent('disclosure_confusing', { title })}>
No, I have questions
</button>
</div>
</details>
</section>
)
}