Preventing Duplicate Customer Records

How to prevent duplicates and correctly link when existing store members register online

duplicate preventionexisting customersidentity resolutionmatching
4 min read

About This Article

Sometimes customers who register online are actually existing store members. In this case, we need to avoid duplicate registration and link to existing customer information.

Why Duplicates Occur

Typical Scenarios

Store member registers online
PastCreated membership card at store (POS member #: 00001)
TodayRegisters online with same email
ProblemSame person but registered as different member?
Online member visits store
PastRegistered online (Shopify ID: 12345)
TodayAsked to register at store
ProblemRegister as new POS member? Points split?

Problems Caused by Duplicates

Split points
ImpactPoints accumulate separately online and in-store
Fragmented purchase history
ImpactCannot analyze same person's purchase trends
Customer support confusion
ImpactNeed to ask 'Which member number?'
Reduced marketing efficiency
ImpactSending duplicate DMs to same person

Duplicate Detection Logic

Matching by Email Address

This project uses email address as the primary key for duplicate detection.

Receive registration request

Customer submits online membership registration form

Check existing in POS

Search POS customer database with entered email address

Branch based on result

Different processing for existing customer found vs. not found

Integrate or create new

If exists -> Update member number to link, If not -> Register as completely new

Existing Customer Check Flow

Check existing customers by email
Receive online registration request

Email address: yamada@example.com

Search email in POS

Found -> Get existing POS customer ID / Not found -> Create completely new POS customer

Update member number with Shopify ID

Now POS customer can be identified by Shopify ID

Why Match by Email Address

Comparison of Matching Keys

Email address
UniquenessHigh
Change FrequencyLow
Ease of AcquisitionEasy
AdoptionAdopted
Phone number
UniquenessModerate
Change FrequencyModerate
Ease of AcquisitionEasy
AdoptionSub-key
Name
UniquenessLow
Change FrequencyLow
Ease of AcquisitionEasy
AdoptionSupplementary only
Address
UniquenessModerate
Change FrequencyHigh
Ease of AcquisitionEasy
AdoptionSupplementary only

Advantages of Email Address

  • Required in both systems: Both Shopify and POS have email addresses
  • Low duplication: Rare for same email to be used by multiple people
  • Low change frequency: Changes less often than phone numbers
  • Fast searching: Easy to index

Existing Member Update Process

What Gets Updated

When an existing POS member is found, the member number is overwritten.

Only the member number is updated; other information and point balance are preserved.

Why Only Update Member Number

  • Preserve points: Don't lose existing point balance
  • Preserve purchase history: Past purchase history remains intact
  • Establish link: Can now search by Shopify ID

Edge Cases to Consider

Edge Cases and Solutions

Customer changed email
ProblemRegisters online with different email than store registration -> Treated as different person
SolutionStore staff updates email in POS, or customer reports email change to store
Family using same email
ProblemHusband registered at store, wife registers online -> Considered same person and linked
SolutionShow 'This email is already registered' and encourage registration with different email
Multiple POS customers with same email
ProblemData entry errors caused duplicates -> Cannot determine which to link
SolutionLink to first found customer, log warning, admin reviews and merges later

Benefits of This System

For Customers

  • Points earned at store can be viewed online
  • No need to re-enter member information
  • Recognized as "the same person" across all channels

For Operations

  • No confusion from duplicate data
  • Can see complete customer picture (online + store)
  • Reduced complaint handling effort

Related Topics