You're doing everything right.
Your product actually works. Your Meta ads are profitable. You’ve got a solid ROAS. Customers love you.
But you’ve been stuck at $40k-$60k per month for the past 6 months.
You keep thinking: “We just need more traffic.” Or “We need to launch another product.” Or “Maybe we need to go viral on TikTok.”
None of that is the problem.
Here’s what’s actually stopping you: Your site has invisible revenue leaks that only show up at scale.
At $20k/month, these leaks cost you maybe $2k in lost revenue. Annoying, but survivable.
At $60k/month, these same leaks are costing you $18k-$25k every single month. That’s $216k-$300k per year walking out the door.
That’s the difference between staying stuck at $500k and hitting $1.2M.
I’ve audited 180+ DTC wellness and skincare brands in the past 3 years. The ones who break through $1M have plugged these 6 specific leaks. The ones stuck under $700k are bleeding revenue and don’t even know where.
I’m going to show you exactly where you’re losing money, how to find the leaks on your site in the next 20 minutes, and what to fix first.
The $500k Ceiling (And What Creates It)
Something weird happens around $500k annually.
Your ads still work. Your ROAS is decent (2.5-3.5x). You’re not losing money.
But you can’t scale past $60k/month without ROAS tanking.
You try spending more on ads. ROAS drops to 1.8x. Not profitable anymore.
You pull back. Revenue drops to $45k.
You’re stuck in this $40k-$65k range and it’s been 6-9 months.
Here’s what’s happening:
At $20k/month, most of your customers came from warm sources. Instagram followers who’ve seen you for months. Friends of customers. Small influencer audiences who already trust you.
These people convert at 4-6% because they’re pre-sold before they hit your site.
At $60k/month, 70% of your traffic is cold. People who saw your ad once and clicked. They don’t know you. They don’t trust you yet.
They convert at 0.8-1.5%.
Your site isn’t built to convert strangers. It’s built to convert people who already like you.
That’s the ceiling.
Breaking through requires fixing the 6 revenue leaks that only matter when you’re trying to convert cold traffic at scale.
The 6 Revenue Leaks Costing You $18k-$25k Per Month
Every brand stuck under $1M has at least 4 of these leaks.
Leak #1: Your product pages don’t answer the first question (75% bounce in under 10 seconds)
Leak #2: Your add-to-cart rate is under 8% (should be 12-18%)
Leak #3: Your cart abandonment is over 70% (should be under 60%)
Leak #4: Your checkout abandonment is 65%+ (should be under 50%)
Leak #5: Your repeat purchase rate is under 25% (should be 35-50%)
Leak #6: You have no measurable win-back system (losing 40% of recoverable revenue)
Let’s diagnose each one and I’ll show you how to find it on your site right now.
Leak #1: Your Product Pages Don’t Answer the First Question
The Problem
Someone lands on your product page from a Meta ad.
They have one question in their head: “Is this for me?”
Your page doesn’t answer it in the first 10 seconds.
They bounce.
75% of your product page traffic never scrolls past the first screen.
What This Costs You
If 1,000 people land on your product page and 75% bounce immediately, you’re left with 250 people.
If those 250 convert at 5%, that’s 12 sales.
If you answered their question immediately and only 40% bounced, you’d have 600 people. At 5% conversion, that’s 30 sales.
You just lost 18 sales (60% of potential revenue) from that traffic.
At $60 AOV, that’s $1,080 lost from 1,000 visitors.
Scale that across 15,000 monthly product page visitors. You’re losing $16,200 per month from this leak alone.
How to Diagnose This on Your Site
Open Google Analytics (or Shopify Analytics).
Go to Behavior > Site Content > All Pages.
Find your top 3 product pages.
Check the bounce rate and average time on page.
Red flags:
Bounce rate over 65%
Average time on page under 25 seconds
Low scroll depth (if you have that data)
What the First Question Actually Is
It’s not “what’s in this?”
It’s not “how much does it cost?”
It’s: “Will this solve my specific problem?”
Your page needs to answer that in the first visible section (above the fold on mobile).
What Good Looks Like
Bad product page (high bounce):
Headline: “Organic Magnesium Glycinate 400mg”
Subheadline: “Highly bioavailable chelated magnesium supplement”
Image: Product bottle on white background
Good product page (low bounce):
Headline: “Fall Asleep in 20 Minutes Without Waking at 3am”
Subheadline: “For anxious minds that won’t shut off at night”
Image: Customer in bed, relaxed, with product on nightstand
The good version answers “is this for me?” in 3 seconds.
How to Fix This in 30 Minutes
Rewrite your top 3 product page headlines using this formula:
“[Specific Outcome] in [Timeline] for [Exact Person with Exact Problem]”
Examples for wellness:
“All-day energy without the 3pm crash for busy moms running on 5 hours of sleep”
“Clear skin in 28 days for hormonal breakouts that show up right before your period”
“Deep sleep through the night for people who wake up anxious at 2am”
“Joint pain relief in 14 days for runners over 40”
Replace your product-only hero image with a customer using the product or showing the outcome.
Test this for 2 weeks. Your bounce rate should drop 15-25 percentage points.
Leak #2: Your Add-to-Cart Rate Is Under 8%
The Problem
People are landing on your product pages. They’re scrolling. They’re reading.
But only 6-8% add to cart.
That means 92-94% of people who were interested enough to visit are leaving without taking action.
What This Costs You
If 10,000 people visit your product pages monthly and 7% add to cart, you get 700 carts.
If you fixed this leak and got to 14% add-to-cart, you’d have 1,400 carts.
That’s double the carts from the same traffic.
Even if only 30% of those carts convert (checkout conversion rate), you just went from 210 orders to 420 orders.
At $60 AOV, that’s $25,200 to $50,400.
You just doubled revenue from the same traffic by fixing one leak.
How to Diagnose This on Your Site
Shopify Analytics → Reports → Sales by Product Variant
Or Google Analytics → Ecommerce → Product Performance
Look at product detail views vs. add-to-cart actions.
Divide add-to-cart by product views.
What good looks like:
12-18% add-to-cart rate = healthy
8-11% = room for improvement
Under 8% = major leak
Why People Don’t Add to Cart
They have unanswered questions:
“How long until I see results?”
“What if it doesn’t work for me?”
“Is this safe with my medications?”
“How do I know this isn’t like the 5 other supplements that didn’t work?”
“What if I react badly?”
Your product page needs to answer all of these before they scroll to the bottom.
What’s Missing from Your Product Page
Most pages have: Ingredients list, benefits bullets, “Add to Cart” button
High-converting pages also have:
Timeline expectations (“Most people see results in 2-3 weeks, peak results at 8 weeks”)
Risk reversal (“60-day money-back guarantee, even if you finish the bottle”)
Objection handling (“Safe for daily use, third-party tested, no interactions with common medications”)
Proof (“12,400+ customers, 4.8 stars from 2,100+ reviews”)
Real customer photos showing before/after or usage
How to Fix This Today
Add 4 elements to your product pages:
1. Timeline section (above the fold): “What to expect: Week 1-2: [initial effects]. Week 4-6: [building results]. Week 8+: [peak results]”
2. Guarantee reminder (near Add to Cart): “Try for 60 days. If it doesn’t work, full refund. Even if the bottle’s empty.”
3. FAQ section (below product details): Answer the top 5 questions that prevent purchase. Include: How long until results? Side effects? Safe with X? How to take? What if it doesn’t work?
4. Customer photo gallery (mid-page): 6-8 real customer photos with their results and timelines
This typically lifts add-to-cart rate by 3-7 percentage points within 2 weeks.
Leak #3: Your Cart Abandonment Is Over 70%
The Problem
People add to cart. Then they leave.
Your cart abandonment rate is 72-78%.
Industry average is 70%. But high-performing DTC wellness brands are at 55-65%.
That gap is costing you thousands every month.
What This Costs You
If 1,000 people add to cart and 75% abandon, you’re left with 250 who start checkout.
If you reduced abandonment to 60%, you’d have 400 starting checkout.
If 40% of those complete purchase, that’s 100 orders vs. 160 orders.
At $60 AOV, that’s $6,000 vs. $9,600.
You just lost $3,600 from 1,000 carts.
Scale that to 5,000 monthly carts. You’re losing $18,000/month to cart abandonment.
How to Diagnose This on Your Site
Shopify Analytics → Reports → Behavior → Checkout
Look at “Sessions that reached cart” vs “Sessions that reached checkout.”
The difference is your cart abandonment rate.
What good looks like:
Under 60% = excellent
60-68% = good
Over 70% = major leak
Why People Abandon Cart
Reason #1: They see shipping cost for the first time (48% of abandonment)
Reason #2: They’re comparison shopping (not ready to buy, just researching)
Reason #3: They got distracted (especially on mobile)
Reason #4: They’re waiting for a discount code
Reason #5: The cart total is higher than they expected
You can fix #1, #3, #4, and #5 immediately.
What High-Performing Brands Do Differently
They show the full cost before cart:
Free shipping threshold visible on product page (“Free shipping on orders over $75”)
Shipping cost estimate on product page (if no free threshold)
Progress bar in cart showing how close to free shipping
No surprise fees at checkout
They reduce cart friction:
Cart drawer (no separate cart page that requires navigation)
Edit quantities in cart without going back to product page
Apply discount code in cart (not just at checkout)
Save cart for later / wishlist option
One-click checkout options (Shop Pay, Apple Pay) in cart drawer
They send cart abandonment reminders:
Email 1: 4 hours after abandonment (reminder + social proof)
Email 2: 24 hours after (answer objections + limited-time offer)
Email 3: 72 hours after (last chance + different angle)
How to Fix This This Week
Day 1: Add free shipping threshold to all product pages
If you can’t offer free shipping, show shipping estimate: “Shipping calculated at checkout (usually $6-$9 for US)”
Day 2: Enable Shop Pay and Apple Pay in cart
Shopify Settings → Payments → Enable dynamic checkout buttons
Day 3: Set up cart abandonment flow (if you don’t have one)
3 emails over 72 hours. Include: product image, specific benefits, social proof, time-limited offer (10-15% off)
Day 4: Add progress bar to cart
“You’re $23 away from free shipping!” or “Add one more item to get free shipping”
This combination typically drops cart abandonment by 10-15 percentage points.
Leak #4: Your Checkout Abandonment Is 65%+
The Problem
They made it to checkout. They’re entering their info.
Then 65-70% of them abandon before completing purchase.
You got them 90% of the way there. Then lost them.
What This Costs You
If 1,000 people start checkout and 65% abandon, you get 350 orders.
If you reduced checkout abandonment to 45%, you’d get 550 orders.
That’s 200 more orders from the same traffic.
At $60 AOV, that’s $12,000 more revenue from the same 1,000 checkout starts.
Over a month with 5,000 checkout starts, you’re losing $60,000 to checkout abandonment.
How to Diagnose This on Your Site
Shopify Analytics → Reports → Checkout Behavior
Look at “Reached checkout” vs “Sessions converted.”
The difference is checkout abandonment.
What good looks like:
40-50% = excellent
50-60% = good
Over 65% = major leak
Why People Abandon at Checkout
On mobile (70% of traffic):
Too many form fields (takes 90+ seconds to complete)
Buttons too small to tap accurately
Text too small to read (triggers zoom, breaks layout)
No express checkout option
Can’t see total cost without scrolling
On desktop and mobile:
Unexpected shipping cost appearing at final step
No trust signals (security badges, guarantee reminder)
Checkout looks sketchy or unprofessional
Required fields they don’t want to give (phone number)
Payment options limited
What High-Performing Brands Do
They optimize checkout for mobile speed:
9 fields maximum (email, name, address, payment)
Phone number optional
Company field removed
Billing address same as shipping by default
Large buttons (48px minimum height for mobile)
Autofill enabled
Express checkout (Shop Pay, Apple Pay, Google Pay) prominent
They add trust signals at the decision point:
Security badge above payment section
Money-back guarantee reminder below total
“Join 15,000+ happy customers” near checkout button
Accepted payment icons clearly visible
They remove last-second doubt:
Free returns policy linked in footer
Customer service contact visible
Estimated delivery date shown
Order summary always visible on mobile
How to Fix This in One Day
Morning (2 hours):
Enable Shop Pay, Apple Pay, Google Pay
Make phone number optional
Turn on “use shipping address for billing”
Remove company field
Add security badge above payment section
Afternoon (2 hours):
Test entire checkout on iPhone SE (smallest common screen)
Increase button sizes if needed (48px minimum)
Ensure no horizontal scrolling required
Add guarantee reminder below order total
Add “Secure checkout – SSL encrypted” near payment fields
Test before launching:
Complete a test order on your phone using only your thumb
Time it. Should be under 60 seconds from checkout start to confirmation.
This typically reduces checkout abandonment by 15-20 percentage points.
Leak #5: Your Repeat Purchase Rate Is Under 25%
The Problem
You’re spending $45-$65 to acquire a customer through Meta ads.
They buy once for $60.
Then they never come back.
Your repeat purchase rate is 18-22% at 90 days.
You’re breaking even (at best) on first purchase. You’re making no profit on 78% of customers.
You can’t scale profitably because your LTV is too low.
What This Costs You
If you acquire 1,000 customers at $50 CAC and they buy once for $60 AOV:
Revenue: $60,000
CAC: $50,000
Profit (at 30% margin): $18,000 – $50,000 = -$32,000 loss
If 35% bought again (average $55 second order):
First order revenue: $60,000
Second order revenue: $19,250 (350 customers × $55)
Total revenue: $79,250
CAC: $50,000
Profit (at 30% margin): $23,775 – $50,000 = -$26,225 loss
Still losing money? Let’s go further.
If 45% bought again, and 20% bought a third time:
First order: $60,000
Second order: $24,750 (450 × $55)
Third order: $5,500 (100 × $55)
Total revenue: $90,250
CAC: $50,000
Profit (at 30% margin): $27,075 – $50,000 = -$22,925 loss
Wait, still losing?
This is why you need subscription or higher AOV or lower CAC. But increasing repeat rate from 18% to 45% dramatically improves your unit economics and gives you room to scale.
How to Diagnose This on Your Site
Shopify Analytics > Reports > Customers >Returning customer rate
Look at customers acquired 90+ days ago. What percentage have purchased 2+ times?
What good looks like:
40-50% repeat rate at 90 days = excellent
30-40% = good
Under 25% = major leak
Why Customers Don’t Come Back
They forgot about you (no post-purchase communication)
They don’t know when to reorder (no replenishment reminders)
They didn’t see results (wrong expectations or usage)
They don’t know what to buy next (no education on product stacking)
They found a competitor (you didn’t build loyalty)
What High-Performing Brands Do
They have an automated post-purchase journey:
Week 1: How to use the product for best results
Week 2: What to expect (timeline education)
Week 3: Early check-in (build engagement)
Week 4: Educational content (build authority)
Week 6: Replenishment reminder (for consumables)
Week 8: Product stacking education (what works well together)
Week 10: Reorder incentive (15% off second purchase)
Week 12: Win-back if they haven’t bought (different angle)
They segment customers:
One-time buyers get reorder incentives
Two-time buyers get VIP treatment
High-value customers get early access to new products
Engaged subscribers get loyalty rewards
How to Fix This Over Two Weeks
Week 1: Set up foundational emails
Day 1: Post-purchase “How to Use” email (automated, sends 3 days after delivery)
Day 2: Week 2 check-in email (automated, sends 14 days after purchase)
Day 3: Replenishment email (automated, sends at 60-70% of product duration)
Week 2: Set up retention flows
Day 1: Browse abandonment flow (2 emails for people who viewed products but didn’t buy)
Day 2: Second purchase incentive (automated, sends 45 days after first purchase if they haven’t reordered)
Day 3: Win-back flow (automated, sends at 90 days if they haven’t purchased again)
This combination typically lifts 90-day repeat rate by 8-15 percentage points.
Leak #6: You Have No Measurable Win-Back System
The Problem
You’ve acquired 5,000 customers over the past 2 years.
3,200 of them (64%) haven’t purchased in 90+ days.
You’re doing nothing to bring them back.
That’s 3,200 people who already know you, already trusted you enough to buy once, and you’re ignoring them.
What This Costs You
If you win back just 10% of lapsed customers:
320 customers × $55 average order = $17,600
If you win back 20%:
640 customers × $55 = $35,200
If you win back 30% (achievable with good win-back campaigns):
960 customers × $55 = $52,800
You’re leaving $35,000-$50,000 per year on the table by not having a win-back system.
How to Diagnose This on Your Site
Shopify >Customers >Export
Filter for customers who purchased 90-365 days ago but haven’t purchased since.
Count them.
Now ask yourself: What are you doing to bring them back?
Red flags:
You don’t have a list of lapsed customers
You’ve never sent them a targeted campaign
You don’t have an automated win-back flow
You don’t know your win-back rate
Why Customers Lapse
They didn’t get the results they expected
Life got busy and they forgot about you
They ran out and meant to reorder but didn’t
They found a competitor
Price sensitivity (they’re waiting for a sale)
The product worked and they think they’re “done”
What High-Performing Brands Do
They have automated win-back flows:
90 days after last purchase:
Email 1: “We miss you” + remind them why they bought originally
100 days:
Email 2: “Here’s what’s new” + show product improvements or new launches
110 days:
Email 3: “Come back offer” + 20% off (aggressive win-back offer)
They run quarterly win-back campaigns:
Segment: Customers who bought 6-12 months ago
Subject: “It’s been a while…” or “Are we breaking up?”
Offer: 25-30% off (higher than normal because LTV is $0 if they don’t come back)
Angle: New products, reformulations, fresh start, seasonal relevance
They use SMS for high-value lapsed customers:
Customers who spent $150+ but haven’t purchased in 120 days
“Hey [name], we noticed you haven’t ordered in a while. Everything okay? Here’s 25% off your next order – [link]”
Response rate is 8-12%, conversion rate on responders is 30-40%
How to Fix This This Month
Week 1: Build your segments
Export customers who last purchased 90-180 days ago (segment 1: recent lapse)
Export customers who last purchased 181-365 days ago (segment 2: long lapse)
Export customers who purchased 2+ times but haven’t ordered in 90+ days (segment 3: VIP lapse)
Week 2: Set up automated win-back flow
Email 1 (day 90): “We miss you” + value reminder
Email 2 (day 100): Educational content + soft reactivation
Email 3 (day 110): 20% off + urgency (7-day expiration)
Week 3: Create manual win-back campaign
Target: Segment 2 (long lapse 181-365 days)
Subject: “Are we breaking up? Here’s 30% off to say sorry”
Body: Acknowledge the gap, show what’s new, make an aggressive offer
Send on Wednesday at 10am
Week 4: Measure and refine
Track open rates (aim for 25%+)
Track click rates (aim for 4%+)
Track conversion rate (aim for 3-8% depending on segment)
Calculate revenue generated
Expected result: 15-25% of your lapsed customer base reactivates over 90 days, generating $15k-$40k in recovered revenue depending on your customer base size.
How to Find Your Biggest Leak in 20 Minutes
Open a spreadsheet. Score yourself on each leak.
Leak #1: Product Page Bounce Rate
Check Analytics. Product page bounce rate under 55% = 10 points. 55-70% = 5 points. Over 70% = 0 points.
Leak #2: Add-to-Cart Rate
Product views vs add-to-cart. 12%+ = 10 points. 8-12% = 5 points. Under 8% = 0 points.
Leak #3: Cart Abandonment
Sessions that reached cart vs checkout. Under 60% = 10 points. 60-70% = 5 points. Over 70% = 0 points.
Leak #4: Checkout Abandonment
Checkout starts vs completed orders. Under 50% = 10 points. 50-65% = 5 points. Over 65% = 0 points.
Leak #5: Repeat Purchase Rate
90-day repeat rate. 35%+ = 10 points. 25-35% = 5 points. Under 25% = 0 points.
Leak #6: Win-Back System
Do you have an automated win-back flow? Yes and it’s working = 10 points. Yes but not optimized = 5 points. No = 0 points.
Total possible: 60 points
What Your Score Means
50-60 points: You’re dialed in. Your leaks are plugged. You’re ready to scale past $1M.
35-49 points: You have 1-2 major leaks. Fix those and you’ll break through the ceiling.
20-34 points: You have 3-4 leaks. You’re losing $15k-$25k per month. Big opportunity here.
Under 20 points: This is exactly why you’re stuck. Every leak is costing you. Start with the lowest-scoring area.
What Fixing These Leaks Actually Looks Like
Real example from a supplement brand we worked with:
Starting point (Month 0):
$52k monthly revenue
1.8% overall conversion rate
71% cart abandonment
68% checkout abandonment
19% repeat rate at 90 days
After plugging leaks (Month 3):
$89k monthly revenue
3.1% overall conversion rate
58% cart abandonment
47% checkout abandonment
34% repeat rate at 90 days
What changed:
Same ad spend ($14k/month)
Same traffic volume (roughly 18,000 monthly visitors)
Better conversion at every step
The math:
71% more revenue from the same traffic
$37k additional monthly revenue
$444k additional annual revenue
They didn’t need more traffic. They needed to stop leaking revenue from the traffic they had.
Start Here
Pick your lowest-scoring leak from the diagnostic above.
Fix that one first.
Measure the impact over 14 days.
Then move to your second-lowest score.
By the time you’ve fixed your 3 biggest leaks, you’ll be 30-50% higher revenue with the same traffic and ad spend.
Or, if you want someone to audit all 6 leaks and fix them in 30-45 days, that’s exactly what we do for DTC wellness and skincare brands stuck at $500k-$1M.
We audit your entire funnel, identify your top 3 revenue leaks, implement the fixes, and track the lift.
Most brands see 25-45% revenue increase within 60 days without increasing ad spend.
Or send us your site and we’ll tell you which leak is costing you the most revenue right now.
One question before you go:
Which leak do you think is your biggest problem?