Skip to main content
A typical journey of a user visiting a Shopify store transitions from an anonymous visitor to a known user and finally to a registered customer. This article describes how users transition through these stages, how their actions reflect in MoEngage user profiles, and the steps to take when duplicate profiles appear.

Shopify User Tracking

A user visiting your store is tracked by two primary sources:
  • MoEngage Web SDK: Integrated with your store as part of the initial setup.
  • Webhooks: Real-time event notifications sent directly from Shopify to MoEngage after the integration is complete.
User tracking flow diagram showing SDK and Webhook sources
InformationWhen both sources track the same event, use the webhook version for segmentation and campaign creation. Webhook events are received directly from Shopify and provide the most reliable signal for campaign logic

User Profile Attribute Capture

Profile attributes such as first name, last name, and Shopify ID are tracked when a user creates an account. For anonymous users, these attributes are collected during checkout along with the checkout updated event. MoEngage also keeps user profiles up to date as customers are created and updated in Shopify. For more information, refer to Profile Sync. Email addresses and mobile numbers are captured when a user submits an on-site messaging form, logs in, registers, or provides contact details during checkout. MoEngage uses the user identifiers you selected during integration, such as Shopify ID, email, and mobile number, to recognize and merge profiles.
User identifiers are locked after setupAfter you save the configuration, you cannot change your user identifiers. To change them later, contact the MoEngage support team. Profile merges cannot be reversed.

Profile Merge

Profile merge occurs when MoEngage finds two profiles with the same value for one of your user identifiers. This process ensures user activity remains under a single profile when a customer visits from a new device. In Shopify integrations, MoEngage uses the Cart token as a common identifier to merge SDK and Webhook events. This token is generated when the first item is added to a cart and refreshed each time the cart is emptied. Profile merge logic diagram using Shopify Cart Token

Duplicate Profile Information

You might notice more user profiles in MoEngage than visitors reported in Shopify analytics. To troubleshoot profile count discrepancies, review the following scenarios:
  • Buy Now Button usage: If your site allows checkout without adding a product to the cart, SDK and webhook events cannot merge, which creates extra profiles.
  • Missing identifier at checkout: If a user places an order from a new device without entering any of your user identifiers, MoEngage creates a separate profile that cannot be merged automatically.
To prevent these tracking discrepancies from creating persistent duplicate records, you can implement MoEngage’s Identity Resolution to automatically reconcile and link user profiles.

Identity Resolution

Identity Resolution is a MoEngage feature that links user profiles from multiple sources into a single unified profile. It allows MoEngage to recognize a user by more than one identifier, such as Shopify ID, email, and mobile number. When you save the configuration of the MoEngage app for the first time, MoEngage sets up Identity Resolution for your workspace with the user identifiers you selected. For more information, refer to Configuration Settings.
Profile merges are irreversibleAfter two profiles merge, they cannot be unmerged. Review your identifier selection carefully before you save the configuration.

Identity Resolution for Existing Stores

If your store was integrated before multiple identifiers were available and your workspace does not have Identity Resolution, perform the following steps:
  1. Contact your Customer Success Manager to request enablement for your workspace.
  2. After enabled, go to Settings > Data > Identity Resolution in your MoEngage dashboard to configure identifiers and merge rules.
When you activate Identity Resolution, a one-time merge runs on all existing duplicate profiles based on your configured identifiers. Existing users merge over 48 hours, while new users merge immediately. For more information on configuration steps, refer to the Unified Identity (Identity Resolution).

Shopify Customer Merge

When you merge two customers in Shopify, Shopify keeps one customer and deletes the other. During the merge, you choose which customer’s email address and mobile number the kept customer retains. MoEngage merges the two matching user profiles only if the kept customer retains the email address or mobile number of the deleted customer. The profiles merge the next time the kept customer is updated in Shopify. For example, you merge customer A into customer B in Shopify and keep customer A’s email address. The next update to customer B carries customer A’s email address, so MoEngage merges the profiles of customer A and customer B. If the kept customer retains their own email address and mobile number, MoEngage does not merge the profiles, and the deleted customer’s profile remains in MoEngage as a separate profile. Profile merges in MoEngage cannot be reversed.

Webhook Profile Resolution Logic

MoEngage creates a new profile for a webhook event or a profile sync update only when the system cannot resolve it to an existing user. This ensures that every event and profile update is captured and that campaigns depending on those events trigger correctly. For example, a customer who creates an account or signs up for a newsletter in your store gets a MoEngage user profile even before they place an order.