$47K to $101K in 12 Months - The Shopify Email Audit That Changed Everything
The Problem
Mountainside Medical had flows live, campaigns going out, and a 249,000-contact database. They also had a 4.8% bounce rate, 74,538 dormant contacts in every send, five flows generating zero revenue, and a Judge.me integration firing review requests to opted-out contacts. Not one big failure, eight smaller ones, compounding.
Mountainside Medical is a US-based Shopify Plus store and Service-Disabled Veteran-Owned Small Business (SDVOSB), distributing medical supplies to clinics, VA hospitals, and government agencies nationwide. They had the audience and the product. The infrastructure just needed to work.
Over 12 months, we fixed it. Automation revenue went from $47,217 to $101,636.
"We knew email wasn't performing the way it should, but the reporting made it hard to see exactly where the gaps were. Once Webrex went through the account properly, it was clear the list was doing real damage with every send. Getting that under control changed everything downstream."
— Purchasing & Operations, Mountainside Medical Equipment
Results at a Glance
| Metric | Before (May 2025) | After (Mar 2026) | Change |
|---|---|---|---|
| Automation revenue | $47,217 | $101,636 | +115% |
| Total email revenue | $92,000 | $158,296 | +72% |
| Email open rate | ~21% (industry avg) | 31.87% | +52% |
| Bounce rate | 4.8% | 0.2% | -96% |
| Unsubscribe rate | 2.1% | 0.8% | -62% |
| Orders from flows | 243 | 716 | +195% |
| Abandoned checkout revenue | $7,465 | $19,142 | +156% |
| Dormant contacts in the send pool | 74,538 | 0 | Suppressed |
Revenue figures sourced from the Shopify Messaging dashboard.
What We Found
Bounce rate at 4.8% — nearly double the danger threshold. Hard bounces were being processed as standard unsubscribes instead of permanent suppressions, so the same dead addresses kept recycling back into the send pool. Every campaign was compounding the damage.
74,538 dormant contacts in every send. Nearly 30% of the database hadn't engaged in 90 to 180 days and were being included in every campaign. Inbox providers treat this as a signal that your emails are unwanted and route them to spam accordingly, for everyone on your list.
Unsubscribe rate at 2.1%. A clinic buying gloves by the case and a consumer buying a blood pressure monitor were getting the same email. No segmentation. No differentiation. The 2.1% rate was contacts telling the store, clearly, that the emails weren't relevant.
Judge.me sending to opted-out contacts. Judge.me's native review request emails were firing independently of the main email platform, reaching contacts who had explicitly opted out of marketing. A live CAN-SPAM and GDPR compliance risk is invisible in standard reporting unless you specifically look.
Abandoned checkout: one email, no follow-up. Set up at launch and never built on. The customers who convert from email two and email three need more time, more reassurance, or a reason to come back. A single email doesn't give them any of those things.
Five of eight flows generate zero revenue. Live in the dashboard. Never reviewed after initial setup. Zero revenue contribution across the audit period.
No replenishment flow. Mountainside Medical sells consumables: gloves, syringes, bandages, and needles. Without a replenishment flow, the customer would run low, go searching, and buy from whoever ranked for that search. Often not Mountainside Medical.
What We Fixed
Deliverability First, Everything Else Builds on It
Email Deliverability Metrics — Before & After
Before: 4.8% Bounce Rate, 2.1% Unsubscribe
After: 0.2% Bounce Rate, 0.8% Unsubscribe
Hard bounces got permanently suppressed, not unsubscribed. The distinction matters: an unsubscribed contact can re-enter a send pool under certain conditions; a suppressed contact cannot. We rebuilt the suppression process to run monthly via Matrixify. Getting the monthly process right took a couple of iterations. The first pass missed contacts who had bounced across legacy campaign sends rather than flow triggers, so we went back and audited those separately. This kind of email deliverability audit is foundational work.
The 74,538 dormant contacts moved into a three-email sunset sequence first, then got suppressed if they didn't respond. A smaller, cleaner list performs better than a large, dirty one every time.
Judge.me's native emails got disabled. Review requests were rebuilt in Shopify Flow with a mandatory opt-in check at the trigger.
Result: Bounce rate from 4.8% to 0.2%. Unsubscribe rate from 2.1% to 0.8%. Open rate up to 36%.
Abandoned Checkout: From One Email to Three
Email Flow Comparison — Before & After
Before: Single Email Sequence

