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

Contact identification

Engage 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 Engage. 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

Engage 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 Engage.

Read about contacts in Engage

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 Engage

You can use multiple markets in the Engage-Shopify integration. Shopify will set the market ID in Engage 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 Engage 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 Engage. This means that at checkout and on account creation Shopify will not fetch any customer data from Engage, but instead use the data that’s already in Shopify’s customer card and then store that information in Engage. 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 Engage to Shopify via webhooks, and a separate setting can synchronise preference changes from Shopify orders back into Engage. Decide the direction during onboarding — see Sync of email marketing preferences. At checkout, Shopify never fetches preference data from Engage. 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 Engage 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.