The FTC's Endorsement Guides (updated 2023) require that when a testimonial describes results a consumer would not generally achieve, the advertiser must either disclose what typical results are or clearly indicate the testimonial is exceptional. A homepage testimonial claiming '$80,000 in the first month' with no context implies that result is achievable for buyers — a material misrepresentation. Review-gating flows that only invite satisfied customers to leave public reviews compound the problem by artificially inflating the average star rating, which the FTC also considers deceptive.
Low because the harm requires consumers to act on the atypical testimonial without noticing the absence of disclosure, a multi-step inference — but cumulative across many consumers the deception is material.
Add atypical-result disclosures adjacent to testimonials with specific outcome claims, and fix any review-gating pattern in the invitation flow.
function Testimonial({ quote, author, result }: TestimonialProps) {
return (
<blockquote>
<p>"{quote}"</p>
<footer>— {author}</footer>
{result && (
<p className="text-xs text-gray-500 mt-1">
{result}. Individual results vary based on use case and
experience. This outcome is not typical.
</p>
)}
</blockquote>
)
}
// Review invitation — send to all qualifying users, not filtered by NPS
async function sendReviewInvitation(userId: string) {
const user = await db.user.findUnique({ where: { id: userId } })
// 30-day account age gate only — no satisfaction filter
if (daysSinceSignup(user.createdAt) >= 30) {
await email.send({ to: user.email, template: 'review-invite' })
}
// WRONG: if (npsScore >= 9) sendReviewInvite(user) // review gating
}
The 2023 Endorsement Guides are explicit: 'Results not typical' alone is insufficient — disclose what typical results actually are, or clearly frame the testimonial as an individual case.
ID: ftc-consumer-protection.advertising-claims.testimonials-typical-results
Severity: low
What to look for: Count all relevant instances and enumerate each. Find all testimonials, case studies, and success story sections. For each testimonial that includes specific performance claims (time saved, money earned, growth achieved), check whether it is representative of typical customer results. FTC guidelines require that if a testimonial reflects results that are not typical, the advertiser either: (1) discloses what typical results are, or (2) clearly indicates that the testimonial describes exceptional results ("Results not typical"). Look for: testimonials quoting large revenue increases or exceptional outcomes displayed prominently without context; case studies that are outliers presented as the norm; a single testimonial from an exceptional customer used as the primary social proof. Also check for the complement: if all testimonials are positive, is there a mechanism by which negative reviews would be collected but suppressed (e.g., a review-gating flow that only invites satisfied customers)?
Pass criteria: Testimonials with specific outcome claims include a disclosure if those results are not typical (e.g., "Results vary. This customer's outcome reflects their specific use case and is not typical."). Case studies that describe exceptional results are clearly framed as case studies, not as "typical" outcomes. Review collection flows do not filter out negative reviews before they reach the public platform.
Fail criteria: Testimonials claim exceptional results with no disclosure that they are atypical. Review invitation flows only send review requests to users who rated the product highly (review gating). Case study outcomes are framed as typical without supporting data.
Skip (N/A) when: The application displays no testimonials, case studies, or user-provided outcome claims.
Detail on fail: Example: "Homepage testimonial states 'I made $80,000 in my first month using this tool.' No disclosure that this is an exceptional result. No data on typical outcomes shown." or "Review invitation flow sends NPS survey first; only users who rate 9-10 receive the review platform link — this is review gating." or "Case study page features one customer with 400% growth, described as 'what our customers achieve' with no typical results data."
Remediation: Add appropriate disclosures and fix any review-gating patterns:
// Testimonial with result claim — add disclosure
function Testimonial({ quote, author, result }: TestimonialProps) {
return (
<blockquote>
<p>"{quote}"</p>
<footer>— {author}</footer>
{result && (
// Disclosure immediately adjacent to the result claim
<p className="text-xs text-gray-500">
{result}. Individual results vary based on use case,
experience, and market conditions. This outcome is not typical.
</p>
)}
</blockquote>
)
}
// Review invitation — send to all users, not just satisfied ones
// WRONG: filter by NPS score before sending review invitation
// if (npsScore >= 9) sendReviewInvite(user) // This is review gating
// RIGHT: send to all users with reasonable account age/usage
async function sendReviewInvitation(userId: string) {
const user = await db.user.findUnique({ where: { id: userId } })
// Send to all users with at least 30 days of account age
// regardless of any prior satisfaction signal
if (daysSinceSignup(user.createdAt) >= 30) {
await emailService.send({
to: user.email,
template: 'review-invitation',
})
}
}
The FTC's 2009 Endorsement Guidelines (updated 2023) are explicit: if the endorser's experience is not what users will generally achieve, that must be clearly disclosed. "Results not typical" alone is not sufficient — you must either state what typical results are or make it clear this is an individual case.