A Shopify bundle is performing well only when it produces a better business result from comparable traffic—not merely a larger order among customers who purchased.
The most useful Shopify bundle metrics do different jobs. Use contribution profit per visitor as the economic outcome. Use visitors, add-to-cart rate, checkout rate, conversion, bundle take rate, units per order, AOV, and revenue per visitor to explain why that outcome moved. Then check returns and displaced full-price sales before you scale the offer.
⚡ ShopSideK Verdict
Plan from: Contribution profit per visitor, supported by funnel and offer-behavior metrics—not AOV alone.
Best for: Merchants deciding whether to scale, diagnose, redesign, hold, or stop a live bundle offer.
Kaching fit: Kaching Bundles & Upsells provides deal- and bar-level analytics for the measurement workflow. Its product-cost profit metric is not automatically a complete contribution result.
Decision path: Confirm exposure → locate the first funnel leak → check bundle uptake and basket value → add complete variable costs → review guardrails → choose one action.
Why AOV cannot judge a bundle by itself
Average order value answers one narrow question: how much product revenue did the average completed order contain?
Shopify defines AOV as gross sales minus discounts, divided by orders. Its AOV report excludes post-order adjustments such as edits and exchanges. More importantly, AOV contains no visitors. A shopper who saw the bundle and left without ordering does not enter the calculation.
That creates three common blind spots:
- Conversion: A larger basket can coincide with fewer completed orders.
- Complete costs: More units can increase product cost, payment fees, pick-and-pack work, packaging, shipping subsidy, and expected return cost.
- Displacement: A discounted bundle can replace full-price purchases that would have happened anyway.
Suppose AOV increases from $50 to $60. That looks positive in isolation. If conversion falls enough, revenue per visitor can decline. Even if revenue per visitor rises, contribution per visitor can still fall when the additional units and discount consume too much value.
AOV belongs in the scorecard. It simply should not own the final decision.
Build a five-layer bundle measurement hierarchy
Treat the metrics as a sequence. Each layer answers a different question.
| Layer | Core metrics | Question answered | Typical action |
|---|---|---|---|
| Exposure | Visitors | Did enough eligible shoppers see the offer? | Fix targeting, placement, or measurement |
| Funnel | Add-to-cart rate, checkout rate, visitor conversion | Where do shoppers stop? | Fix the first broken step |
| Offer behavior | Bundle take rate, units per order | Did shoppers choose the intended quantity or combination? | Revise tiers, pairing, selection, or message |
| Revenue | AOV, revenue per visitor | Did larger baskets create more revenue from the traffic? | Compare value with conversion |
| Economics and guardrails | Contribution profit per visitor, returns, component sales, stockouts, support issues | Did the store retain more value without creating a hidden problem? | Scale, hold, redesign, test, or stop |
This order matters. If exposure is broken, a low bundle conversion rate says little about the offer. If add-to-cart is healthy but checkout collapses, changing the product pairing may address the wrong problem. If every funnel rate improves but contribution per visitor falls, more traffic will scale the loss.
Set the comparison before reading the dashboard
A metric needs four labels before it becomes useful:
- Owner: the exact deal, deal bar, product group, or store segment being measured.
- Denominator: visitors, eligible orders, bundle orders, or all orders.
- Period: a complete and comparable date range.
- Baseline: the previous offer, a control, or a stable prelaunch period.
Do not compare a bundle promoted to paid mobile traffic with a store-wide average dominated by returning desktop customers. Do not combine a two-unit consumable tier with a five-product complementary bundle and expect one average to explain both.
Kaching’s Analytics CSV documentation adds two practical cautions:
- visitors are recorded on the visit day while orders and revenue are recorded on the paid day;
- daily rows use Kaching’s Central European reporting timezone.
For a multi-day review, sum the full-period numerators and denominators, then recalculate each rate. Averaging daily percentages gives a quiet day the same weight as a high-traffic day and can distort the result.
The nine core Shopify bundle metrics
The first eight metrics diagnose performance. The ninth decides whether the economics are acceptable.
| Metric | Calculation or source | What it tells you | What it cannot prove |
|---|---|---|---|
| Visitors | Shoppers who saw the offer | Exposure available to the deal | Offer quality or incrementality |
| Add-to-cart rate | Add-to-cart events ÷ visitors | Whether shoppers begin the purchase action | Why they later abandon |
| Checkout rate | Visitors who reach checkout ÷ visitors | Whether carts progress toward payment | Profitability |
| Visitor conversion | Eligible paid orders ÷ visitors | Purchase completion among exposed traffic | Bundle adoption by itself |
| Bundle take rate | Bundle orders ÷ eligible orders | Share of qualifying orders that use the bundle | Incremental orders |
| Units per order | Units ÷ orders | Whether the offer changes basket quantity | Retained contribution |
| AOV | Revenue ÷ eligible orders | Average product revenue per completed order | Performance from all visitors |
| Revenue per visitor | Revenue ÷ visitors | Combined effect of conversion and order value | Complete costs |
| Contribution profit per visitor | Complete contribution ÷ visitors | Value retained from comparable traffic | Causal lift without a valid test |
Read exposure and funnel metrics together
Visitors are the exposure denominator. In Kaching, visitors are shoppers who saw a deal’s widget on a product page. This is more useful for deal diagnosis than total store sessions because it limits the denominator to people with an opportunity to interact with the offer.
Low visitors can mean the product receives little qualified traffic, the widget is not being displayed as intended, or the offer targets a narrow catalog. None of those conditions proves the bundle itself is weak.
Add-to-cart rate is the first strong signal that shoppers understood enough of the offer to act. If visitors are healthy but ATC rate is weak, inspect:
- product fit;
- quantity or bundle relevance;
- displayed value and savings;
- tier count and default selection;
- variant friction;
- placement and mobile presentation.
Kaching notes that ATC tracking began on March 18, 2026. Older deals can therefore have incomplete historical ATC data even when revenue and order data exist.
Checkout rate separates product-page response from later purchase friction. When ATC is acceptable but checkout progression is weak, test the cart rather than immediately rewriting the bundle:
- Was the intended quantity added?
- Did the discount apply?
- Did a gift or upsell remain available?
- Did another discount create a conflict?
- Was a required variant sold out?
- Did shipping or tax change the value equation?
Visitor conversion closes the exposed-traffic funnel. Kaching’s export defines it as eligible paid orders divided by visitors. This includes qualifying orders whether or not the shopper used the bundle discount, so it measures how the eligible product page converted—not bundle take rate.
Use bundle take rate and UPT to explain shopper behavior
Bundle take rate answers a different question: of the paid orders that qualified for the deal, how many actually used it?
Kaching labels this field bundle_conversion_% in its export and calculates it as bundle orders divided by eligible orders. Calling it bundle take rate in your internal scorecard makes the denominator easier to remember.
A low take rate with healthy visitor conversion can mean shoppers still want the product but not the offered quantity, combination, discount, or presentation. That is not the same problem as a weak product page.
Units per order, or UPT, shows whether the offer changes quantity. It is especially useful for quantity breaks and Buy X Get Y offers. Read it beside take rate:
- higher take rate with flat UPT can indicate shoppers favor a low tier;
- higher UPT with falling conversion can indicate the ladder asks too much of marginal buyers;
- higher UPT with stockouts or fulfillment jumps can create an operational problem despite stronger revenue.
Neither metric tells you whether the extra units were incremental. Some customers may have purchased multiple units at full price without the discount.
Use AOV and revenue per visitor as revenue diagnostics
AOV measures the average completed order. It helps compare basket size across offer periods, deal bars, products, and traffic segments—as long as the order definition is consistent.
Revenue per visitor adds non-buyers back into the picture:
Revenue per visitor = total revenue ÷ visitors
It can also be viewed as conversion rate multiplied by AOV when the definitions use the same orders and visitors.
This makes RPV more useful than AOV when conversion and basket size move in opposite directions. A deeper bundle discount may lower AOV slightly but improve conversion enough to raise RPV. Another offer may produce striking orders while discouraging enough shoppers to lower RPV.
RPV is still a revenue metric. It does not subtract product, payment, fulfillment, shipping, or return costs.
Let contribution profit per visitor own the economic decision
Contribution profit per visitor asks how much value remained after the variable costs included in your model, divided by comparable visitors.
This metric can veto an apparent AOV or RPV win. It should be defined from the costs that genuinely change with the order:
Contribution profit per visitor = (net revenue − product cost − payment fees − pick and pack − packaging − shipping subsidy − matured refund, return, and replacement allowance − other order-variable costs) ÷ visitors
Keep the cost policy stable across the baseline and candidate period. If your business treats another cost as variable for this decision, name and include it. If a cost is unknown, show it as unknown rather than silently treating it as zero.
Do not confuse product-cost profit with complete contribution
Kaching’s current Bundle Analytics documentation lists profit per visitor as total revenue minus cost, divided by visitors. The field requires cost per item on the relevant Shopify products.
That is a useful fast view when product cost is complete and other order-variable costs are small or separately monitored. It is not automatically the complete contribution result described above.
Shopify’s profit-report documentation explains that a reseller’s cost-per-item value is normally the amount paid to the manufacturer, excluding taxes, shipping, and other costs. Shopify also reports profit only when a cost was recorded at the time of sale.
Use a simple ownership table:
| Data | Likely source |
|---|---|
| Visitors, eligible orders, bundle orders, funnel rates, revenue, AOV, RPV, UPT | Kaching Analytics or export |
| Product cost recorded on each variant | Shopify product data |
| Payment fees | Payment or finance report |
| Pick and pack, packaging, shipping subsidy | Fulfillment and shipping records |
| Matured refunds, returns, replacements | Shopify orders plus returns/finance records |
| Component full-price sales | Shopify order or product reports, classified for the offer architecture |
Shopify has dedicated bundle and component reports when a merchant uses the Shopify Bundles app. Do not assume those native reports will automatically classify every quantity-break or bundle-discount order created through another app. Verify how your actual order lines and discounts appear before building the component-sales guardrail.
Worked example: AOV and RPV rise while contribution falls
The following numbers are hypothetical. They illustrate the decision method; they are not a benchmark or a promised result.
| Metric | Comparable baseline | Bundle period |
|---|---|---|
| Visitors | 10,000 | 10,000 |
| Eligible orders | 400 | 380 |
| Visitor conversion | 4.00% | 3.80% |
| Total revenue | $20,000 | $22,800 |
| AOV | $50.00 | $60.00 |
| Revenue per visitor | $2.00 | $2.28 |
| Product cost | $8,000 | $10,400 |
| Payment fees | $740 | $850 |
| Pick/pack and packaging | $1,600 | $1,900 |
| Shipping subsidy | $800 | $1,500 |
| Matured return allowance | $860 | $930 |
| Complete variable costs | $12,000 | $15,580 |
| Contribution profit | $8,000 | $7,220 |
| Contribution profit per visitor | $0.80 | $0.722 |
The bundle period looks stronger in two prominent places:
- AOV increases by 20%.
- Revenue per visitor increases by 14%.
But contribution profit per visitor falls from $0.80 to $0.722, a decrease of 9.75%. The store generates more revenue from the same traffic and retains less contribution after the modeled variable costs.
The correct action is not “scale because AOV is up.” Inspect the discount, tier mix, product cost, fulfillment step, and shipping subsidy. The offer may need a shallower discount, a different breakpoint, a different product set, or a narrower audience.
Use the metric pattern to choose the next action
Do not optimize every metric at once. Find the first broken layer, then change the smallest part likely to affect it.
| Pattern | Likely decision | What to inspect first |
|---|---|---|
| Low visitors; downstream rates unstable | FIX EXPOSURE or HOLD | Product traffic, deal visibility, eligible products, placement, tracking |
| Healthy visitors; weak ATC rate | FIX OFFER | Product relationship, tier quantities, value message, price, selector friction |
| Healthy ATC; weak checkout rate | FIX CART OR CHECKOUT | Added quantity, discount application, inventory, variant state, shipping, conflicts |
| Visitor conversion healthy; bundle take rate weak | REDESIGN BUNDLE | Bundle relevance, first meaningful tier, savings, default selection |
| Bundle take rate and UPT rise; AOV barely moves | REVIEW MIX | Low tier dominates, gift or free unit treatment, discounted product mix |
| AOV rises; RPV falls | DO NOT SCALE YET | Conversion loss versus basket gain |
| RPV rises; contribution per visitor falls | REPRICE OR REDESIGN | Discount depth and complete variable-cost growth |
| Contribution rises; returns are immature | HOLD FOR MATURE DATA | Return window, refund lag, replacements, subscription cancellation |
| Deal metrics improve; full-price component sales fall | TEST INCREMENTALITY | Cannibalization risk and customers who would have bought anyway |
| Funnel and economics improve with no guardrail failure | SCALE GRADUALLY | More eligible traffic while continuing the same scorecard |
These patterns are diagnostic hypotheses, not automatic diagnoses. A low checkout rate does not identify the exact bug. It tells you where to investigate before changing the bundle itself.
Read Kaching analytics without overclaiming
Kaching’s analytics are especially useful when several deals or bars run on different products. The dashboard can compare periods, filter to one deal, rank bundles, and break one deal into its bars. Its export preserves daily deal and A/B-variant rows for spreadsheet analysis.
| Kaching can help answer | Kaching alone cannot prove |
|---|---|
| How many visitors saw the deal? | How many would have purchased without seeing it? |
| Where did ATC, checkout, and conversion change? | The causal reason for the change |
| Which deal or bar produced more orders, revenue, AOV, RPV, or UPT? | Complete contribution when external variable costs are missing |
| What share of eligible orders used the deal? | Whether those orders were incremental |
| How did the selected period compare with another period? | Whether seasonality, traffic mix, price changes, or another campaign caused the difference |
Be careful with added revenue. Kaching’s documentation gives an example where a $10 single item and an $18 two-unit bundle produce $8 of added revenue. That is a defined app reporting and billing metric. It is not proof that the shopper would otherwise have purchased exactly one unit, nor that Kaching caused $8 of incremental business revenue.
Use the label for what it is. Use a controlled test when the decision requires a causal claim.
Run a compact weekly bundle review
You do not need a large dashboard project. One row per deal and one recorded action is enough to start.
- Choose the deal and period. Avoid mixing unrelated offer mechanics or traffic changes.
- Check tracking coverage. Confirm the widget was visible and ATC history exists for the dates.
- Export or record the numerators. Sum visitors, ATCs, eligible orders, bundle orders, and revenue.
- Recalculate the period rates. Do not average daily percentages.
- Add complete variable costs. Join product cost with payment, fulfillment, shipping, and matured return allowances.
- Check guardrails. Review refunds, returns, component sales, stockouts, subscription outcomes, support contacts, and cart errors where relevant.
- Write one decision. Scale, fix exposure, fix the offer, fix checkout, hold, test, or stop.
Keep a change log beside the scorecard. A new price, theme block, traffic source, product scope, shipping threshold, or overlapping promotion can break the comparison even when the date ranges are equal.
If you are choosing a bundle solution and want deal- and bar-level funnel analytics built into the implementation layer, claim 20% OFF Kaching for your first 3 months. Review the cost boundaries above before treating the dashboard’s profit fields as complete contribution.
If you prefer to inspect the listing first, you can view Kaching on the Shopify App Store.
Frequently asked questions
What is the most important Shopify bundle metric?
Contribution profit per comparable visitor is the strongest economic outcome when your cost model is complete. Use visitors, ATC, checkout, conversion, take rate, UPT, AOV, and revenue per visitor to explain why it changed. A controlled experiment may still be required before claiming the bundle caused the lift.
What is a good Shopify bundle conversion rate?
There is no universal rate that makes a bundle good. Compare the same eligible audience with your store’s own baseline or a valid control. Check the denominator: visitor conversion and bundle take rate answer different questions.
What is bundle take rate?
Bundle take rate is the share of eligible paid orders that used the bundle. In Kaching’s export, it is documented as bundle orders divided by eligible orders and labeled bundle conversion.
Is Kaching’s added revenue the same as incremental revenue?
No. Treat it as a Kaching-reported metric based on its documented calculation. It does not prove what the shopper would have purchased without the offer. A valid holdout or A/B test is needed for a causal incremental claim.
Should I use Shopify Analytics or Kaching Analytics?
Use both when they answer different layers. Kaching provides deal-level exposure, funnel, take-rate, revenue, and bar-level diagnostics. Shopify supplies broader order, product, cost, refund, and finance context. Native Shopify bundle reports specifically apply to bundles sold through the Shopify Bundles app.
How often should I review bundle performance?
Review more frequently after launch or a material change, but do not act on unstable daily percentages. Use a complete period that covers the store’s normal business cycle and enough relevant traffic, then wait for returns or subscription outcomes when they can change the decision.
Give every bundle one result and one next action
Keep AOV in the report, but do not let it declare the winner. Start with comparable visitors, locate the first funnel leak, measure how shoppers used the offer, and calculate what the store retained after complete variable costs.
The scorecard has done its job when the next action is specific: expose the offer to more qualified shoppers, simplify it, repair cart behavior, change the economics, wait for mature data, run a controlled test, or stop the offer.


