Skip to main content

Using Rivo with Shopify Markets

How Rivo works with Shopify Markets

James Dohm avatar
Written by James Dohm
Updated over a week ago

This guide explains how Rivo works with Shopify Markets, how to show points and rewards in multiple currencies, and how to set up your currency conversion metaobject for localized checkout experiences.

Overview

Shopify Markets allows you to sell in multiple regions, each with its own currency, domain, and pricing rules.

When enabled, Rivo automatically:

  • Displays market-specific product prices

  • Ensures customers log in and redeem rewards on the correct market domain

  • Shows rewards and minimum order values in the shopper’s local currency at checkout

This helps brands offer a seamless loyalty experience no matter where their customers are shopping.

How Rivo Works with Shopify Markets

When Shopify Markets is active on your store, Rivo connects to Shopify’s contextual pricing API to display accurate local prices.

Product Pricing

  • Rivo automatically pulls market-specific product prices directly from Shopify.

  • All storefront account touchpoints (Popular Products, Earn Points banners, Saved Items, etc.) display the same localized prices customers see in Shopify.

  • Points are earned on the final order value provided by Shopify – Rivo doesn’t apply its own exchange rate.

Points and Rewards

  • Each customer has one loyalty account per Shopify store, regardless of market.
    (Example: a UK customer and a US customer share one account if they shop on the same Shopify store.)

  • Points earned in one market can be redeemed in another, provided all regions are managed under the same Shopify store.

  • Reward values adjust automatically in checkout when using the currency conversion setup described below.

Checkout Rewards

  • Rivo’s checkout extension can show rewards and minimum spends in the local market’s currency.

  • To enable this, you’ll set up a Currency Conversion Metaobject in Shopify and turn on Markets support in Rivo’s admin.

Setting Up Shopify Markets for Rivo

To enable full localization across currencies and markets, follow these steps:

Step 1 – Create a Currency Metaobject in Shopify

  1. In your Shopify Admin, go to:
    Settings → Custom Data → Metaobjects
    or open directly:

    https://admin.shopify.com/store/<your-store-name>/settings/content/metaobjects/
  2. Click Add Definition → Name it Currency.

  3. Add a Money-type field called conversion.

  4. Save the definition.

Step 2 – Add a Currency Conversion Entry

  1. Go back to your new Currency metaobject and click Add Entry.

  2. Add a single entry with:

    • Display name: Currency Conversion

    • Conversion value: 100,000 (use your store currency)

    • Handle: currency-conversion

    • Status: Active

  3. Save the entry.

Why 100,000?
This value is a precision multiplier that Rivo uses to calculate currency conversions accurately. You don’t need to modify it – just make sure it matches your market’s currency (USD, GBP, EUR, etc.).

Your setup should look like this:

  • Display name: Currency Conversion

  • Conversion: $100,000.00 or £100,000.00

  • Handle: currency-conversion

  • Status: Active

Step 3 – Enable Shopify Markets Support in Rivo

Once your metaobject is created in Shopify, contact Rivo Support to enable Shopify Markets checkout support for your account.

This ensures that:

  • Checkout rewards display in the shopper’s local currency

  • Rivo can read conversion data from your Shopify metaobject

After enabling this configuration on our end, your checkout will automatically start using your currency conversion data.

You don’t need to enable anything manually inside Rivo. Our team will confirm once it’s active for your store.

Important: Rivo needs to enable functionality on the backend for this to work. Once you get to this point, please reach out to our team

Step 4 – Test the Integration

  1. Go to your storefront and switch to a non-default market (e.g., UK or EU).

  2. Proceed to checkout and open the Rivo Rewards dropdown.

  3. Check that:

    • Rewards display the correct local symbol (£, €, etc.)

    • Minimum order thresholds adjust automatically

    • Redeem buttons and labels reflect your local market

If everything looks correct, your Shopify Markets setup is complete.

How Currency Conversion Works

When a customer reaches checkout, Rivo detects their market and country through Shopify’s localization data.


It then reads the conversion data from your Currency Conversion metaobject and uses that rate to display reward values and eligibility.

What Rivo Uses the Conversion Data For

  • Show localized reward labels (e.g., “£5 off” instead of “$5 off”)

  • Calculate minimum order values per market

  • Validate reward eligibility before redemption

5. Troubleshooting

Issue

Cause

Fix

Rewards still show $

Missing or incorrect metaobject

Confirm handle is currency-conversion and status is Active

Checkout conversion not applying

Metaobject value misconfigured

Make sure conversion field uses 100,000 and correct currency

Wrong currency for EUR markets

Country detection issue

Ensure Shopify’s IP Geo detection is active

Rewards not redeeming

Settings not enabled

Turn on both “Shopify Markets Metaobject Support” and “Custom Redeem Label” in Rivo

If issues persist, contact Rivo Support and include screenshots of your Shopify Metaobject setup and which Market you’re testing.

Common Questions

Do I need one Metaobject per Market or per Store?
Each Shopify store needs one entry – not per country. If you run separate Shopify stores for each region (e.g., .com and .co.uk), create one per store.

Can I use live exchange rates?
Not yet. You’ll need to update your conversion metaobject manually if exchange rates change.

Does Rivo automatically change points per market?
No. Earning and redemption rules remain the same across all currencies. Only the checkout display changes to match local pricing.

What if I disable Shopify Markets later?
Rivo automatically reverts to using your base store pricing and currency.

Did this answer your question?