Skip to main content

Apply per-currency discounts with Shopify Markets 

In this tutorial, let's use Shopify Markets and Talon.One to apply a discount that depends on the customer's currency.

Let's imagine you want to give customers paying in Argentine Peso (ARS) a 20% discount, and customers paying in all other currencies a 10% discount. You can do this by creating a market in Shopify and a rule in Talon.One that checks the customer's market currency.

Talon.One requirements

Shopify requirements

important
  • Discount effects require network access for Shopify Functions, which is available with Shopify for enterprise. Shopify support must explicitly enable network access for Shopify Functions.
  • Discounts are applied via the Storefront API using the @defer directive. If a store uses the Ajax API to manage the cart, discounts won't be visible until the customer reaches checkout.
  • Discounts are managed in Talon.One and not synchronized to Shopify. They are applied and displayed in the storefront, but won't appear in the Discounts section of the Shopify admin.
  • The Shopify integration only supports case insensitive coupons. In the Application settings, ensure the Case Insensitive, stored in uppercase (recommended) option is selected.
  • You cannot apply multiple coupons offering the same type of discount to the same order. For example, you cannot apply two coupons that both offer shipping discounts to the same order.
  • If you are using both shipping and order/item discounts, ensure your campaign evaluation order is set up so that shipping discounts are evaluated after order/item discounts.

Set up the integration

1

Set up markets in Shopify

Ensure your markets are set up in Shopify. You can use existing markets or create new ones as needed.

  1. In Shopify, open Settings > Markets.
  2. Review or create markets with the currencies you want to target. For this example, ensure you have a market that uses the Argentine Peso (ARS $) currency.
2

Create rules in Talon.One

Let's create two rules in Talon.One that apply a discount depending on the customer's currency.

The currency is stored as a three-letter currency code, so we check for ARS to apply the discount for Argentine Peso.

  1. Create a rule that applies a 20% discount to customers paying in Argentine Peso:

    WhatNameProperties
    ConditionsCheck attribute value
      shopify currency (Current Session) is equal to ARS
    EffectsDiscount session total
    • Discount name: ARS discount
    • Discount value: [Session.Total] * 20%
  2. Create another rule that applies a 10% discount to customers paying in all other currencies:

    WhatNameProperties
    ConditionsCheck attribute value
      shopify currency (Current Session) is not equal to ARS
    EffectsDiscount session total
    • Discount name: Other currencies discount
    • Discount value: [Session.Total] * 10%
  3. Save the rules.

  4. Activate the campaign.

3

Test the integration

  1. In Shopify, add a product to your cart and proceed to checkout.
  2. Set your checkout address to a market that uses Argentine Peso (ARS) currency.
  3. Verify that the 20% discount is applied to your order.
  4. Repeat the checkout with an address in a market that uses a different currency and verify that the 10% discount is applied instead.