You can set different Shopify bundle prices by market, but there are two separate settings to control. Shopify Markets supplies the product price, currency, and availability for the shopper’s market. Your bundle app supplies the offer shown on top of those product prices.
Use one bundle deal across several markets only when the same offer logic produces an acceptable result in each one. If you need a different bundle total, discount, product set, message, or contribution target, create a separate deal for that market and test the complete purchase path.
Kaching Bundles & Upsells supports this setup by letting you assign a bundle deal to selected Shopify Markets. Kaching also documents duplicating a deal when another market needs different pricing, content, language, or design. It does not set the underlying product prices in Shopify Markets.
⚡ ShopSideK Verdict
Use one global deal when: The same offer remains clear and economically acceptable after Shopify applies each market's contextual prices.
Use separate market deals when: The intended bundle total, discount, eligible products, message, or contribution floor changes by market.
Kaching fit: Kaching Bundles & Upsells can restrict each deal to selected Shopify Markets. Shopify still controls the underlying market price and currency.
Decision path: Confirm Shopify market prices → approve local offer economics → assign mutually exclusive deal visibility → test product page, cart, and checkout.
Should you use one global bundle deal or separate market deals?
Different currencies do not automatically require different deals. The deciding question is whether each market needs an independently controlled offer.
| Store condition | One deal across markets | Separate market-targeted deals |
|---|---|---|
| Shopify automatically converts the product price and the converted bundle outcome is acceptable | Usually reasonable, after testing | Optional |
| You use fixed product prices or price adjustments that materially change the regular bundle value | Risky without a market review | Usually safer |
| The same percentage discount is acceptable in every market | Often workable | Needed only when economics or messaging differ |
| You want a specific bundle total in each local currency | Poor fit | Recommended |
| Shipping subsidy, fulfillment cost, payment cost, or returns allowance differs materially | Can hide a weak market | Recommended when the safe offer differs |
| Products or variants are unavailable in some markets | Can expose an invalid offer | Recommended, or narrow the global deal’s eligibility |
| Savings copy, language, design, or legal display requirements differ | Limited control | Recommended |
| Your team cannot maintain and retest many deals | Easier to govern | Add only for markets where the difference matters |
A merchant selling the same three-pack in USD, CAD, and GBP does not necessarily need three deals. If Shopify’s converted prices are acceptable, the same percentage incentive is intended, and every market passes the checkout test, one deal can be simpler.
The answer changes when the Canadian offer must land at CA$99, the UK offer needs different savings copy, or higher fulfillment costs make the primary-market discount unsafe. Those are different commercial offers, even if the products are identical.
Separate the three price layers before configuring anything
Most multi-market bundle errors become easier to diagnose when you stop referring to every number as “the bundle price.”
1. Shopify’s contextual product price
This is the regular product or variant price for the shopper’s current market. Shopify’s international pricing system can use automatic currency conversion, manual exchange rates, price adjustments, or fixed prices depending on your setup.
Shopify’s developer guidance for Markets is explicit: do not derive an international market’s price from the base variant price when the contextual value is available. Treat the price loaded for that market as the source of truth.
For your worksheet, record the price you actually observe while viewing the storefront in the target market—not a conversion copied from a general spreadsheet.
2. The configured bundle offer
This is the quantity, discount, custom total, savings message, and deal visibility configured in the bundle app.
Kaching can limit a deal to specific Shopify Markets. Its documentation also describes duplicating a bundle for another market, changing the required price or content, and assigning the duplicate to that market.
That controls which offer the shopper sees. It does not rewrite Shopify’s base product price, select the store’s currency, or decide whether the offer is profitable.
3. The amount the shopper is charged
The product page is not the final proof. The cart can introduce discount interactions, and checkout can apply the shopper’s presentment currency, market eligibility, tax handling, duties, or other store rules.
Shopify recommends testing multiple-currency setups by browsing the storefront, creating test orders, and checking apps that display monetary values. For a bundle, the charged checkout result is the release criterion.
Build a Market Bundle Pricing Worksheet
Create one row for every market that might receive the offer. If a market contains countries with different prices, availability, or commercial rules, split the test rows further.
| Worksheet field | What to enter | Source |
|---|---|---|
| Market and test country | The Shopify Market plus the country or region used for the test | Shopify Markets |
| Presentment currency | Currency displayed to and charged to the shopper | Storefront and checkout |
| Contextual unit price | Product or variant price observed in that market | Live or preview storefront |
| Bundle quantity | Number of units or products required | Approved offer plan |
| Regular basket value | Contextual unit prices for the qualifying basket | Worksheet calculation |
| Proposed bundle total or discount | The offer you plan to configure | Kaching deal |
| Displayed savings | Currency amount and/or percentage the shopper sees | Product page |
| Non-revenue variable costs | COGS, pick and pack, packaging, shipping subsidy, returns allowance, or other applicable costs | Finance and fulfillment records |
| Revenue-linked fees | Payment or platform costs that change with captured revenue | Payment and finance records |
| Approved contribution floor | Minimum retained contribution for this market and quantity | Your existing profit decision |
| Kaching visibility | Exact market or markets assigned to the deal | Kaching deal editor |
| Observed cart and checkout totals | What the shopper will actually pay | Test order |
| Release state | PASS, REVISE, or HOLD | QA result |
Keep every row in one currency while evaluating its local contribution. If your finance team reports in a base currency, record the conversion method and date separately; otherwise a changing exchange rate can make two runs look comparable when they are not.
Use the contribution floor as a gate
The worksheet should not choose a discount simply because the local savings message looks attractive. Use the contribution floor your store has already approved for that product and quantity.
The check is:
Contribution after the bundle offer must be at least the approved contribution floor for that market.
Contribution after the offer is the collected bundle revenue minus the applicable non-revenue variable costs and revenue-linked fees. This is a launch guardrail, not a prediction of conversion or total profit.
Hypothetical example
The values below are illustrative. They are not recommended prices or evidence of expected performance.
| Market | Regular three-unit value | Proposed bundle total | Variable costs and fees | Contribution after offer | Approved floor | Decision |
|---|---|---|---|---|---|---|
| United States | $90.00 | $72.00 | $44.00 | $28.00 | $25.00 | PASS economics |
| Canada | CA$132.00 | CA$99.00 | CA$63.00 | CA$36.00 | CA$34.00 | PASS economics |
| United Kingdom | £78.00 | £59.00 | £40.80 | £18.20 | £20.00 | REVISE |
The UK row should not inherit the US deal merely because both appear to offer a similar percentage reduction. The proposed UK total misses its contribution floor. The merchant could reduce the discount, change the quantity, remove a shipping subsidy, or hold the market offer.
“PASS economics” is still not permission to publish. The deal must also pass visibility, price-display, cart, and checkout QA.
How to configure different bundle prices by market in Kaching
The exact labels below follow Kaching’s current documentation. Recheck the interface before publishing or changing a live campaign because app screens can change.
Step 1: Confirm the markets in Shopify
In Shopify admin, open Settings → Markets. Confirm that every country or region in your worksheet belongs to the intended active market.
Also confirm:
- the market’s currency;
- the contextual prices for the relevant products and variants;
- product availability;
- the country selector or market-routing experience customers will use;
- any market-specific tax, duty, compare-at-price, or theme settings your store relies on.
If the required market does not exist in Shopify, it will not appear in Kaching’s Markets dropdown.
Step 2: Decide whether the existing deal can remain global
Keep one deal only if every assigned market shares the intended:
- quantity and eligible products;
- offer logic;
- displayed savings;
- acceptable contribution result;
- content and design;
- tested cart and checkout outcome.
“The numbers look close” is not a release rule. Record the actual result for each market.
Step 3: Duplicate the deal when a market needs a different offer
Open Kaching Bundles and duplicate the relevant deal. Give the copy an internal name that identifies its market, such as:
- Three-Pack — United States
- Three-Pack — Canada
- Three-Pack — United Kingdom
Change only the values that market requires: price or discount, content, language, design, products, or another supported deal setting. Keeping a stable naming convention makes later audits far easier than opening several deals called “Summer Bundle.”
Step 4: Assign the deal to the intended market
In the bundle editor:
- Find Visibility.
- Open the Markets dropdown.
- Select the market or markets that should see the deal.
- Save the changes.
Use mutually exclusive market assignments when separate deals cover the same products. The Kaching documentation reviewed for this article does not state which deal wins if an All-markets deal overlaps a market-specific deal. Do not assume a priority rule that is not documented.
If you must keep overlapping visibility, confirm the expected behavior with Kaching support and reproduce it in your storefront before launch.
Step 5: Check the live market context
Use Shopify’s market preview where available, then check the customer-facing store. A VPN can help reproduce location-dependent behavior, but it should not be your only control because the shopper may also be routed by a country selector, domain, subfolder, account, or checkout address.
Record the active country, currency, URL context, displayed product price, displayed bundle and selected tier. This makes a failure reproducible instead of leaving your team with “it looked wrong in Europe.”
Run the storefront-to-checkout QA matrix
Test at least one representative product and variant for every market-targeted deal. Expand the matrix when you have multiple product groups, currencies, carts, discount rules, or fulfillment paths.
| Test | Action | Pass condition | Failure decision |
|---|---|---|---|
| 1. Direct market visit | Open the localized URL or Shopify market preview | Correct product price, currency, and bundle deal appear | REVISE routing, market pricing, or visibility |
| 2. Country selector | Switch from the primary market to the target market | Product price and bundle offer update to the intended market | REVISE localization or reload behavior |
| 3. Variant change | Select an eligible and an unavailable or differently priced variant | Price, availability, and bundle state remain consistent | REVISE product/variant eligibility |
| 4. Add bundle to cart | Select the intended tier and add it | Correct products, quantities, currency, and discount appear | HOLD until cart behavior is understood |
| 5. Checkout | Continue with an address in the target market | Checkout retains the expected market, currency, products, and total | HOLD; product-page display is not sufficient |
| 6. Additional discount | Apply a common code or automatic offer that customers may encounter | The approved combination or rejection occurs clearly | REVISE discount settings or messaging |
| 7. Market change with cart | Add in Market A, then change to Market B where your storefront permits it | Cart updates or rejects the offer according to the approved policy without a misleading total | HOLD unresolved transitions |
| 8. Small-screen repeat | Repeat selection, cart, and checkout on a common mobile viewport | Offer remains readable and the selected state and total are clear | REVISE presentation before launch |
Use three release states:
- PASS: Economics, visibility, product availability, displayed savings, cart, and checkout all reconcile.
- REVISE: The intended architecture is sound, but a configuration or message must change and be retested.
- HOLD: The contribution floor fails, a legal question remains unresolved, or an undocumented interaction can change what the shopper pays.
Do not average away a failed market. If four markets pass and one fails checkout, launch the four passed markets and keep the failed market out of the deal until it is resolved.
Common multi-market bundle failures
| Symptom | Likely cause | What to check |
|---|---|---|
| The primary-market deal appears in another country | The deal is still assigned to All markets, market routing is wrong, or visibility overlaps | Shopify market context and every Kaching Markets assignment |
| The product page shows the expected price but checkout changes it | Presentment currency, fixed-amount conversion, address-driven market change, another discount, or app/cart behavior | Checkout market, currency, discount lines, and test address |
| The percentage looks correct but contribution is weak | Local costs or the approved floor differ | Worksheet cost and floor inputs |
| A fixed amount does not stay identical across currencies | Shopify fixed-amount discounts are created in store currency and converted at checkout | Discount type and checkout conversion; do not assume app internals |
| Compare-at price or crossed-out savings disappear | Market display settings, regional price rules, inconsistent compare-at data, theme code, or an unsupported UI surface | Charged total first, then Shopify and Kaching display settings |
| A bundle contains an unavailable product in one market | The market catalog or bundle eligibility differs | Product availability and every bundled variant |
| Changing country leaves stale bundle copy or totals | The page, widget, or cart did not refresh into the new context | Country selector behavior, URL context, cart transition, and app support |
| Staff cannot tell which deal is live where | Weak naming and ownership | Deal name, assigned markets, owner, last QA date, and change log |
Percentage and fixed-amount discounts deserve separate attention. Shopify documents that percentage discounts apply to the customer’s local price, while fixed amounts are created in store currency and converted at checkout. That general Shopify rule does not prove how every Kaching deal type is implemented internally, so verify the exact offer you configure.
For EEA markets, price-reduction and compare-at-price displays can also raise legal requirements. Shopify’s Price Indication Directive guidance is a starting point, not legal advice. Have the person responsible for pricing compliance approve the message before launch.
Where Kaching fits—and where it does not
Kaching is a practical fit when you want to:
- show different quantity-break or bundle offers to selected Shopify Markets;
- duplicate a deal and change its local price, discount, content, language, or design;
- keep market-specific offers within one Shopify store;
- merchandise the offer on the product page while Shopify supplies the market context.
Kaching is not the decision-maker for:
- Shopify’s base product and variant prices;
- market definitions, currencies, exchange-rate policy, catalogs, or product availability;
- duties, taxes, shipping subsidies, or payment economics;
- local price-display law;
- the contribution floor your business can accept;
- undocumented overlap priority or compatibility with every cart, theme, and discount stack.
That division is useful. Shopify owns the market context, your business owns the economics, and Kaching can own the bundle presentation and targeting. The QA matrix connects the three.
If this matches the control you need, claim 20% OFF Kaching for your first 3 months. Use the ShopSideK form on that page to receive the discount code after you confirm the markets, local offer values, and test plan.
FAQs about Shopify bundle pricing by market
Can Shopify show different bundle prices by country?
Yes, but the mechanism depends on the bundle architecture. Shopify Markets can provide different product prices and currencies by market. A compatible bundle app can then target a different offer to selected markets. With Kaching, the documented route is to assign deal visibility by Shopify Market and duplicate the deal when another market needs different values.
Does Kaching change product prices in Shopify Markets?
No. Based on the current documentation, Kaching configures the bundle offer and controls where that deal is visible. Shopify Markets remains responsible for the underlying product price, currency, availability, and other market settings.
Can one Kaching bundle target multiple markets?
Yes. Kaching’s Markets dropdown lets a deal be assigned to selected markets. Use one deal only when those markets genuinely share the intended offer and all of them pass storefront-to-checkout QA.
Is a percentage discount better than a custom bundle total across currencies?
Neither is universally better. A percentage can follow each market’s contextual price more naturally. A custom total gives tighter local merchandising control. Choose from the intended customer price and contribution floor, then verify the exact charged result.
How should I test a multi-market bundle?
Open the store in the intended market context, confirm the product price and bundle, change variants, add the offer to cart, continue to checkout with a matching address, test relevant discount interactions, and repeat a market change and mobile path. Keep the market on HOLD until the displayed and charged values reconcile.
Make the release decision market by market
Start with the market rows, not the app screen. Approve the contextual prices and economics, decide where a global deal is still sufficient, and create separate deals only where the commercial offer actually changes.
Then launch only the markets that pass the complete path. A correct Visibility setting is necessary; a correct checkout is the proof.


