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.
Caution
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
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.
Consents
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.