Skip to main content
Here are some basic concepts to know when getting started with the app.

Contact identification

Customer Engagement identifies each contact in its system using a unique GUID (Globally Unique Identifier). This is used as the integration key when a customer’s data is created, updated or deleted. If you are using new customer accounts, you won’t be able to track who has an account or not in Customer Engagement. New customer accounts allow a merchant’s customers to log in using a one-time verification code, meaning they don’t have to memorize passwords. This information is not exposed in the Shopify API.

Contact types

Customer Engagement uses the term “contact type” as a way to group contacts that behave in different ways. This integration uses two contact types to create a solution that works for both Shopify and Customer Engagement.

Read about contacts in Customer Engagement

Contact type “Member”: The contact type “Member” is the primary contact type. A member can enjoy loyalty perks such as points, vouchers and member levels. This should be the goal as these customers receive more benefits and you can collect more data on them. With Shopify New customer accounts, all customers are created as Member, because Shopify no longer exposes who has an account. Contact type “Contact”: The contact type Contact is used for those who are handled differently than members. The most common use case is when a new contact signs up for a newsletter without first having signed up for membership or creating an account online. Shopify will then use contact type Contact for this person’s guest purchases and newsletter registrations — but only on Classic customer accounts. With New customer accounts, everyone is created as Member.

Stores / Markets in Customer Engagement

You can use multiple markets in the Shopify integration with Customer Engagement. Shopify will set the market ID in Customer Engagement based on the configuration that is done in the app. This is configurable by the client.

Consents

Historically the app set a consent flag called hasShopifyAccount in Customer Engagement for customers who had an online account. With Shopify’s New customer accounts, account status is no longer exposed through the Shopify API, so this flag is no longer set.
Do not use hasShopifyAccount to control contact types or segmentation. See New customer accounts for the recommended alternative, which is to define loyalty membership with a consent of your own.

Syncing of customer data

The syncing of customer data currently goes in one direction, from Shopify to Customer Engagement. This means that at checkout and on account creation Shopify will not fetch any customer data from Customer Engagement, but instead use the data that’s already in Shopify’s customer card and then store that information in Customer Engagement. However, Shopify can fetch loyalty data — point balance, member level, promotions and vouchers — for a customer and display it on-site.

Syncing of preference data

Which system is the source of truth for preference data is a configuration choice. Preference changes can be synchronised from Customer Engagement to Shopify via webhooks, and a separate setting can synchronise preference changes from Shopify orders back into Customer Engagement. Decide the direction during onboarding — see Sync of email marketing preferences. At checkout, Shopify never fetches preference data from Customer Engagement. A preference is never downgraded from “true” to “false” by an order. If a customer places an order with the marketing checkbox cleared, the existing “true” in Customer Engagement stands. The only Shopify action that downgrades a preference is the customer changing it themselves on their Shopify account pages, and only when preference sync is enabled.