Swipe file
CTA Button Copy Swipe File
A CTA button isn't a label, it's a one-word completion of the visitor's mental sentence. The button copy that wins names the next state the visitor enters when they click, not the action they perform on the page.
Verified · editorial policy
TL;DR
As of , the short version is: A CTA button isn't a label, it's a one-word completion of the visitor's mental sentence. The button copy that wins names the next state the visitor enters when they click, not the action they perform on the page.
CTA Button Copy Swipe File TL;DR
- Element
- CTA buttons
- TL;DR
- A CTA button isn't a label, it's a one-word completion of the visitor's mental sentence. The button copy that wins names the next state the visitor enters when they click, not the action they perform on the page.
- When to use
- When click-through on the primary CTA is under 5 percent on a hero block that's otherwise reading well. When 'Get Started' / 'Sign Up' / 'Learn More' is doing zero qualification work.
- When NOT to use
- When the issue is upstream: the headline didn't qualify, so no button copy can recover it. When the form below the button is the actual friction (length, fields requested).
- Brunson lens
- Hook + Offer
- Patterns
- 12 named patterns with formula + example + structural notes
- Last verified
- May 21, 2026
When to use
Rewrite this when
When click-through on the primary CTA is under 5 percent on a hero block that's otherwise reading well. When 'Get Started' / 'Sign Up' / 'Learn More' is doing zero qualification work.
Do NOT touch when
When the issue is upstream: the headline didn't qualify, so no button copy can recover it. When the form below the button is the actual friction (length, fields requested).
12 named patterns
Pattern 1
Outcome-First
Formula
<Verb> <specific outcome>
Example
Get my diagnosis
Why it works
Names the result, not the action. The visitor reads it as 'and then I have my diagnosis', which mentally moves them forward.
Pattern 2
First-Person Possessive
Formula
<Action> my <thing>
Example
Show me my broken step
Why it works
'My' triggers ownership-bias. The visitor is no longer evaluating, they're claiming.
Pattern 3
Time-Bounded Promise
Formula
<Outcome> in <time>
Example
Diagnose in 90 seconds
Why it works
The time-box reduces perceived friction. Pairs especially well with diagnostic and assessment CTAs.
Pattern 4
Price-as-Reassurance
Formula
<Action> for $<price>
Example
Unlock for $1
Why it works
Pricing on the button removes the 'wait, is this free?' hesitation. Use for $1 tripwires and free assets.
Pattern 5
Negation Promise
Formula
<Outcome> without <objection>
Example
Diagnose without signing up
Why it works
Defeats the most common objection inside the button copy itself. Buyers click harder when the friction is pre-named.
Pattern 6
Conversational Yes
Formula
Yes, <one-line claim of what they want>
Example
Yes, diagnose my live page
Why it works
Borrowed from VSL sales pages. Frames the click as agreement with a self-evident desire.
Pattern 7
Mechanism Tease
Formula
<Action> using <named framework>
Example
Run the Hook / Story / Offer check
Why it works
For audiences who already recognize the framework. Earns clicks through credibility, not curiosity.
Pattern 8
Action + Receipt
Formula
<Action> + send me <delivery format>
Example
Diagnose + email me the rewrite
Why it works
Pre-commits the visitor to the next two steps. Higher activation rate downstream.
Pattern 9
Free Specific
Formula
Free <noun, not adjective>
Example
Free 90-second diagnostic
Why it works
'Free' alone is suspect; 'free X' is concrete. The noun does the work, not the adjective.
Pattern 10
Self-Qualifying
Formula
I'm <cohort>, <action>
Example
I'm post-launch, diagnose me
Why it works
Forces self-identification on the click. Audience that clicks is more qualified, which improves downstream metrics.
Pattern 11
Permission Frame
Formula
Show me <thing>
Example
Show me what's broken
Why it works
Soft entry. Frames the click as a look, not a commit. Good for early-funnel CTAs.
Pattern 12
Pre-Result Claim
Formula
<Verb> my <claimed result>
Example
Claim my diagnosis
Why it works
'Claim' is high-conviction. Pairs with limited-time or limited-spots framing without screaming it.
Common implementation mistakes
- Using 'Submit' on a CTA. The visitor isn't submitting; they're starting a process. Name the process.
- Same copy on the primary and secondary CTA. The secondary should name the alternative path explicitly.
- Long button copy that wraps to two lines on mobile. 1-4 words on mobile, 5-6 words max on desktop.
- CTA copy that's a noun phrase instead of a verb phrase. 'Diagnostic' is a label; 'Get my diagnostic' is a verb.
- Treating the button as the headline. The button copy should complete the sentence the headline started, not restate the value proposition.
Real examples from indie SaaS teardowns
Pattern names above are illustrative. These are real, named, dated funnels from the Unlock SaaS teardown set where the CTA button demonstrates the pattern in a shipping product. Funnel-hack the real ones.
offer lens
Senja – Free entry plus brand-customization upsell
Senja sells a problem most SaaS know they have but never name. The funnel uses its own product as the demo.
CTA is outcome-first ('get my first testimonial'), not action-first. Buyer reads it as completing a desire.
From the teardown: The free tier collects basic testimonials with Senja branding. The paid tier removes branding, adds video, and unlocks customization. The upsell trigger is when the founder is ready to put testimonials on the marketing site without the third-party logo. Behaviorally aligned with when the willingness-to-pay spikes.
offer lens
Resend – Free-tier-led plus React Email ecosystem
Resend sells developer experience as the differentiator in a commodity category. The funnel reads like documentation.
CTA is the first product action ('send your first email'). The button IS the trial.
From the teardown: Free tier is generous enough that most indie SaaS can ship in production on it. React Email (open-source library for building emails) extends Resend's surface area into a free tool that converts independent of the paid product. The free tool IS the marketing.
story lens
Tally – Show, do not tell
Tally turns the freemium ceiling into the headline. The funnel is the price line.
The CTA is the product launch – click is the demo. Zero gap between intent and product experience.
From the teardown: Story is told through live form examples and the in-product trial flow, not through a written narrative. The reader is funnelled into building a form within two clicks of the homepage. The proof is the build experience itself, which removes any need to claim ease of use in copy.
offer lens
Cal.com – Hosted plus self-host two-track
Cal.com sells the open-source alternative to Calendly. The repo IS the trust signal.
Two-CTA branching (hosted / self-host) lets each cohort claim their path without diluting the primary.
From the teardown: Same dual-track as Plausible: hosted SaaS for the easy buyer, self-host for the principled buyer. Most self-hosters return to the hosted tier when the maintenance cost exceeds the subscription cost. The two-track offer captures both buyer types without forcing a choice at first contact.
Which Brunson job does this element do?
This element sits in the Hook + Offerlens. Knowing the lens tells you what the element is supposed to accomplish, not just what shape it takes – so you don’t rewrite a Story element using Hook tactics or vice versa.
People also ask
What is a CTA button swipe file?
A CTA button isn't a label, it's a one-word completion of the visitor's mental sentence. The button copy that wins names the next state the visitor enters when they click, not the action they perform on the page.
When should I rewrite my CTA button?
When click-through on the primary CTA is under 5 percent on a hero block that's otherwise reading well. When 'Get Started' / 'Sign Up' / 'Learn More' is doing zero qualification work.
When is the CTA button not the right thing to fix?
When the issue is upstream: the headline didn't qualify, so no button copy can recover it. When the form below the button is the actual friction (length, fields requested).
Questions founders ask about CTA button copy
Should CTA buttons say 'Get Started' or something specific?
Something specific, always. 'Get Started' wins generic A/B benchmarks because the alternatives in those tests were also generic. Once you put a specific outcome verb on the button, the lift is structural.
How long should CTA button copy be?
1-4 words on mobile, 5-6 words on desktop. Anything longer wraps awkwardly and loses the unit-of-action feeling.
Should the CTA repeat words from the headline?
One key word, yes. The cohort word or the outcome word should appear in both, so the button reads as completing the headline's promise.
Related Brunson terms
Apply these patterns to your live page
The free 90-second Launch Diagnostic checks whether the CTA button is actually the broken step on your page, or whether the bottleneck is upstream.