Skip to content
Back to Case Study
8 min read

How Ozzi Gear Runs a Live P&L Across Five Shipping Regions

From the backcountry to the balance sheet: Ozzi Gear runs a live P&L across five regions with MerchantFlow.

Ozzi Gear is a rapidly scaling outdoor gear brand shipping lightweight camping chairs, loungers and hooded blankets across Australia, New Zealand, the United Kingdom, Europe and Canada.

Like many growing ecommerce brands, they had revenue in Shopify, ROAS in ad platforms, and the real profit number buried in a spreadsheet that only became useful after the decisions had already been made. MerchantFlow gave them a single live P&L that brings Shopify, Meta, Google, their 3PL partner SpeedFulfill, payment fees and COGS into one view, refreshing throughout the day.

Results at a glance

  • A single live P&L across five shipping regions
  • Actual per-order fulfilment costs flowing in from SpeedFulfill via API
  • True net profit, blended MER and blended CAC tracked across Meta and Google
  • Month-end reconciliation reduced from days to a quick review
  • Peak-season fulfilment cost changes surfaced while decisions could still be made
"I was running Ozzi Gear off Shopify's top-line and a monthly spreadsheet I never fully trusted. MerchantFlow pulls our Meta and Google spend, our SpeedFulfill costs and our international shipping into one live P&L. The Christmas fulfillment spike used to be a January surprise. Now I see it as it happens and plan the next quarter around it."

Peter, Founder, Ozzi Gear

About Ozzi Gear

Ozzi Gear designs compact, durable outdoor kit for people who are sick of lugging bulky camping gear around. Their hero product is the Ozzi Outdoor Chair, a lightweight folding chair that packs down small enough to throw in a backpack. The range also includes the Ozzi Gear Lounger and the Ozzi Hooded Blanket, all backed by a lifetime warranty and a 45-day return window. Peter founded Ozzi Gear and runs it day to day across product, operations, paid media and the P&L.

Their model is exactly the kind of setup where top-line growth can hide what is really happening underneath. Duties and fees are absorbed into the price so customers see a single landed price, but the economics vary significantly by destination. Landed cost differs by country. Freight varies by carrier and region. A chair sold in the UK is a different P&L line from a chair sold in Australia, even if the customer pays the same landed price.

The problem: a healthy top line is not a healthy P&L

Before MerchantFlow, Ozzi Gear had the same visibility problem many scaling DTC brands have. Shopify showed revenue climbing. Meta and Google reported respectable ROAS. On the surface, things looked great.

Underneath, none of those reports were talking to each other, and none of them answered the question that actually mattered: after every cost, is the next dollar of ad spend still profitable?

The costs sat in different places:

  • Landed COGS per region. Absorbing duties into the sale price means true COGS is different for every destination country.
  • International shipping and 3PL fulfilment. Freight, last-mile, fuel surcharges and per-order pick-and-pack fees from their 3PL partner all vary and rarely match Shopify's flat shipping figure.
  • Ad spend across Meta and Google. Each platform reports its own ROAS against its own attribution window. Neither of them subtracts COGS, freight, duties or payment fees.
  • Returns and lifetime warranty exposure. A 45-day return window and a lifetime warranty on physical goods is a real line item, not a rounding error.
  • Payment processor fees spread across Shopify Payments and international card rails.

Like most operators, Peter was stitching all of this together in a monthly spreadsheet. It was accurate weeks later and useless in the moment. By the time the numbers were clean, the ad spend that caused the damage was already two weeks into its next iteration, and the fulfilment cost shock from peak season was already sitting in the bank account.

The setup with MerchantFlow

Ozzi Gear was the first store onboarded to MerchantFlow. The setup took 5 minutes, and connected:

  • Their Shopify store, with full order, refund and fulfilment data flowing live
  • Meta and Google Ads for spend attribution across campaigns, countries and creatives
  • Per-SKU COGS loaded against each product variant, with regional landed-cost logic for duty-absorbed markets
  • SpeedFulfill 3PL, via direct API integration, so actual pick, pack and freight costs flow in as real numbers rather than static estimates
  • Payment processor fee structures across Shopify Payments and international gateways

From day one, Peter had a single live P&L showing true net profit, blended MER, blended CAC, and contribution margin by channel, region and SKU.

What MerchantFlow surfaced

Three things mattered more than any others.

1. Ad spend and margin finally moved on the same screen

The biggest shift was simple. When ad spend on a platform moved, Ozzi Gear could see the impact on true net profit within the same day, rather than at the end of the month. A Meta budget increase that looked healthy on in-platform ROAS was instantly visible as either profitable or margin-dilutive once COGS, fulfilment, duties and payment fees were factored in.

Before MerchantFlow, paid media and 3PL fulfilment were the two largest non-COGS line items in Ozzi Gear's P&L, but neither of had an honest, real-time contribution view. After MerchantFlow, both are visible against live net margin in the same week they're incurred.

Ozzi Gear's live P&L, with net profit by shipping region. (Illustrative figures only)

2. Peak season fulfilment costs became visible, not retrospective

One of the clearest insights came through the Christmas peak. For brands that source or fulfil from China, unit rates often rise in the lead-up to Lunar New Year. In many businesses, that cost shock only becomes obvious when invoices are reconciled later.

