Skip to main content

Basic concepts

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.

Contact types

Engages 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 more about Engage contacts here.

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. Shopify will use contact type Member for all account holders online.

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.

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. See this section for more details.


If a customer already has a Shopify account, Shopify sets the flag hasShopifyAccount in Engage to “true”.

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

Engage is the source of truth for preference data such as the "Accepts email" and "Accepts sms" flags. At checkout, Shopify will never fetch any preference data from Engage, and Shopify will only send an updated preference to Engage if it has been set to “true”. A customer can never choose to set a preference to "false" during checkout.