How does Frequently Bought Together calculate percentage and fixed amount bundle discounts when markets have adjusted prices?

First of all, it’s important to note that, for security reasons, the percentage discount is enforced as a fixed amount discount calculated from the prices in the shop’s currency. You can read more about it in this article: https://docs.codeblackbelt.com/article/1675-percentage-discount-and-shopify-markets

In Shopify, fixed amount discounts are set in your store’s currency, which means that Frequently Bought Together discounts are always relative to the prices configured for your primary market.

If you have not configured price adjustments for your markets, discount amounts will be calculated correctly in all cases. However, if you have configured price adjustments for your markets (see https://help.shopify.com/en/manual/international/pricing/price-adjustments for more details), there is one specific scenario in which a discrepancy may occur.

Primary market

When the active market is the primary market (i.e., the customer’s country and currency match your store’s), everything works as expected, regardless of whether adjusted prices are set for the primary market or not.

For example:

– Without adjusted prices: the bundle total is $300 USD, and 20% of $300 USD results in a $60 USD discount:

– With a +10% adjustment to product prices: the bundle total is $360 USD, and 20% of $360 USD results in a $72 USD discount:

Secondary market

However, if the active market is a secondary market and you have not set adjusted prices for it, everything works as expected.

For example, the discount amount in the primary market ($60 USD) is converted to €51,53 EUR, which matches 20% of €257,67 EUR = €51,53 EUR:

But if the active market is a secondary market and you have set adjusted prices for it, the discount amount may not be as expected.

For example, with a +10% adjustment to product prices the bundle total is €283,41 EUR. The discount amount in the primary market ($60 USD) is converted to €51.53 EUR, but this does not match 20% of €283,41 EUR = €56,69 EUR:

We recommend keeping prices proportional across all secondary markets to safely offer the discount to all of them. Otherwise, we suggest using a generic discount message such as “Save money buying these products together” instead of “Save 15% buying these products together”.