Because SpeedFulfill's per-order fulfilment cost flows directly into MerchantFlow, Ozzi Gear could see that cost curve as it happened. Unit fulfilment cost creeping up in December was no longer something to discover mid-January on a reconciliation. It was a live line on the dashboard, and the ad budget, promo depth and pricing calls could be made against that reality in the same week, not the next quarter.

Peak season costs as they happen, not in January. (Illustrative figures only)

3. A 3PL API integration, not a guess

This is one of the biggest reasons the case study is compelling. Most profit dashboards rely on a merchant manually entering an average fulfilment cost per order. That works until rates change, surcharges kick in, lanes shift, or peak season changes the economics. Then the number on the dashboard is quietly wrong for months.

Ozzi Gear uses SpeedFulfill for fulfilment, which is a MerchantFlow integration partner. That means every order's actual pick, pack, storage and freight cost flows into MerchantFlow via API, tied to the specific order, SKU and destination. No typing, no guessing, no averaging. When the real number changes, the real number in the P&L changes with it.

Per-order fulfilment costs from SpeedFulfill, pulled live via API. (Illustrative figures only)

This is the difference between a profit dashboard that looks accurate and one that is accurate.

How Ozzi Gear operates differently now

  • Ad decisions get made against net profit, not platform ROAS. Campaigns that can't clear their contribution margin threshold get paused or restructured, even when Meta or Google says they're winning.
  • Peak season planning has real numbers behind it. The Christmas fulfilment cost curve is a known quantity now, not a January surprise, and ad spend and promo depth for Q4 are planned with that built in.
  • Regional and SKU-level calls are grounded in contribution margin. Which markets to push harder, which SKUs to bundle and which lines to retire is a numbers conversation.
  • New product decisions run through viability scoring. No new SKU gets stock ordered or ad budget assigned until MerchantFlow's viability calculator confirms the unit economics clear contribution margin at the proposed price point.
  • The monthly spreadsheet is gone. Month-end went from a few days of reconciliation to a quick review, because the dashboard checks itself against the bank balance Peter enters.

Beyond the P&L: three features Peter keeps coming back to

The live P&L is the headline. However, three other MerchantFlow features have also become part of Peter's weekly rhythm at Ozzi Gear.

Live business valuation

MerchantFlow rolls Ozzi Gear's revenue, margin, growth and channel mix into a live valuation figure that refreshes with the underlying data. For a founder running a fast-growing DTC brand, having a defensible view of what the business is actually worth, without paying an accountant for a formal valuation, is genuinely useful. Whether the context is exit planning, a raise conversation, or just a quiet curiosity about what's been built, the number is always one click away.

Bank balance tracking

The reason the monthly spreadsheet existed in the first place was to reconcile what the ad platforms were claiming against what was actually in the bank. MerchantFlow closes that loop inside the product. When Peter updates Ozzi Gear's current bank balance in MerchantFlow, the dashboard checks it against the P&L's predicted profit for the period and surfaces any gap. The last week of every month used to be about hunting down those gaps by hand. Now it's a single view.

Product viability calculator

Before committing stock or ad budget to a new SKU, Peter runs the proposed product through MerchantFlow's viability calculator. The tool benchmarks the new product's expected price point, margin and acquisition cost against category averages drawn from other stores on the platform, and returns a clean read on whether the unit economics are likely to work at launch. It's the kind of check that used to take a weekend of spreadsheet modelling and a lot of educated guessing, now grounded in real data from comparable merchants. For Ozzi Gear, it's become the gate every new product idea passes through before it gets a single dollar of stock or ad spend behind it.

Why this matters for other Shopify merchants

Ozzi Gear's profile is common among scaling DTC brands. Physical goods, multiple shipping regions, duty absorbed into pricing, paid media across Meta and Google, a 3PL partner doing the heavy lifting on fulfilment, and a founder who wants one number they can trust.

On paper, the business looks healthy. In practice, the numbers that matter, real net profit by channel, region and SKU, live across four or five tools and get reconstructed monthly in a spreadsheet that's always two weeks behind the decisions it's supposed to inform.

MerchantFlow exists so merchants with this profile can run their store against a live P&L instead of a best-guess one. Ozzi Gear was the first store we proved it on. The same integration pattern, particularly the SpeedFulfill 3PL API, is now the default starting point for other merchants fulfilling through the same partner.

What's next

MerchantFlow is now available on the Shopify App Store for Shopify merchants who want a clearer view of true net profit, not just revenue or platform ROAS.

During beta, MerchantFlow tracked more than 120,000 orders and AUD $25 million in GMV across the platform, helping merchants move from delayed spreadsheet reporting to a live view of profit after COGS, fulfilment, shipping, payment fees and ads.

Ozzi Gear was the first store we proved the platform on. Now that MerchantFlow is publicly available, the same profit-focused reporting, live P&L view, blended ad spend tracking and SpeedFulfill 3PL cost integration are available to more merchants looking to understand what is actually making money.

More case studies, product deep-dives and lessons from building a profit analytics platform for ecommerce brands will be shared on this blog as we continue growing MerchantFlow.

Install MerchantFlow from the Shopify App Store, or subscribe to follow along!


Ozzi Gear was MerchantFlow's first beta merchant. This case study is published with their permission.