Shopify Bundle Profit Margin: Are Your Holiday Bundles Profitable?
Your holiday bundles may be selling well, but what is left after you pack and ship each order? Calculate the real margin with a gift box example and a reusable cost sheet.

Table of contents
- What is Shopify Bundle Profit Margin?
- The Bundle Profit Formula: Every Cost Line and Where to Find It
- If You Use a 3PL
- Build-Your-Own Boxes
- Worked Example: One Holiday Gift Box, Line by Line
- What Changes if the Discount or Shipping Rule Changes?
- What This Example Leaves Out
- How Bundle Structure Changes the Math
- Keep, Reprice, or Retire: A Decision Rule
- Common Mistakes When Calculating Holiday Bundle Profit
- Conclusion
- FAQ
Your Shopify dashboard looks promising a few weeks into the holiday season. Bundle orders are climbing, and average order value is higher than last month. Still, your Shopify bundle profit margin might tell a different story once those gift boxes leave the warehouse. An order worth $54 is not $54 earned.
On the cost side, you paid for products, gift packaging, picking and packing, shipping, and payment fees. Some December gifts may also be refunded in January. Those expenses rarely appear together beside the bundle's selling price. Your supplier invoice explains product costs, but it cannot tell you how much you keep after the box reaches the customer.
Holiday volume multiplies your result per order. A bundle that loses money becomes a bigger problem as sales rise.
The useful measure is contribution margin: discounted sale price minus products, fulfillment, shipping subsidy, payment fees, and expected returns, divided by sale price. Below, you will get a copyable formula, a fully worked holiday gift box example, and a table showing where to find every number before your January review.
Short answer: To calculate Shopify bundle profit margin, start with the discounted bundle sale price. Subtract component costs, packaging, fulfillment labor, the shipping cost you cover, payment fees, and an allowance for expected returns. Divide the remaining contribution by the bundle sale price and multiply by 100. This gives you a fulfillment-level contribution margin, not net profit after advertising and overhead.
TL;DR
A higher average order value does not mean a bundle is more profitable. Measure what remains from each fulfilled order.
Gross margin subtracts product costs. Bundle contribution margin also accounts for packaging, labor, merchant-paid shipping, payment fees, and expected returns.
Use actual order and supplier records to build a seven-line cost sheet; do not rely on retail prices or guesses.
In the hypothetical example below, a gift box has 59.3% gross margin but only 24.5% contribution margin.
Test the cheapest and costliest allowed build-your-own combinations, not just an average box.
Compare each bundle with your own required margin before keeping, changing, or retiring it.
What is Shopify Bundle Profit Margin?
When merchants ask, βAre bundles profitable?β, they often start with gross margin. That is useful, but it tells only part of the story for a physical bundle.
Gross margin compares the revenue from a bundle with the cost of goods sold (COGS), meaning the cost of the products inside it. A $54 bundle with $22 of component cost has $32 gross profit and 59.3% gross margin.
Bundle contribution margin goes further. It measures how much of that sale remains after the additional costs directly associated with preparing, shipping, and servicing that order. In this article, it is a pre-advertising, pre-overhead contribution margin. Label the metric clearly because definitions vary.
Shopify's profit reports calculate product gross margin as net sales minus recorded product cost, divided by net sales. Discounts and refunds affect net sales; product costs must be recorded at sale time. A separate Profit margin by order report includes shipping metrics, but neither report replaces your detailed box costing.
Your BFCM bundle pricing and discount limits establish how much price you can give away. This calculation shows what the box itself costs to fulfill after that price has been set.
The Bundle Profit Formula: Every Cost Line and Where to Find It
To see how to calculate bundle profit for one fulfilled order, use this formula:
Contribution per bundle = Discounted bundle sale price β component COGS β packaging β fulfillment labor β shipping subsidy β payment fees β returns allowance
Bundle contribution margin (%) = Contribution per bundle Γ· discounted bundle sale price Γ 100
Use the product sale price before sales tax as the denominator. Here, customer-paid shipping offsets shipping cost. If your reporting includes that shipping charge in revenue, include it in the denominator too. Do not double-count it.
Cost line | What it includes | Where to find the number |
Sale price after discount | What the customer pays for the bundle's products after applicable discounts, excluding tax | Shopify order details or sales export; use the actual discounted amount |
Component COGS | Supplier or production cost of every item in the box, including a free gift | Supplier invoices, landed-cost records, and product Cost per item fields |
Packaging | Gift box, tissue, protective filler, ribbon, insert card, and outer mailer | Packaging supplier invoices divided by usable units per order |
Fulfillment labor | Minutes picking, assembling, checking, and packing the bundle | Time a few real orders and multiply by your loaded hourly labor cost |
Shipping subsidy | Carrier or label cost less shipping collected from the customer | Purchased label or carrier invoice, compared with the order's shipping charge |
Payment fees | Variable processing percentage plus any applicable per-transaction charge | Actual processor or Shopify Payments payout and fee records |
Returns allowance | Expected net cost of refunded amounts, return shipping, and unsellable items, after any recoverable value | Past holiday returns, refund records, and the costs of items you cannot resell |
Use real transactions, not industry averages. Packaging costing $140 for 40 boxes equals $3.50 per order. Nine minutes of labor at $18 an hour equals $2.70.
Shopify's Shipping labels by order report shows label cost and customer shipping charges per order. It excludes outside labels, return labels, adjustments, and voided labels, and can take up to 24 hours to update. Use carrier invoices for other labels.
Estimate future return losses without deducting refunds already reflected in actual net sales. Replace estimates with actual net losses and recovered inventory once returns are processed.
If You Use a 3PL
If a third-party logistics provider (3PL) packs orders, replace in-house labor with its per-order fee. Include kitting, additional picks, and special packing fees where charged. Allocate storage fees separately if useful, but do not count 3PL packing fees and the in-house labor they replace. Compare normal and peak-week invoices.
Build-Your-Own Boxes
When customers choose their own contents, there may be no single reliable component cost. Model a valid low-cost and high-cost box. Add a historical weighted average if you have the data. Recheck shipping on heavier boxes; a profitable average can hide an expensive combination.
Worked Example: One Holiday Gift Box, Line by Line
Hypothetical example: these are not Shopify benchmarks. Replace every figure with your own costs.
Imagine a holiday gift box with $60 in standalone product value. You offer 10% off, charging $54 with free shipping. The box requires gift wrapping and nine minutes of packing.
Revenue or cost line | Amount |
Regular list value of components | $60.00 |
Bundle sale price after 10% off | $54.00 |
Component COGS | $22.00 |
Gift box and other packaging | $3.50 |
Fulfillment labor: 9 minutes at $18/hour | $2.70 |
Shipping label: customer pays $0 | $8.50 |
Illustrative payment fee: 3% of $54 + $0.30 | $1.92 |
Illustrative returns allowance: 4% of $54 | $2.16 |
Total modeled costs | $40.78 |
Contribution per box | $13.22 |
Contribution margin | 24.5% |
Gross margin based on component COGS only | 59.3% |
Gross margin is ($54 β $22) Γ· $54 Γ 100 = 59.3%, before fulfillment costs.
Packaging, labor, shipping, fees, and expected returns add $18.78. Including component cost, modeled cost is $40.78. Contribution is $54 β $40.78 = $13.22 per box, or about 24.5%.
At 100 orders, the modeled contribution is $1,322 before ads and overhead, not the $3,200 gross profit suggests.
The 3% plus $0.30 fee is a made-up assumption for this example, not an advertised Shopify rate. Use your actual processor charges. The 4% returns allowance is also an assumption, not a return-rate statistic.
What Changes if the Discount or Shipping Rule Changes?
Now change the discount or shipping charge, keeping other costs fixed.
Scenario | Contribution per box | Contribution margin on bundle price |
Original: 10% off and free shipping, sale price $54 | $13.22 | 24.5% |
Deeper discount: 20% off, sale price $48 | $7.64 | 15.9% |
Customer contributes $4 to shipping, bundle price remains $54 | About $17.22 | About 31.9% |
At 20% off, the illustrative payment fee becomes $1.74 and the returns allowance becomes $1.92. Total costs are $40.36, leaving $7.64. A $6 price reduction cuts contribution by $5.58.
With $4 paid toward shipping, the subsidy falls from $8.50 to $4.50. The displayed 31.9% is measured against the $54 product price and ignores any additional processing fee on the shipping payment. Including shipping revenue in the denominator gives a different margin, so stay consistent.
What This Example Leaves Out
This is not net profit. It excludes ad spend per order, software and rent, fixed salaries, taxes, and other overhead. You need enough contribution to cover those costs and still earn the profit you want. Allocate shared shipping appropriately when multiple items use one parcel.
How Bundle Structure Changes the Math
A fixed gift box is the easiest format to cost because you control the contents. Once you know the quantities and supplier prices, component COGS remains predictable until you change the assortment or your costs change. You can test one finished parcel for packing time, dimensions, and shipping charges, then update those inputs when needed.
For build-your-own boxes, suppose customers choose four items costing you either $3 or $9 each. Four low-cost picks total $12 in components; four high-cost picks total $36. At the same sale price, their margins differ substantially. Check the highest-cost allowed selection, including repeated premium items if the rules permit them.
Minimum item rules may protect order value when the offer is priced per selected item, but they do not automatically protect margin on a fixed-price box. You may need a different price tier, separate premium-product pricing, a stricter selection limit, or a change to which products are eligible. Test the weakest valid combination before publishing the offer.
Free-shipping thresholds deserve a similar check. If an extra product pushes a basket above your free-shipping threshold, the merchant may pay for a label that the customer would otherwise help fund. Compare the extra contribution from that product with the lost shipping charge and any increase in packed weight. Recheck whether discounts affect threshold eligibility.
For bundle setup, PushBundle is one possible option for fixed bundles, mix-and-match packs, and guided build-your-own boxes. Its listed features include minimum and maximum quantity limits and bundle discount options, which may help you shape the assortment and order value. Those controls do not calculate your real profit after packaging, fulfillment, fees, and returns. Keep that analysis in your spreadsheet, accounting system, or a dedicated profit tool.
Keep, Reprice, or Retire: A Decision Rule
Positive contribution must still cover acquisition, overhead, and desired profit. That is why the right holiday bundle profit margin is specific to your store, rather than a universal percentage.
Set a contribution floor before reviewing the season. For a single-bundle order, divide your estimated acquisition cost, overhead allocation, and target profit by the bundle sale price:
Required contribution-margin floor (%) = (ad cost per order + overhead allocation per order + desired profit per order) Γ· bundle sale price Γ 100
For example, if those three amounts total $16 on a $54 bundle, you need about 29.6% contribution margin. The hypothetical box at 24.5% does not reach that floor, even though it generates a positive $13.22 before those expenses. Allocate acquisition costs across multi-item orders rather than counting them repeatedly.
Your result | What it means | Next action |
Above your floor, with steady demand | The bundle covers your chosen requirements | Keep it and monitor cost changes |
Near your floor | A small fee or packing change could erase the buffer | Improve packaging, picking time, price, or rules |
Below your floor | The box does not meet your required contribution | Reprice, revise components, or change shipping terms |
Negative contribution | Each similar fulfilled order is expected to lose money before ads | Pause the offer while you investigate; retire it if the economics cannot be fixed |
Review the actual contribution per order alongside returns and demand. High-margin bundles with weak demand may not need more inventory; popular low-margin ones may deserve redesign. A wider Q4 bundle strategy through the January review helps keep that decision connected to inventory, returns, and post-holiday sales instead of treating December revenue as the finish line.
Common Mistakes When Calculating Holiday Bundle Profit
A few spreadsheet errors can make a holiday gift box appear more profitable than it is.
Stopping at gross margin. Product cost does not tell you what remains after the box is delivered. Keep a separate contribution figure.
Using list price for fees. Start with the actual discounted transaction, not the original $60 list value. Include shipping or tax in the fee base when your provider charges on those amounts.
Averaging every custom box together. Expensive picks, larger parcels, and extra packing work can make one configuration unprofitable even if the average looks fine.
Forgetting peak-season supplies and labor. Holiday ribbons, an outer carton, overtime, and extra kitting can change the cost per order. Re-time your process during the rush.
Ignoring returns or counting them twice. Estimate expected net loss before returns happen. Once refunds are reflected in actual sales, replace that estimate rather than deducting it again.
Treating free shipping as free to the store. If the customer pays nothing toward shipping, the full outbound shipping cost belongs in the bundle calculation.
Check each input against a real packed order. Check the costs again when your process changes.
Conclusion
This week, pick your highest-selling holiday box and build a seven-line spreadsheet using the discounted price, component cost, packaging, labor or 3PL fees, shipping subsidy, processing charges, and expected returns. Compare the Shopify bundle profit margin it produces with the contribution floor your business actually needs.
Then test a deeper discount, a heavier customer-selected assortment, and an order that crosses your free-shipping threshold. If one change turns the box unprofitable, make the pricing or fulfillment adjustment while there is still time to influence the season.
In January, replace estimates with actual returns and invoiced costs. You will have a defensible keep, improve, or retire decision based on what each box contributed, not only how many sold.
FAQ
Is there a built-in way in Shopify to see my profit margin after fees and shipping?
How do I account for hidden costs like shipping supplies, packaging, and free gifts?
Does Shopify include shipping label cost in gross profit?
If shipping is built into my prices, how do I split one label across a multi-item order?
How do I track real profit per order beyond Cost per item?
Reviewed for accuracy
This article was reviewed by the PushBundle Technical Support Team, who regularly helps Shopify merchants test bundle setup, product selection rules, bundle pricing, cart behavior, and checkout-related bundle issues.
About the author
Syeda Rehnoma Tanzom
PushBundle Contributor
This article is written by Syeda Rehnoma Tanzom, an SEO content writer with 3+ years of experience specializing in eCommerce content. What makes the work here a little different? A close collaboration with support teams to understand what merchants are actually going through, their frustrations, their questions, and their wins. The goal is simple: write content that speaks to real problems, not just search engines. When not buried in keywords and content briefs, you'll find her nose-deep in a good book, binge-watching true crime documentaries or psychological thrillers, and occasionally switching gears with a feel-good rom-com.


