Shopify Customer Duplication Issue – Same Phone, Multiple Customers (Need Guidance)

Hi everyone,

I’m facing a customer identity issue in Shopify and would love some guidance from people who’ve solved this at scale.

Problem Statement:
In my store, multiple customer records are being created for the same person even when the phone number is identical.

Real Example (from my data):
One customer “Manasa” placed 3 orders, but Shopify created 4 separate customer profiles:

  • Customer 1: Name = Manasa, Phone = +91 70325 42614, No email → Order #1207

  • Customer 2: Name = Manasa, No order (likely created via draft/manual)

  • Customer 3: Name = Manasa Sowmya Mallampalli, Phone = 7032542614, Email present → Order #1434

  • Customer 4: Name = Manasa, Phone = +91 70325 42614, No email → Order #1331

So in reality:
:backhand_index_pointing_right: 1 customer with 3 orders

But in Shopify:
:backhand_index_pointing_right: 4 different customer records
:backhand_index_pointing_right: Orders are split across different customer IDs

Why this is happening (my understanding):

  • Shopify uses email as primary identity

  • If email is missing or different → new customer is created

  • Draft orders and manual orders don’t reliably match existing customers

  • Phone number is not used for identity


What I want to achieve:

  • Treat phone number as the primary customer identity

  • Normalize phone numbers (e.g. +91 format)

  • Ensure:

    • Same phone → same customer (even if name/email changes)
  • Get accurate repeat customer tracking


Constraints:

  • Not on Shopify Plus

  • Cannot customize checkout deeply

  • Using an external assessment tool (Tally), so phone is the most reliable identifier


My questions:

  1. Has anyone implemented phone-based identity in Shopify (non-Plus)?

  2. Is there a reliable way to prevent duplicate customers at creation time?

  3. Any recommended apps / middleware to deduplicate or merge customers?

  4. Best practices when using draft orders to avoid duplicate customers?

  5. How do you handle repeat customer tracking and LTV in this scenario?


Current approach I’m considering:

  • Ignore Shopify customer_id

  • Use normalized phone as customer_key

  • Group orders by phone in analytics layer


Would love to learn how others are solving this in production.

Thanks in advance!

1 Like