For the complete documentation index, see llms.txt. This page is also available as Markdown.

Klaviyo

Integration of Orbe with Klaviyo

Klaviyo is a marketing automation platform that enables merchants to create personalized email and SMS campaigns based on customer behavior and data.

When connected with Orbe, it allows you to send each customer’s country and language preferences directly to their Klaviyo profile, helping you localize your communication and build more relevant marketing experiences for every market.

Want to see how it works? Watch our short video on YouTube to learn more about Klaviyo and how to make the most of it with Orbe.

How to active the integration with Klaviyo?

Here’s a quick step-by-step recap of the Klaviyo ↔ Orbe integration shown in the video.

1

Install both apps: make sure the Klaviyo: Email Marketing & SMS app and the Orbe app are installed in your Shopify store.

2

Activate the embeds: open your Theme Editor and, under the App embeds tab, activate both the Klaviyo Onsite JavaScript Integration and the Orbe Geolocation Popup embeds.

3

Enable the integration: once both embeds are active, go back to the Orbe app, open the Integrations tab, and enable the integration with Klaviyo (available for paid plans only).

4

Test the connection: you’re all set. Run a quick test to make sure everything’s working smoothly.

How the integration with Orbe works

Orbe connects with Klaviyo through JavaScript and sends each customer’s country and language preferences whenever Klaviyo identifies a visitor on your storefront.

With Klaviyo’s current integration model, user identification now happens only in specific cases, such as when a visitor arrives through a Klaviyo email (with UTM parameters) or when they are logged in to their account.

When Klaviyo identifies a session, Orbe automatically transmits the visitor’s country and language data and links it to the corresponding Klaviyo profile. If the visitor isn’t yet identified, the session remains anonymous until Klaviyo provides an identity, at which point Orbe syncs the preferences immediately.

For example, when a customer clicks a link in an email and lands in your store, the Orbe modal opens in their browser, allowing them to select their preferred country and language. Since their email is already registered, Orbe records these preferences and sends them to Klaviyo, ensuring that all shared data is accurate, compliant, and tied to verified user identities.

You can view the recorded data in the Profiles section of the Audience.

To increase the number of identified users, configure Orbe to show the popup on every first visit and avoid including a close (“X”) button. This helps capture more user interactions and ensures preferences are stored and ready to sync once Klaviyo recognizes the visitor.

Limitations

Due to Klaviyo’s new Shopify Web Pixel (Sandbox) system, user identification on the storefront now happens less frequently. Orbe continues to send data correctly, but only when Klaviyo identifies the visitor. This means that anonymous sessions cannot be linked to an email address until Klaviyo provides the identification event.

Additionally, Orbe does not create customer metafields in Shopify: those belong to Klaviyo. Orbe only sends the country and language properties, while Klaviyo decides when and how to store them in each profile.

Why do you need this functionality?

If you send campaigns to customers in many countries, you do not need to build a different product URL for every country. Add the country parameter to your Klaviyo links so each visitor lands in the right country experience from the first click.

Use the country parameter

Use ?country=XX, where XX is the country code the storefront should load:

When a customer clicks a link with this parameter:

  • Country experience: the storefront loads the right country directly.

  • Visitor preference: Orbe saves that country for the visitor.

  • Popup behavior: the geolocation popup does not need to appear in that flow.

If your URL already includes another parameter, use &country= instead of ?country=.

Build it dynamically in Klaviyo

In Klaviyo, use an if condition to add the country stored by Orbe. If that property is not available, fall back to Klaviyo's $locale_country property. If neither property is available, do not add the country parameter.

Use Country (Orbe) first: it is already prepared for this parameter. $locale_country is also a valid fallback when available. If you use another Klaviyo property, make sure it uses the same country code format.

FAQs

Why don’t I see the Orbe properties in Klaviyo?

This usually means Klaviyo didn’t identify the visitor during their session. Orbe sends country and language preferences only when Klaviyo’s isIdentified function is active. If Klaviyo doesn’t recognize the user (for example, they browse anonymously without being logged in or without coming from a tracked Klaviyo email), the data can’t be associated with their profile.

In which situations does Klaviyo identify users?

Klaviyo now identifies visitors only in specific cases:

  • When they click a link from a Klaviyo email (with UTM parameters);

  • When they are logged into their customer account;

  • When Klaviyo explicitly identifies them in the frontend using klaviyo.identify;

If none of these conditions occur, Klaviyo won’t link the session to a known email address, and Orbe can’t send the properties.

Can Orbe associate anonymous visitors with emails?

No. For privacy and GDPR compliance, Orbe never stores or links user emails. The identification is entirely handled by Klaviyo. Once Klaviyo recognizes a user, Orbe automatically sends their country and language preferences.

Does Orbe create customer metafields in Shopify?

No. Orbe sends country and language properties to Klaviyo, where they appear as Country (Orbe) and Language (Orbe) in the user’s profile.

Klaviyo can then sync those custom profile properties back to Shopify as customer metafields if you enable it in Klaviyo’s Shopify integration settings. In Klaviyo, go to the To Shopify sync settings, enable profile and custom property sync, and select the Orbe properties you want to send to Shopify.

When this sync is enabled, Klaviyo creates the metafield definitions in Shopify and updates the corresponding customer values. This is managed by Klaviyo, not by Orbe. You can learn more in Klaviyo’s Shopify sync documentation.

Why do some users have Orbe properties while others don’t?

This depends entirely on whether Klaviyo identified those users. If the user visited your store anonymously or never interacted with the Orbe popup or selector, no preferences can be sent.

To increase the number of identified profiles, configure Orbe to show the popup on the first visit for all users, and avoid adding a close (“X”) button so visitors are encouraged to interact and confirm their preferences.

Last updated

Was this helpful?