Article sections

    You can now track transactions in multiple currencies with our updated Sale Goal feature! This enhancement ensures that all reported sale values are consistent and converted into your website’s base currency — simplifying reporting and increasing accuracy across international markets.

    With multi-currency support, Omniconvert automatically converts sale values submitted in different currencies to your website’s base currency. This ensures that your revenue data is unified, regardless of the currency the customer used at checkout.

    Base Currency

    When adding a new website to your account, you will also be able to select what the Base currency will be.

    This will also decide what currency will be shown when looking at an experiment report for the specific website.

    If no base currency is selected when the website is first added, it will default to USD.

    If you decide to later change your base currency, you will see that this action cannot be done via the platform, so you will have to contact our support team.

    You can easily contact us via the chat widget on the bottom right corner of the screen.

    How to use Multi-currency Support

    For non-Shopify Stores

    If you want to take advantage of the multi-currency conversion feature, you’ll need to update your Sale Goal tracking code to include the currency parameter.

    Regular Sale Goal snippet:

    _mktz.push([‘_Goal’, ‘sale’, ‘VALUE‘, {transaction: ‘ID‘}]);

    Sale Goal snippet with the currency converter:

    _mktz.push([‘_Goal’, ‘sale’, ‘VALUE‘, {transaction: ‘ID‘, ‘currency’: ‘EUR‘}]);

    If the currency parameter is not provided, the system assumes the value is in the website’s base currency, and no conversion will take place.

    Examples

    Here are a few examples with Sale Goal tracking with multi-currency.

    Example 1. Converts 1159 EUR to the website’s base currency

    _mktz.push([‘_Goal’, ‘sale’, 1159, { ‘skus’: [‘a’, ‘b’], ‘currency’: ‘EUR’ }]);

    Example 2. Converts 701 EUR, without specifying SKUs

    _mktz.push([‘_Goal’, ‘sale’, 701, { ‘currency’: ‘EUR’ }]);

    Example 3. No conversions – assumes 702 is already in the base currency

    _mktz.push([‘_Goal’, ‘sale’, 702]);

    For non-Shopify Stores

    Since the Sale Goal on Shopify requires a custom pixel, the code for the pixel will be slightly different if we want it to include multi-currency support.

    Use this code and paste it into your pixel and replace USD with your Base Currency and HERE_ADD_TRACKING_ID with your website’s unique identifier from the Explore Dashboard.

    /* Omniconvert - Tracking script and Sale Goal integration for the Thank You page */
    const push = function (event, tries) {
        if (tries === 0) {return;}
        const currencyCode = event.data?.checkout?.totalPrice?.currencyCode || "USD";
        try {
            const transactionData = { transaction: event.data?.checkout?.order?.id, skus: event.omniSkus, currency: currencyCode};
            _mktz.push(['_Goal', 'sale', event.data?.checkout?.totalPrice?.amount, transactionData]);
        } catch (e) {
            setTimeout(push, 500, [event, tries - 1]);
        }
    };
    analytics.subscribe("checkout_completed", (event) => {
        window._mktz=window._mktz||[];
        const omniTrackingId = 'HERE_ADD_TRACKING_ID';
        const mktzScript = document.createElement('script');
        mktzScript.setAttribute('src', `https://cdn.omniconvert.com/js/${omniTrackingId}.js?pixelMode=1`);
        document.head.appendChild(mktzScript);
        event.omniSkus = event?.data?.checkout?.lineItems?.map(item => item.variant?.sku).filter(sku => sku) || [];
        push(event, 20);
    });

    For the tracking code, make sure to keep the quotation marks, for example:

    const omniTrackingId = ‘q7ce854’;

    Make sure the currency matches your Base Currency in your Explore account.

    Was this post helpful?