Skip to main content

Shopify Markets with Brevo PushOwl: Implementation & Features

Nayan Kulshreshtha avatar
Written by Nayan Kulshreshtha
Updated today

If you don't already have Shopify Market's sync enabled on your Brevo account, reachout to Support.

Expanding your Shopify store into international markets requires a robust localisation strategy. By integrating Shopify Markets with Brevo, you can deliver highly personalised, localised experiences to your customers through data-driven segmentation, reporting, and automation.

Localised campaigns can be sent with static data to segments created by locale and country combinations.

This guide covers everything from activation to advanced localised campaign strategies.

1. Advanced Segmentation

Localisation starts with knowing where your customers are and how they shop. You can now create segments based on static locale and country combinations, as well as transaction history:

  • Currency-Based: Segment contacts by the specific currency they used for their orders.

  • Spend-Based: Segment by total purchase amount within a specific currency (e.g., "Customers who spent >€500").

  • Locale & Geography: Target contacts by specific locale codes (e.g., en-CA, fr-FR) or by country.


2. Order Analytics & Reporting

Reports can be filtered based on the Market’s identifiers such as currency, local, or handle.

With Markets enabled, your reports become significantly more granular. You can filter order data using Market identifiers to understand regional performance:

  • Currency: Filter by the transaction currency.



  • Language (Locale): Analyse performance based on the customer's language setting.


  • Market Handle: Use specific market handles to isolate data for regional teams or strategies.


3. Localised Automations & Events

Both BE and FE events now sync market data in all “Custom Track Events” to Brevo.

Both Backend (BE) and Frontend (FE) "Custom Track Events" now sync Markets data directly to Brevo, allowing for dynamic content in your email templates.

Storefront (Frontend) Events

Capture what the customer sees in real-time. This is ideal for Abandoned Cart workflows.

Use these attributes in your templates:

  • {{ item.name }}: The translated product name is exactly as the customer viewed it.

  • {{ item.price }}: The price displayed to the customer in their local market.

  • {{ currency }} or {{ market_context.presentment_currency }}: The currency used during the browsing session.

4. Order (Backend) Events

Triggered upon purchase, these attributes ensure your post-purchase communication is perfectly localised:

  • {{ item.localized_name }}: Translated product name based on order country and language.

  • {{ item.contextual_price }}: The price of the product in the specific country of purchase.

  • {{ item.contextual_currency }}: The local currency code.

  • {{ presentment_currency }}: The final order currency.

  • {{ item.localized_variant_name }}: The translated variant name (e.g., "Rouge" vs "Red").

  • Order completed event based automation showing localized product details

5. Known Limitations & Considerations

To ensure a smooth implementation, keep the following technical constraints in mind:

Category

Limitation

Historical Data

Segmentation and reporting will not work for historical data if the historical sync was disabled for the merchant.

Revenue Reporting

While orders can be filtered by locale/currency, total revenue metrics in Brevo will still display in the default currency.

Exchange Rates

Brevo does not fetch real-time exchange rates. Because Shopify rates fluctuate, localised product prices stored in Brevo may become outdated over time.

Market Hierarchy

Brevo cannot fetch child-parent market relationships. This may cause issues if a "child market" inherits settings from a non-default parent market.

Categories

Market data is not hydrated in Brevo categories; therefore, category names remain non-localised.

Headless Stores

Localised currency codes are currently unavailable in the checkout_started event

Did this answer your question?