Close
Case study · 05

Unified
Contact Pool

One contact list, three sources kept in sync. Store customers, phone contacts and the CRM are merged by phone number — and kept up to date with each other automatically.

Platform
WordPress · WooCommerce
Sources
Store · Contacts · CRM
Sync
Automatic, every 2 hours
Setup
Standalone · Tailored to your store
The problem
The same customer, three different records.

Order history lived in the store, names in the phone’s contacts, deals in the CRM. None of them agreed, and nobody had the full picture of a customer.

The solution
One phone number, one person.

Every source is merged into a single pool keyed by phone number, then synced back — so each system always shows the same, complete customer.

How it merges

Three sources in. One person out.

Store
Members & customers who ordered
42,900
Phone contacts
The team’s shared address book
47,800
CRM
Contacts and deals
47,700
Unified pool
48,600
people — one row per phone number, synced back to every source.
One complete record

Every field, from the source that knows it best.

Name and email come from the store first, then phone contacts, then the CRM.

The saved contact name comes from phone contacts; CRM link IDs come from the CRM.

Company details, address, province and district, last order date, total sales, campaign message and member ID — all on one row.

A fingerprint of each contact flags only what changed, so syncs stay fast.

FA
Furkan Akman
+90 532 ••• •• 14
In sync
Name
Furkan Akman
Store
Saved as
Furkan – Sizin Ajans
Contacts
Email
Store
Company
Sizin Ajans Ltd. Şti.
Store
Location
Kadıköy / İstanbul
Store
Last order
12 Sep · ₺1.740
Store
Total sales
₺48.320
Store
Campaign
Autumn restock offer
Pool
CRM
Contact #20481 · Deal open
CRM
Automatic sync

Every two hours, five steps, no one has to press a button.

01
→
Build the pool

Store customers and orders, every phone contact and every CRM contact are read. Changed contacts are marked as pending.

02
→
Safety lock

If the CRM returns fewer than half of the linked contacts, the sync stops — an API hiccup can never turn into thousands of duplicates.

03
→
Push to the CRM

Changed and missing contacts are written: existing ones updated, new ones created, custom fields filled in.

04
→
Update deal values

Deals are never opened automatically — only the sales totals of existing deals are refreshed (860 in the last round).

05
↻
Push to phone contacts

Changed contacts are created or updated in batches of up to 300 per round. The saved name is kept; everything else goes into the contact’s custom fields.

Contact List
Live
48,600
Pool
2,140
CRM customers
10,600
Leads
Run manually
Take reference
Build pool
Send changes
Full CRM sync
Send selected
Export CSV
Add CRM customers by region
İstanbul ▾
Kadıköy ▾
Add customers
Control panel

Run any step by hand, whenever you need.

Take a reference, rebuild the pool, send only changes, or run a full CRM sync.

Send selected contacts to the CRM or to phone contacts, or export a CSV for bulk import.

Pick a province and district to open every contact in that region as a CRM customer.

Test mode for each connection, so nothing is written until you switch it to live.

Safe by design
It never deletes a contact. Anywhere.
“Remove all customers” is reversible

Because the CRM doesn’t allow real deletion, the bulk action simply moves every active deal to “Lost”. The contacts themselves stay untouched.

Writes only what it should

Creates and updates contacts in the CRM and phone contacts, refreshes deal values and stages, and opens deals only through the region tool.

Next case study · 06
Cargo Integration
WooCommerce module