I have 6 Gumroad SKUs LIVE: $0 → $15 → $19 → $29 → $39 → $499. Catalog total $601. I shipped most of them in the last 60 days as part of an indie iOS portfolio experiment. They share an audience (indie iOS devs + small B2B founders), and yet none of them cannibalize each other — adding a higher tier increased sales of the lower tiers, not the reverse.
Here's the structure and the rationale, because every indie hacker I've talked to about this asks a version of the same question: "Won't your $499 tier kill the $19?"
The catalog
| Tier | SKU | Price | Audience hook |
|---|---|---|---|
| Lead magnet | 14 iOS Rejection Reasons | Free | "I'm about to submit. What will reject me?" |
| Entry | B2B Cold Email Templates | $15 | "I need to send 30 cold emails by Friday" |
| Entry+ | iOS Indie Launch Playbook | $19 | "I'm planning my first launch, what's the playbook?" |
| Mid | Apple TF Debug Bible | $29 | "TF install is failing, I've spent $1500 of time on it" |
| Mid+ | AutoApp Dashboard | $39 | "I want to manifest-scan my own indie portfolio" |
| Premium | ASC API Toolkit | $499 | "I have 3+ apps and need automation across all of them" |
Plus an affiliate program at 30% commission for anyone wanting to resell.
The rule that prevents cannibalization
Each SKU answers a different question.
That's it. That's the rule.
If two SKUs answer the same question, you have cannibalization. If they answer different questions, you have a portfolio.
Concretely:
- 14 iOS Rejection Reasons answers: "What rejects me?"
- Indie Launch Playbook answers: "How do I plan my first launch end to end?"
- TF Debug Bible answers: "I have a specific TestFlight bug; how do I unblock it?"
- AutoApp Dashboard answers: "How do I manage my own portfolio?"
- ASC API Toolkit answers: "How do I automate everything across multiple apps?"
A buyer at the lead magnet has not yet hit a rejection. A buyer at the Playbook tier hasn't planned the launch yet. A buyer at the Bible has hit a specific bug that the Playbook doesn't drill into. A buyer at the Dashboard has multiple shipped apps and needs internal tooling. A buyer at the Toolkit is doing it for the third time and wants the codified version.
Same audience. Different month of their journey. Different question. No overlap.
The funnel
free dev.to article / Substack issue / Reddit r/iOSProgramming
↓ (top of funnel — content)
free 14 iOS Rejection Reasons (Gumroad lead magnet, email captures)
↓ (lead capture)
$15 B2B Cold Email Templates OR $19 Indie Launch Playbook
↓ (first paid tier — proves they pay)
$29 Apple TF Debug Bible (only if they hit the specific bug)
↓
$39 AutoApp Dashboard (only if portfolio has 2+ apps)
↓
$499 ASC API Toolkit (only if they're at 3+ apps and need automation)
↓
$199 30-min consultation (if they want me to apply the toolkit to their case)
$1500-2500 monthly retainer (if they want me to run their portfolio's automation)
Conversion rate degrades at each step (typical e-commerce funnel). But because each SKU is gated on a different precondition, the buyer's current pain determines which tier they buy. Not all of them. The ones that match their current pain.
The pricing rationale per tier
I write the pricing rationale into a public table in each SKU's Markdown source. Buyers can read it before buying — it's not hidden. I think this builds trust:
| Price | Anchor | Verdict |
|---|---|---|
| $9 | Impulse buy | Too cheap — buyers won't read |
| $15-19 | Less than 1hr dev time | Entry tier, validates willingness to pay |
| $29 | < 1 dev hour | Mid tier; specific pain |
| $49 | Premium without 1on1 | Too high without consultation |
| $99 | With 30-min consult | Different SKU type (mixed digital + service) |
| $499 | Multi-day dev tool | Top of digital tier; below consulting hourly |
Every SKU's price is anchored against "what would this cost the buyer to do themselves" — typically dev hours.
Why the $499 doesn't kill the $19
Two reasons.
Reason 1: most $19 buyers don't need the $499. They're at app #1, not app #3. The $499 is for a different stage of their journey.
Reason 2: the $499 has more buying friction (it's enough money that buyers want a video or a 1on1). The $19 has near-zero friction. Different friction = different decision.
When I added the $499 SKU, $19 sales actually increased. Hypothesis: anchoring effect — seeing a $499 makes the $19 feel cheap. Same audience, but their internal "what's reasonable to spend on indie iOS tooling" recalibrated upward.
I haven't run a controlled A/B (small numbers, hard to isolate), but the trend is consistent across my catalog and I've seen the same pattern reported in larger creators.
What I learned shipping 6 in 60 days
Naming matters more than copy length. "ASC API Toolkit" sells better than "Comprehensive App Store Connect Automation Bundle for iOS Indie Devs." The buyer is searching for a tool, not a description.
Lead magnet quality > quantity. I have one free SKU (14 iOS Rejection Reasons). It's a 1-page PDF. Email captures are as good as any 50-page free PDF I tested. The conversion to first paid is 12%, which is high for indie content. The 1-pager forces relevance.
Sales pages convert on rationale, not features. The TF Debug Bible page leads with "I almost wired $1500 to an iOS consultancy" — the buyer's actual decision context, not the SKU's features. Features come later. The decision frame comes first.
Don't price-test for the first 30 buyers. They're paying you for the work, not the price. Below that volume, your price is noise. Pick a price that feels right (not too cheap, not too expensive), commit, watch conversion data, only then optimize.
Bundle pricing is for a different audience. I have a 6-SKU bundle at a 30% discount. Bundle buyers tend to be agencies / consultants — people who'll resell. They're not the same buyer as the $19 individual SKU. Don't try to convert one into the other.
What I'd add as #7
A $99 1on1 consult tier. Currently I have $499 (digital), $1500-2500 (monthly retainer), but nothing in the $50-200 range that says "30 minutes of my attention applied to your specific case." This bridges digital → service.
I'll add it once I have 5 customers in the $499 tier (validates the demand) and 3 in the $1500+ retainer (validates the upper bound). Currently 0/5 and 0/3, so the $99 SKU waits.
If you want the full TF Debug Bible compressed to one PDF + working scripts: TF Debug Bible — $29. Three months of Apple Forum thread digging, condensed.
If you're laying out your own SKU stack, the test is: "What different question does each SKU answer?" If you can't list 5+ different questions, you don't have 5 SKUs — you have 5 versions of the same SKU. That's where cannibalization starts.
GitHub: github.com/jiejuefuyou
Day 60 milestone: 60 articles in 60 days
Top comments (0)