Four numbers decide whether to move to a 3PL, which to pick, and whether your quote is good: your true all-in cost per order today (most self-fulfilling brands land at $6 to $12 when they count honestly), your daily volume and peak-to-average ratio, your SKU count and order complexity, and your customer geography. Run those four before you talk to anyone.
- Most brands underprice their own fulfillment because they never count honestly.
- SKU count and order complexity are where cheap pick rates break down.
- Geography drives the single versus multi-node decision and the biggest swing in total cost.
Four numbers decide whether to move to a 3PL, which one to pick, and whether the quote you got is actually good: your true all-in cost per order today (most self-fulfilling brands land between $6 and $12 when they count honestly), your daily order volume and peak-to-average ratio (which determines whether a 3PL can even serve you), your SKU count and order complexity (which is where cheap pick rates break down), and the geographic distribution of your customers (which drives the single vs. multi-node decision and the biggest swing in total cost). Run those four numbers before you talk to anyone. Everything else in this piece is how to use them.
Fulfillment is the part of a DTC brand that nobody wants to think about until it is the only thing they can think about. For the first stretch of a brand's life, you pack orders in a spare room or a small warehouse, and it works. Then a product goes viral, or a holiday hits, or you simply cross a volume line, and the room that used to handle a day's orders is now two days behind. Customers notice before your dashboard does.
I have lived this from both sides. At WIN Brands Group we ran fulfillment across a portfolio of brands at very different stages, and the 3PL decision was one we made, unmade, and remade more than once. The brands that handled it well treated it as a strategic choice with real numbers behind it. The ones that struggled treated it as a vendor search, picked the cheapest quote, and discovered six months later that cheap pick-and-pack with bad accuracy is the most expensive thing you can buy.
This is the framework I wish more operators ran before they signed. When to leave self-fulfillment, the four numbers that actually decide it, how to run a process that gets you honest quotes, the costs that never make it into the proposal, and the migration that sinks brands who stay too long. The brands that get the operational layer right are usually the same ones that make it through the $5M inflection without the wheels coming off.
The whole thing,
explained like
you're new to it.
Before the framework, the plain-English version. A 3PL, a third-party logistics provider, is a company you pay to store your inventory, pack your orders, and hand them to a shipping carrier. You ship them your stock, a customer buys on your Shopify store, the order flows automatically to the 3PL, and they pick it, pack it, and send it out. You stop touching boxes. That is the whole idea. Roughly 37% of ecommerce brands fully outsource fulfillment this way and about 60% outsource at least part of it, inside a global 3PL market worth around $1.3 trillion in 2025 (Precedence Research).
The jargon trips people up more than the concept does. Here are the terms you will hear in every sales call, in language a normal person actually uses.
| Term | What it actually means |
|---|---|
Pick and pack | Someone walks the shelves, grabs the items in an order (the pick), and boxes them up (the pack). Usually the headline fee, often $1.50 to $3.50 per order. |
SKU | Stock keeping unit. One unique product variant. A shirt in three sizes and two colors is six SKUs. |
Receiving | The work of unloading, counting, and shelving your inventory when it arrives. Billed separately from pick and pack. |
Kitting | Assembling several items into one unit ahead of time: a bundle, a gift set, a subscription box. A pre-packed combo. |
Reverse logistics | The formal term for handling returns: inspecting, restocking, or disposing of whatever comes back. |
DIFOT | Delivered in full, on time. The share of orders that ship complete and by the promised cutoff. Your reliability score. |
Cutoff time | The daily deadline. Orders placed before it ship the same day; orders after it wait until tomorrow. |
Node | A single warehouse location. One node means one building; multi-node means inventory split across several to ship faster. |
Zone skipping | Trucking a batch of orders most of the way to their destination region before handing them to the carrier, to cut cost and time. |
3PL vs 4PL | A 3PL does the physical work. A 4PL manages your whole logistics network, often coordinating several 3PLs. Most DTC brands need a 3PL, not a 4PL. |
That is the vocabulary. The rest of this piece is about using it well: when to make the move, how to price it honestly, what to hold the partner to, and how not to get burned on the way in or the way out.
3PL Types You Will Encounter
Not all 3PLs are the same business. The category splits into a few distinct models, and the right one for your brand depends on your order volume, your geographic needs, and how much you want to manage.
Dedicated fulfillment providers (ShipBob, ShipMonk, Whiplash, Fulfillment by Merchants) run shared networks of fulfillment centers and offer Shopify integrations out of the box. They are the right starting point for most DTC brands at $1M to $15M: pre-integrated, transparent pricing tiers, and sized for the ranges where DTC brands are making their first 3PL decision. The tradeoff is that you are one of many clients and peak-season capacity is shared.
Regional 3PLs are smaller independent facilities, usually one or two nodes. They can be cheaper per order and more flexible on terms, particularly for kitting-heavy or higher-touch products. The risk is that smaller operators have more capacity variance in peak periods and less mature Shopify integrations, so you spend more time managing the relationship and the technical connection. The right fit is a brand with specific needs (heavy kitting, hazmat, cold chain, particular geography) that a national network handles poorly.
Fulfillment by Amazon (FBA) deserves a mention because many Shopify brands use it in parallel. FBA's Shopify integration has improved and Multi-Channel Fulfillment lets you fulfill Shopify orders from Amazon inventory. The economics only work at meaningful volume and the loss of brand control in the unboxing is real. It is not the right primary 3PL for most direct-to-consumer brands, but it is a legitimate supplement for brands where Amazon represents a meaningful share of orders.
Self-fulfillment
does not break
on a single day.
It frays. Order accuracy slips first, usually around the time you cross roughly 20 to 25 orders a day, because a person packing by hand makes more mistakes as the pace rises and the SKU count grows. Then your founder or your best early hire is spending three hours a day in the back instead of on the business. Then shipping cutoffs start slipping, a customer who ordered Monday ships Thursday, and the support tickets begin.
The signal is not a number on its own. It is the moment when the time, error, and opportunity cost of doing it yourself exceeds what a 3PL would charge. Most brands hit that crossover earlier than they think, because they only count the per-order cost of packing and ignore the founder hours, the lease on space they have outgrown, the carrier rates they cannot negotiate at low volume, and the revenue they lose to stockouts and late shipments.
One: you are consistently above 20 to 25 orders a day and the line is growing. Two: a founder or a senior hire is spending more than an hour a day in the warehouse. Three: your error and mis-ship rate has crept above 1 to 2 percent. Four: you cannot offer fast, reliable delivery because you ship from a single location and pay retail carrier rates. Five: peak season terrifies you because you know the room cannot absorb it.
If three of these are true, you are past the point where a 3PL is a question of if and into the question of which one and when.
There is a counter-case worth naming. Some brands should keep fulfillment in-house longer than the volume math suggests, because fulfillment is part of the product. If your unboxing is a core part of the brand, if you do heavy custom kitting, or if you are at a price point where a hand-finished package is the experience people pay for, control can be worth the cost. Be honest about whether that is actually you, or whether you are just attached to doing it yourself.
Four numbers.
Run them before
you take a single call.
Most brands evaluate 3PLs by asking for quotes and comparing the pick-and-pack line. That is the wrong starting point. Before you talk to anyone, you should know four numbers about your own business, because they determine which 3PLs can even serve you well and what a good deal looks like.
Number 1: True All-In Cost Per Order Today
Not just the box and the labor. Add the fully loaded cost: packing labor at a real wage, materials, the portion of rent and utilities attributable to fulfillment, software, and the carrier rate you actually pay. Most self-fulfilling brands land somewhere between $6 and $12 all-in per order once they count honestly. That is your benchmark. A 3PL that quotes a $1.50 to $3.50 pick-and-pack rate (the typical industry range) plus postage may or may not beat your number once you add their other fees, which is the entire point of running this calculation first.
Number 2: Daily Order Volume and Its Shape
Average daily orders, plus the peak-to-average ratio. A brand averaging 200 orders a day that spikes to 2,000 on a launch needs a very different partner than a brand with steady flat volume. The shape of your demand is as important as the average, because 3PLs price and staff around predictability. If you are spiky, you need a partner who can flex, and you need to say so up front.
Number 3: SKU Count and Order Complexity
How many SKUs, how many units in an average order, and how much variation. A single-SKU subscription box is cheap and simple to fulfill. A brand with 400 SKUs, frequent bundles, and inserts is expensive and error-prone, and many 3PLs will quietly underperform on it. Complexity is the variable that most often breaks the cheap quote, because the quote was priced for simple orders you do not actually ship.
Number 4: Where Your Customers Are
The geographic distribution of your orders sets your shipping cost and your delivery speed, which is increasingly a conversion lever, not just a cost. Roughly 63% of shoppers now treat two-day delivery as a baseline expectation (Linnworks), so a single distant node is not just a postage penalty, it is a checkout penalty. A brand selling coast to coast from a single East Coast warehouse pays a zone penalty on every West Coast order and cannot promise fast delivery there. Knowing your distribution tells you whether you need one node or several, which is one of the biggest cost drivers in the entire decision.
| Number | What to Measure | What It Decides |
|---|---|---|
All-In Cost / Order |
Labor, materials, allocated rent, software, real carrier rate. Usually $6–$12 self-fulfilled. |
Your benchmark. Without it you cannot tell whether any quote is actually cheaper. |
Daily Volume + Shape |
Average orders/day and peak-to-average ratio across the last 12 months. |
Which 3PLs fit your size, and whether you need a partner built to flex for spikes. |
SKU + Order Complexity |
SKU count, units per order, bundle and insert frequency, variation. |
Whether the cheap quote survives contact with your real orders. Complexity breaks it. |
Customer Geography |
Order distribution by region and your delivery-speed promise. |
Single node vs multi-node. The single biggest swing in total fulfillment cost. |
This is the kind of operational call I work through with DTC operators scaling past $5M. If it's landing, the form takes two minutes.
The quote is only
as honest as the
data you give them.
A 3PL can only quote accurately against the profile you hand them. Send a vague request and you get a vague, optimistic number that falls apart in month two when your real orders arrive. The brands that get clean, comparable quotes send a real profile and ask real questions. Here is what that looks like.
What to Send Them
A full order profile: 12 months of order history with daily volume, peak periods, average units per order, and the order-size distribution. Your SKU list with dimensions and weights. Your packaging and any kitting or insert requirements. Your geographic distribution. Your returns volume and process. Give them the messy reality, not the clean average. A partner who quotes well against your messy reality is the one you want.
The Questions That Separate Good From Cheap
Ask for the full fee schedule, every line, not just pick-and-pack. Ask what their order accuracy and on-time rates actually are, measured, with how they define them. Ask about their cutoff time for same-day shipping and what happens to orders that miss it. Ask how they handle peak, and for references from brands your size who went through a holiday with them. Ask what their onboarding looks like and how long it takes. Ask how their system connects to Shopify and how inventory syncs. The answers, and how readily they give them, tell you more than the headline rate.
"The cheapest pick-and-pack quote in the room is almost never the cheapest cost per order once the real fees and the real error rate show up. Price the whole relationship, not the headline."
How to Compare Apples to Apples
Take each quote and model your actual order profile through it, every fee, against a representative month. The headline pick rate is one input among many. When you build the all-in cost per order for each provider against the same real month, the ranking often flips. The cheap pick rate with high storage minimums and receiving fees loses to the slightly higher pick rate with clean, predictable pricing. This is the single most valuable hour of work in the whole process, and most brands skip it.
The pick rate is
the part they show you.
A 3PL proposal leads with pick-and-pack because it is the number that looks competitive. The margin lives in the fees around it, and a partner who is not forthcoming about those is telling you something. Here are the ones that most often surprise brands after they sign.
Receiving and Inbound
The cost to unload, count, and shelve your inventory when a container or pallet arrives. Priced per unit, per carton, or per hour, and it adds up fast on a big inbound. A brand importing a large order can face a four-figure receiving bill before a single order ships.
Storage and Long-Term Storage Penalties
Monthly storage per pallet or bin, which is fine, plus the long-term storage surcharges that hit slow-moving inventory. If you over-order or a SKU stalls, storage quietly becomes a real line. This is also where fulfillment and your broader tech and ops stack meet: bad inventory planning shows up as a 3PL storage bill.
Account Minimums
Many 3PLs require a monthly minimum spend. If your volume dips, you pay the minimum anyway. For a seasonal brand, a minimum priced around your peak can be brutal in the off-season. Read this term carefully and model it against your slow months, not your good ones.
Kitting, Returns, and Special Handling
Bundles, inserts, gift notes, and custom packaging are usually billed separately, often per touch. Returns processing is its own fee schedule, and reverse logistics in ecommerce commonly runs $8 to $18 per return once you count inspection, restocking, and disposition. Returns are not a rounding error: the National Retail Federation put 2025 US returns at roughly $850 billion (NRF), and ecommerce return rates typically run well above the in-store average, higher still for a promotion-heavy cohort. Surcharges for oversized or hazardous items, peak-season rate increases, and carrier fuel surcharges round out the list. If you have never totalled this line for your own brand, my free calculator shows what a return really costs once shipping, handling, and lost resale value are counted.
The most dangerous proposal is the one with a very low pick-and-pack rate and a long, vague list of "additional fees as applicable." That structure is designed to win the comparison on the one number you are looking at, then make it back on the fees you did not model. It is not necessarily dishonest, but it puts the burden on you to do the math they hoped you would not.
Protect yourself by insisting on the full fee schedule in writing, modeling your real order profile through every line, and asking for a not-to-exceed all-in cost per order for a representative month. A partner confident in their pricing will give you that. A partner who will not is showing you how the relationship will go.
Cheap and wrong
is the most
expensive option.
A 3PL that saves you fifty cents a pick and ships the wrong item to one customer in fifty has cost you far more than it saved. The error shows up as a support ticket, a reship, a refund, a return, and a customer who does not come back. Service level is not a soft factor. It is the difference between a fulfillment partner that protects your brand and one that erodes it. These are the metrics to write into the contract and watch every month.
| Metric | What It Measures | Target |
|---|---|---|
Order Accuracy |
Percentage of orders shipped with the correct items and quantities. |
99.5%+. Below 99% is a brand problem, not a logistics one. |
DIFOT (On-Time) |
Delivered in full, on time. Orders shipped by the promised cutoff. |
98%+. This is the number customers actually feel. |
Same-Day Cutoff Rate |
Share of orders placed before cutoff that ship the same day. |
95%+. Confirm the cutoff time and what misses it. |
Cycle Time |
Hours from order placed to package handed to carrier. |
Under 24 hours for in-stock, standard orders. |
Inventory Accuracy |
Match between system inventory and physical count. |
99%+. Drift here causes oversells and stockouts on your store. |
Write these into the agreement with a reporting cadence, and ask what happens when the partner misses. A serious 3PL will have a credit or remediation structure for sustained misses. One that treats your SLAs as aspirational rather than contractual is telling you where you will rank when something goes wrong during their busiest week.
The geography
question is the
expensive one.
Single warehouse or multiple. This is the decision that moves your shipping cost and your delivery speed the most, and it is the one brands most often get wrong in both directions. Go multi-node too early and you split your inventory, raise your storage and complexity costs, and create forecasting headaches across locations. Stay single-node too long and you pay a zone penalty on a growing share of orders and cannot compete on delivery speed in half the country.
The honest answer is that most brands should start with a single, well-placed node and only add a second when the math justifies it. A single warehouse in a central location can reach a large share of the country in two to three days at a reasonable rate. You add a second node when your order volume to a distant region is high enough that the shipping savings and the speed improvement outweigh the cost of splitting inventory and the operational overhead of managing two locations.
Run the actual numbers before you expand. Take your real order distribution, model the shipping cost and transit time from one node versus two, and weigh the savings against the added storage, the inventory you now have to hold in two places, and the forecasting complexity. For many brands under a few thousand orders a day, a single smart node still wins. The second node is a real lever, but it is a lever you pull with data, not ambition.
Brands stay at a
bad 3PL because
leaving is scary.
Here is the trap that catches more brands than the original selection: once you are with a 3PL, switching is hard, and that difficulty keeps brands at partners they have outgrown or that are actively failing them. Your inventory is physically in someone else's building. Your systems are integrated to their platform. A migration means moving stock, re-integrating, and risking a period where orders could slip. So brands tolerate declining service far longer than they should, because the alternative feels worse.
Plan the switch like the operational project it is. A clean 3PL migration usually takes eight to twelve weeks from decision to fully live. You run the old and new partners in parallel for a stretch, move inventory in waves rather than all at once, test the Shopify integration with real orders before you cut over, and time the whole thing well away from your peak season. The brands that get burned are the ones that try to switch fast, switch during Q4, or switch without a parallel period.
"We changed a 3PL once under deadline pressure, right before peak, and spent the holiday cleaning up mis-ships instead of selling. The lesson was permanent: never migrate fulfillment during your busiest quarter, and never without running both in parallel first."
The deeper lesson is to avoid the trap before you are in it. Choose the partner who fits your trajectory, not just your current volume, so you are not forced into a painful migration the moment you grow. Build the relationship with clear SLAs and a real reporting cadence so problems surface early, while they are fixable, instead of accumulating into a reason to leave. And keep your own data clean and portable, your order history, your SKU master, your integration documentation, so that if you ever do need to move, you are not starting from scratch.
A 3PL is not a vendor you find. It is an operating partner you choose, and the choice shows up in your margin, your delivery speed, and whether your customers come back. Run your own four numbers first. Send a real profile and demand the full fee schedule. Model the all-in cost, not the pick rate. Write the SLAs into the contract. And design the relationship around where you are going, not just where you are, so the next stage of growth does not force a migration you were not ready for.
Do that work up front and fulfillment becomes what it should be: invisible to your customer and predictable to you. Skip it, and it becomes the thing you cannot stop thinking about.
The questions
operators ask most
after reading this.
When should a Shopify brand switch to a 3PL?
How do I know if a 3PL quote is actually good?
Does SKU count really matter that much?
Should I start with one fulfillment node or multiple?
What does a clean Shopify-to-3PL integration actually require?
Getting fulfillment right is one of the quiet decisions that protects margin while you scale. It is core to the DTC brand consulting practice, and the form takes two minutes: start the conversation.
Scaling a consumer brand?
I work with a deliberately small number of DTC operators. I've run brands at this scale myself, from $5M past $100M, fulfillment headaches and all. If you're in that range, the form takes two minutes.
Start a conversation More about Taylor →