After: 3-Email Sequence with Condition Gates

Email 1: no discount, just the cart, the products, and a sense of urgency. Withholding the discount at this stage stops the store from training customers to wait for a code. Email 2 shifts to trust signals for a medical supplier, which means product quality, fulfilment reliability, and real customer reviews. Email 3 brings the discount at 72 hours, with a hard expiry, only reaching contacts who haven't purchased after two previous touches. A customer who buys after an email never sees the discount.
Result: Abandoned checkout revenue from $7,465 to $19,142, up 156%. This multi-email approach to abandoned checkout email setup is where most of the early revenue gains came from.
Replenishment Flow: Capturing the Reorder Before the Competition Does

Built from scratch. The replenishment flow for Shopify trigger fires 30 days after fulfilment for eligible product categories. Before any email sends, a GraphQL query checks the customer's order history if they've already reordered; the flow exits.
Getting the logic right took a few iterations. Early runs occasionally triggered on customers who had reordered via a different SKU in the same category, so we refined the query to check at the category level rather than the product level.
Review Request: Rebuilt in Shopify Flow, Split by Sentiment

With Judge.me's native emails disabled, the entire review request logic moved into Shopify Flow automation. Here's how the new flow works:
Day 13 Post-Order — A "Thank You" email goes out with a dynamic button/link that prompts the customer to share a review for the products they purchased. The email is personalized with the specific items in their order, making the review request relevant and timely.
The Split:
- Positive Review Submitted — Customer is sent a follow-up "Thank You" email thanking them for the positive feedback, with a relevant product cross-sell recommendation to encourage a repeat purchase.
- Negative Review Submitted — Customer is flagged in the system and routed directly to support. No cross-sell is attempted. Instead, the support team reaches out proactively to understand the issue and resolve it before it becomes a public review or a churn event.
This approach does three things: it captures authentic reviews at the right time in the customer journey, it turns positive reviews into repeat purchase opportunities, and it catches dissatisfied customers early enough to fix problems.
What Actually Drove the 115%
Revenue Growth Visualization
Automation Revenue Growth (2024 vs 2025)
Campaign Performance Comparison (2024 vs 2025)
It was all of it, but not equally.
Deliverability came first because nothing else works without it. Getting the bounce rate from 4.8% to 0.2% and pulling 74,538 dormant contacts out of the send pool lifted the open rate across every flow immediately. The abandoned checkout rebuild delivered the fastest visible revenue jump in the first couple of months. The replenishment flow built slowly, then compounded.
None of these fixes was complicated. None required a platform change or a bigger budget. What they required was someone going through the account, finding what was broken, fixing it properly, and checking back the following month to see if it held.
That's the part most stores skip.
Frequently Asked Questions
What is a good email bounce rate for Shopify?
Below 0.5% is healthy. Above 2% starts damaging the sender's reputation. Mountainside Medical was at 4.8%, nearly 10x the safe threshold, and the damage compounded with every send because hard bounces were being recycled back into the list.
How many emails should a Shopify abandoned checkout sequence have?
Three is the minimum that captures the full range of buyer behaviour. Email one (1 hour) catches the impulse returners. Email two (24 hours) handles the hesitant. Email three (72 hours) with a discount to close the fence-sitters. Each should include a condition check if they've already purchased, and the sequence exits.
What is a replenishment email flow?
An automated sequence that fires a set number of days after a consumable product is fulfilled, prompting the customer to reorder. Without it, the customer runs low, searches, and buys from whoever they find first.
How do you fix email deliverability on Shopify?
Four steps: permanently suppress hard bounces (don't just unsubscribe them), pull dormant contacts out of active sends, audit every third-party app sending emails independently of your main platform, and run a monthly list hygiene process. Deliverability isn't a one-time fix. If your store is dealing with similar issues, book a free email audit to identify what's broken.
How long does it take to see results from email flow optimisation?
Deliverability improvements show within 30 to 60 days of list cleaning. Abandoned checkout revenue is visible within the first month. Replenishment and segmentation compound over 6 to 12 months.