Doppelte Kontakte über mehrere Integrationen vermeiden

Doppelte Kontakte kommen fast immer aus einer Sache: Zwei Integrationen schreiben mit unterschiedlichen Matching-Schlüsseln in deine E-Mail-Plattform. Dein Shop synchronisiert einen Kunden per E-Mail. Eine Bewertungs-App oder ein Helpdesk synchronisiert dieselbe Person per Telefonnummer oder per interner Kunden-ID. Die Plattform kann nicht erkennen, dass es derselbe Mensch ist, also legt sie einen zweiten Datensatz an. Die Lösung ist, sich auf ein Identitätsfeld festzulegen – für die meisten Shops eine kleingeschriebene E-Mail-Adresse –, jede Quelle dazu zu bringen, es zu senden, und die Merge-Regeln deiner Plattform einzuschalten. Auf dieser Seite geht es speziell darum, Dubletten zu stoppen und zu bereinigen, die entstehen, wenn mehrere Tools dieselbe Liste speisen. Wenn dein Problem breiter ist – Felder sauber zwischen Systemen zu bewegen –, ist das eine andere Aufgabe, und ich verweise dich unten darauf.

Woran du erkennst, dass du dieses Problem wirklich hast

Du brauchst kein Daten-Audit, um es zu erkennen. Ein paar Anzeichen, von denen jedes einzelne Grund genug zum Nachsehen ist:

  • Deine Kontaktanzahl ist merklich höher als die Zahl echter Kunden und Abonnenten, von denen du weißt.
  • Ein Kunde antwortet, dass er dieselbe Warenkorbabbruch-Mail zweimal bekommen hat, leicht unterschiedlich.
  • Ein Segment, das eng sein sollte – “in den letzten 30 Tagen gekauft” –, liefert Leute, die eindeutig nicht gekauft haben, oder übersieht welche, die es getan haben.
  • Deine Plattform rechnet pro Kontakt oder pro E-Mail-Volumen ab, und die Zahl ist gestiegen, ohne einen entsprechenden Sprung bei den Anmeldungen.

Zieh dir einen bekannten Kunden heraus – einen Freund, deine eigene Testbestellung, einen Stammkunden, den du wiedererkennst – und such nach seiner E-Mail und seinem Namen in deiner E-Mail-Plattform. Kommen zwei Datensätze zurück, hast du Dubletten. Die Frage ist nur, wie viele.

Warum die üblichen Lösungen nicht halten

Der erste Instinkt ist, die beiden Datensätze von Hand zusammenzuführen und weiterzumachen. Das funktioniert für genau eine Person und ändert nichts an der Ursache. Morgen schreiben dieselben zwei Integrationen dieselben zwei Schlüssel, und du stehst wieder am Anfang.

Der zweite Instinkt ist, eine der Integrationen abzuschalten. Manchmal ist das richtig – wenn ein Tool Daten dupliziert, die ein anderes Tool bereits sendet, brauchst du es vielleicht gar nicht zum Synchronisieren von Kontakten. Aber meist ist jede Integration aus einem Grund da. Dein Helpdesk braucht den Kontakt, damit die Supporthistorie zusammenpasst. Dein Bewertungs-Tool braucht ihn, um Bewertungsanfragen zu senden. Killst du die Synchronisation, zerstörst du etwas, das du wolltest.

Die eigentliche Ursache sitzt unter beidem: Es gibt keine einzige, einvernehmliche Antwort auf die Frage “Welches Feld identifiziert eine Person?” Solange du das nicht festlegst, ist jede Bereinigung nur vorübergehend.

Wo dich das still Geld kostet

Der offensichtliche Preis ist die Rechnung. Wenn du in einem Tarif pro Kontakt bist, sind 15 % Dublettenrate 15 % dieser Position, die du für Geister bezahlst. Bei einer kleineren Liste ist das Kleingeld; jenseits von 50.000 Kontakten wird es real.

Die Kosten, die mehr wehtun, sind leiser. Ein doppelter Kontakt spaltet die Historie einer Person oft in zwei – Bestellungen auf dem einen Datensatz, E-Mail-Engagement auf dem anderen –, sodass keiner der beiden Datensätze wie ein guter Kunde aussieht und deine besten Leute wie Fremde behandelt werden. Die Versandzeitpunkt-Logik bricht: zwei Datensätze, zwei Warenkorbabbruch-Mails, und der Kunde entscheidet, dass du schludrig bist. Auch die Zustellbarkeit nimmt einen kleinen Schaden, weil eine der Dubletten meist die veraltete, uninteressierte Kopie ist, die nie etwas öffnet, und Mailbox-Anbieter beobachten das Engagement. Das Reporting driftet. Du fängst an, Entscheidungen auf einer Kontaktbasis zu treffen, die nicht echt ist.

Hier kommt der Teil, den man leicht übersieht. Die Dublette ist selten eine perfekte Kopie. Ein Datensatz hat die Telefonnummer und die SMS-Einwilligung; der andere hat die Bestellhistorie und die E-Mail-Einwilligung. Führst du sie unbedacht zusammen oder lässt sie nebeneinander leben, kannst du am Ende jemanden auf einem Kanal ansprechen, dem er nie zugestimmt hat – weil die Einwilligung auf dem anderen Datensatz lag. Das ist das Detail, für das es sich lohnt, langsamer zu machen.

Die praktische Lösung, der Reihe nach

Mach diese Schritte in Reihenfolge. Die ersten beiden verhindern neue Dubletten; der Rest räumt die auf, die du hast.

  1. Wähle einen Identitätsschlüssel und schreib ihn auf. Für nahezu jeden E-Commerce-Shop ist das die E-Mail-Adresse, kleingeschrieben normalisiert und mit gekürzten umgebenden Leerzeichen. E-Mail ist das Feld, das jedes Tool tendenziell hat, und dasjenige, auf das deine Plattform standardmäßig matcht. Telefon ist ein guter sekundärer Schlüssel für SMS, aber als primärer versagt er bei jedem, der einkauft, ohne eine Nummer anzugeben.
  2. Bring jede Integration dazu, diesen Schlüssel zu senden. Geh jedes verbundene Tool durch und bestätige, dass es bei jeder Synchronisation die E-Mail mitgibt, nicht nur manchmal. Der häufige Übeltäter ist eine Integration, die einen Kontakt aus einem reinen Telefon-Event (einer SMS-Anmeldung, einem Support-Anruf) ohne angehängte E-Mail erzeugt. Entscheide, wie diese behandelt werden – separat gehalten oder später angereichert –, statt sie als kopflose Dubletten landen zu lassen.
  3. Benenne pro Feld eine Quelle der Wahrheit. Deine Shop-Plattform besitzt die Bestelldaten. Dein E-Mail-Tool besitzt vielleicht den Abonnementstatus. Dein Helpdesk besitzt die Support-Tags. Schreib auf, wer gewinnt, wenn zwei Systeme uneinig sind, damit eine Synchronisation keine guten Daten mit veralteten überschreibt.
  4. Schalte die Matching- und Merge-Regeln der Plattform ein. Die meisten ernstzunehmenden E-Mail-Plattformen matchen eingehende Kontakte per E-Mail und aktualisieren den bestehenden Datensatz, statt einen neuen anzulegen. Bestätige, dass das an ist und auf deinen gewählten Schlüssel gesetzt.
  5. Dedupliziere, was schon da ist. Exportiere die Liste, sortiere nach E-Mail und finde die Kollisionen. Führe sie im plattformeigenen Tool zusammen, falls es eines hat – das bewahrt Einwilligung und Historie besser als ein Löschen-und-neu-Importieren, das beide abstreifen kann. Behalte den Datensatz mit der reichsten Historie und der klarsten Einwilligung; falte den anderen hinein.
  6. Behalte telefon- und ID-basierte Quellen genau im Auge. Hier kommen Dubletten zurück. Jedes Tool, das Leute über etwas anderes als E-Mail identifiziert, braucht eine Regel, um die E-Mail anzuhängen, bevor der Kontakt erzeugt wird.

Was du automatisierst und was du manuell lässt

Die Prävention sollte ohne dich laufen. Setze das Matchen-per-E-Mail-und-Aktualisieren-Verhalten der Plattform einmal, und es bewältigt den täglichen Fluss. Wo ein Tool nur ein Telefon oder eine ID senden kann, automatisiere einen Anreicherungsschritt, der die passende E-Mail nachschlägt, bevor ein Kontakt geschrieben wird – viele Integrationsschichten und Customer-Data-Tools können dieses Nachschlagen.

Das Einzige, was ich teils manuell halten würde, ist das Zusammenführen mehrdeutiger Datensätze – etwa zwei Kontakte mit unterschiedlichen E-Mails, aber demselben Telefon und Namen. Das ist eine Ermessensentscheidung, ob es eine Person ist oder zwei (ein gemeinsam genutztes Haushaltstelefon ist häufig), und ein blindes automatisches Merge kann dort zwei echte Kunden zu einem verschmelzen. Automatisiere die sicheren Treffer; prüfe die unsicheren.

Ein kurzes veranschaulichendes Beispiel

Sagen wir, du betreibst eine Liste mit 40.000 Kontakten, und dein E-Mail-Tool rechnet grob nach Kontakt-Stufe ab. Du bindest eine Bewertungs-App an, die Rezensenten per interner Kunden-ID synchronisiert, und ein SMS-Tool, das per Telefon synchronisiert. Keines gibt zuverlässig die E-Mail mit. Über sechs Monate stellen sich rund 4.000 Kontakte als Zweitkopien von Leuten heraus, die schon auf der Liste sind – eine Dublettenrate von 10 %. Du zahlst für eine höhere Stufe, als dein echtes Publikum braucht, ein Teil deines “engagierten” Segments ist in Wahrheit gespaltene Historie, und ein paar hundert Leute bekommen doppelte Versände. Setze E-Mail als Schlüssel, repariere die zwei störenden Synchronisationen, führe die Kollisionen zusammen, und die Liste schrumpft auf ihre echte Größe. (Veranschaulichende Zahlen – prüfe deinen eigenen Export, bevor du eine Rate annimmst.)

Wie du misst, ob es gewirkt hat

  • Echte Dublettenrate: Gesamtkontakte minus eindeutige kleingeschriebene E-Mails, als Prozentsatz. Führe sie vorher und nachher aus.
  • Kontaktanzahl vs. bekannte Kunden: Passt die Zahl jetzt zu Bestellungen und Anmeldungen, die du nachvollziehen kannst?
  • Beschwerden über doppelte Versände: Diese sollten auf null gehen, sobald das Matching an ist.
  • Einwilligungsintegrität: Stichprobe zusammengeführter Datensätze, um zu bestätigen, dass die Kanaleinwilligung das Merge überlebt hat und niemand einen Kanal bekommen hat, für den er sich nicht angemeldet hat.

Wo Omnisend passt

Ich betreibe Omnisend in meinen eigenen Shops, und der Grund, warum es hier relevant ist, ist unglamourös: Es matcht eingehende Kontakte standardmäßig per E-Mail und aktualisiert das bestehende Profil, statt ein neues zu erzeugen, was die häufigste Dublettenquelle schon an der Tür stoppt. Wenn ich ein zweites oder drittes Tool anbinde, besteht die Aufgabe darin, sicherzustellen, dass jedes die E-Mail mitgibt – das Zusammenführen erledigt die Plattform. Es wird einen reinen Telefon-Kontakt nicht retten, der wirklich nirgends eine E-Mail angehängt hat; nichts erfindet eine Adresse, die nicht existiert. Diesen Fall behandelst du an der Quelle. Omnisend ist ein Affiliate-Partner von Shopimation, und ich empfehle es aus täglicher Nutzung; der Punkt gilt, egal auf welcher Plattform du bist – wähle deinen Schlüssel, bring jede Integration dazu, ihn zu senden, und lass die Plattform matchen.

Dein nächster Schritt

Exportiere heute deine Liste und zähle eindeutige kleingeschriebene E-Mails gegen deine Gesamtzahl. Diese eine Zahl sagt dir, ob das ein Rundungsfehler oder eine monatliche Überzahlung ist. Wenn es real ist, repariere zuerst die zwei schlimmsten Synchronisationen, dann führe zusammen. Wenn du bereit bist, darüber nachzudenken, wie all deine Tools überhaupt Daten weitergeben sollten – nicht nur Kontakte –, lies wie du Kundendaten über E-Commerce-Tools hinweg synchronisierst und, falls du einen größeren Umbau planst, wie du Integrationen migrierst, ohne Kundendaten zu verlieren. Um das ganze Setup über die Zeit ehrlich zu halten, setz es auf die Liste in E-Commerce-Marketing-Integrationen prüfen, und falls du noch auswählst, welche Tools du anbinden willst, beginne mit einen E-Commerce-Marketing-Integrationsstack planen.

Kako preprečiti podvojene kontakte med integracijami

Podvojeni kontakti skoraj vedno izvirajo iz ene same stvari: dve integraciji zapisujeta v vašo email platformo z različnimi ključi za ujemanje. Vaša trgovina sinhronizira stranko po email naslovu. Aplikacija za ocene ali sistem za podporo pa isto osebo sinhronizira po telefonski številki ali po internem ID-ju stranke. Platforma ne more vedeti, da gre za istega človeka, zato ustvari drugi zapis. Rešitev je, da se odločite za eno polje identitete — za večino trgovin je to email naslov v malih črkah — poskrbite, da ga pošilja vsak vir, in vklopite pravila za združevanje v svoji platformi. Ta stran govori izključno o zaustavljanju in čiščenju podvojenih zapisov, ki nastanejo, ko več orodij polni isti seznam. Če je vaša težava širša — čisto prenašanje polj med sistemi — je to drugo opravilo in nanj vas usmerim spodaj.

Kako ugotoviti, ali imate to težavo

Za to ne potrebujete revizije podatkov. Nekaj znakov, pri čemer je za preverjanje dovolj že kateri koli od njih:

  • Vaše število kontaktov je opazno višje od števila resničnih strank in naročnikov, za katere veste, da jih imate.
  • Stranka vam odpiše, da je isti email o zapuščeni košarici prejela dvakrat, malenkost drugačen.
  • Segment, ki bi moral biti natančen — “kupil v zadnjih 30 dneh” — vrne ljudi, ki očitno niso kupili, ali izpusti tiste, ki so.
  • Vaša platforma zaračunava po kontaktu ali po količini emailov, in številka je zrasla, ne da bi temu ustrezala rast prijav.

Vzemite eno znano stranko — prijatelja, svoje testno naročilo, ponovnega kupca, ki ga prepoznate — in v email platformi poiščite njegov email in njegovo ime. Če se vrneta dva zapisa, imate podvojene kontakte. Vprašanje je le, koliko jih je.

Zakaj običajne rešitve ne zdržijo

Prvi nagon je, da oba zapisa ročno združite in nadaljujete. To deluje za točno eno osebo in ne naredi ničesar glede vzroka. Jutri isti dve integraciji zapišeta ista dva ključa in ste tam, kjer ste začeli.

Drugi nagon je izklopiti eno od integracij. Včasih je to pravilno — če neko orodje podvaja podatke, ki jih drugo orodje že pošilja, morda sploh ne potrebujete, da sinhronizira kontakte. Toda običajno je vsaka integracija tam z razlogom. Vaš sistem za podporo potrebuje kontakt, da se zgodovina podpore ujema. Vaše orodje za ocene ga potrebuje, da pošilja prošnje za oceno. Ubijte sinhronizacijo in pokvarite nekaj, kar ste želeli.

Pravi vzrok leži pod obojim: ni enega samega dogovorjenega odgovora na vprašanje “katero polje identificira osebo?” Dokler tega ne določite, je vsako čiščenje začasno.

Kje vas to potiho stane

Očiten strošek je račun. Če ste na paketu, ki se zaračunava po kontaktu, je 15-odstotni delež dvojnikov 15 odstotkov te postavke, plačane za duhove. Na manjšem seznamu je to za malico; preko 50.000 kontaktov je resno.

Stroški, ki bolj bolijo, so tišji. Podvojen kontakt pogosto razpolovi zgodovino osebe — naročila na enem zapisu, email angažiranost na drugem — tako da nobeden od zapisov ni videti kot dobra stranka in vaše najboljše ljudi obravnavate kot neznance. Logika časa pošiljanja se pokvari: dva zapisa, dva emaila o zapuščeni košarici, in stranka sklene, da ste površni. Tudi dostavljivost dobi manjši udarec, saj je eden od dvojnikov običajno zastarela, neangažirana kopija, ki ničesar ne odpira, ponudniki poštnih predalov pa spremljajo angažiranost. Poročanje zdrsne. Odločitve začnete sprejemati na bazi kontaktov, ki ni resnična.

Tukaj je del, ki ga je zlahka spregledati. Dvojnik je le redko popolna kopija. En zapis ima telefonsko številko in soglasje za SMS; drugi ima zgodovino naročil in soglasje za email. Če ju nepremišljeno združite ali pustite živeti drug ob drugem, lahko na koncu nekomu pišete po kanalu, za katerega dejansko nikoli ni dal soglasja — ker je soglasje živelo na drugem zapisu. To je podrobnost, za katero se splača upočasniti.

Praktična rešitev, po vrsti

Naredite to po vrstnem redu. Prvi dve točki preprečita nove dvojnike; ostale počistijo tiste, ki jih imate.

  1. Izberite en ključ identitete in ga zapišite. Za skoraj vsako spletno trgovino je to email naslov, normaliziran v male črke in z odstranjenimi obrobnimi presledki. Email je polje, ki ga vsako orodje običajno ima, in tisto, po katerem se vaša platforma privzeto ujema. Telefon je odlična sekundarna ključa za SMS, kot primarna pa odpove za vsakogar, ki nakupuje brez podane številke.
  2. Poskrbite, da vsaka integracija pošilja ta ključ. Pojdite skozi vsako povezano orodje in preverite, ali email posreduje ob vsaki sinhronizaciji, ne le včasih. Pogost krivec je integracija, ki ustvari kontakt iz dogodka samo s telefonom (prijava na SMS, klic na podporo) brez pripetega emaila. Odločite se, kako se ti obravnavajo — hranjeni ločeno ali kasneje obogateni — namesto da pristanejo kot brezglavi dvojniki.
  3. Določite vir resnice za vsako polje. Vaša platforma trgovine je lastnica podatkov o naročilih. Vaše email orodje je morda lastnik statusa naročnine. Vaš sistem za podporo je lastnik oznak podpore. Zapišite, kdo zmaga, ko se dva sistema ne strinjata, da sinhronizacija ne prepiše dobrih podatkov z zastarelimi.
  4. Vklopite pravila platforme za ujemanje in združevanje. Večina resnih email platform bo dohodne kontakte ujela po emailu in posodobila obstoječi zapis namesto ustvarjanja novega. Preverite, ali je to vklopljeno in nastavljeno na vaš izbrani ključ.
  5. Očistite tisto, kar je že tam. Izvozite seznam, razvrstite po emailu in poiščite trke. Združujte v lastnem orodju platforme, če ga ima — to bolje ohrani soglasje in zgodovino kot brisanje in ponovni uvoz, ki lahko odvzame oboje. Obdržite zapis z najbogatejšo zgodovino in najjasnejšim soglasjem; drugega vključite vanj.
  6. Pozorno spremljajte vire, ki temeljijo na telefonu in ID-ju. Tam se dvojniki vračajo. Vsako orodje, ki identificira ljudi po nečem drugem kot po emailu, potrebuje pravilo za pripenjanje emaila, preden se kontakt ustvari.

Kaj avtomatizirati in kaj pustiti ročno

Preprečevanje naj teče brez vas. Enkrat nastavite vedenje platforme “ujemi po emailu in posodobi” in ta ureja dnevni tok. Kjer orodje lahko pošlje le telefon ali ID, avtomatizirajte korak obogatitve, ki poišče ujemajoči se email, preden se kontakt zapiše — mnogo integracijskih slojev in orodij za podatke o strankah lahko opravi to iskanje.

Edina stvar, ki bi jo pustil deloma ročno, je združevanje dvoumnih zapisov — na primer dveh kontaktov z različnima emailoma, a istim telefonom in imenom. To je presoja o tem, ali gre za eno osebo ali dve (skupen gospodinjski telefon je pogost), in slepo avtomatsko združevanje tam lahko zlije dve resnični stranki v eno. Avtomatizirajte gotova ujemanja; negotova preglejte.

Kratek ponazoritveni primer

Recimo, da vodite seznam 40.000 kontaktov in vam email orodje zaračunava približno po nivoju kontaktov. Povežete aplikacijo za ocene, ki sinhronizira ocenjevalce po internem ID-ju stranke, in SMS orodje, ki sinhronizira po telefonu. Nobeno zanesljivo ne posreduje emaila. V šestih mesecih se izkaže, da je približno 4.000 kontaktov drugih kopij ljudi, ki so že na seznamu — 10-odstotni delež dvojnikov. Plačujete višji nivo, kot ga vaše resnično občinstvo potrebuje, del vašega “angažiranega” segmenta je pravzaprav razpolovljena zgodovina, nekaj sto ljudi pa dobiva podvojene pošiljke. Nastavite email kot ključ, popravite obe problematični sinhronizaciji, združite trke in seznam pade nazaj na svojo resnično velikost. (Ponazoritvene številke — preverite lasten izvoz, preden predpostavite kakšen delež.)

Kako izmeriti, ali je delovalo

  • Resnični delež dvojnikov: skupno število kontaktov minus edinstveni emaili v malih črkah, izraženo v odstotkih. Izmerite pred in po.
  • Število kontaktov proti znanim strankam: se številka zdaj ujema z naročili in prijavami, ki jih lahko upravičite?
  • Pritožbe zaradi podvojenih pošiljk: te bi morale pasti na nič, ko je ujemanje vklopljeno.
  • Celovitost soglasja: naključno preverite združene zapise in potrdite, da je soglasje za kanal preživelo združevanje in da nihče ni pridobil kanala, na katerega se ni prijavil.

Kje se vključi Omnisend

V svojih trgovinah uporabljam Omnisend, in razlog, zakaj je tukaj pomemben, je nezanimiv: dohodne kontakte privzeto ujema po emailu in posodobi obstoječi profil namesto ustvarjanja novega, kar že na vratih zaustavi najpogostejši vir dvojnikov. Ko povežem drugo ali tretje orodje, se opravilo skrči na to, da poskrbim, da vsako posreduje email — združevanje opravi platforma. Ne bo pa rešila kontakta samo s telefonom, ki nikjer resnično nima pripetega emaila; nič ne bo izumilo naslova, ki ne obstaja. Ta primer rešujete pri viru. Omnisend je partner Shopimationa v pridruženem programu in ga priporočam iz vsakodnevne uporabe; poanta drži ne glede na to, na kateri platformi ste — izberite svoj ključ, poskrbite, da ga pošilja vsaka integracija, in pustite platformi, da ujema.

Vaš naslednji korak

Danes izvozite seznam in preštejte edinstvene emaile v malih črkah proti svojemu skupnemu številu. Ta ena številka vam pove, ali gre za napako pri zaokroževanju ali za mesečno preplačilo. Če je resnično, najprej popravite dve najbolj problematični sinhronizaciji, nato združite. Ko ste pripravljeni razmišljati o tem, kako naj vsa vaša orodja sploh posredujejo podatke — ne le kontakte — preberite kako sinhronizirati podatke o strankah med orodji spletne trgovine in, če načrtujete večjo prenovo, kako preseliti integracije brez izgube podatkov o strankah. Da bo celotna postavitev sčasoma ostala poštena, jo uvrstite na seznam v reviziji marketinških integracij spletne trgovine, in če še izbirate, katera orodja povezati, začnite z načrtovanjem nabora integracij za marketing spletne trgovine.

Avoiding Duplicate Contacts Across Integrations

Duplicate contacts almost always come from one thing: two integrations writing to your email platform using different matching keys. Your store syncs a customer by email. A reviews app or a helpdesk syncs the same person by phone number or by an internal customer ID. The platform can’t tell they’re the same human, so it creates a second record. The fix is to decide on one identity field — for most stores that’s a lowercased email address — make every source send it, and turn on your platform’s merge rules. This page is specifically about stopping and cleaning duplicates that appear when several tools feed the same list. If your problem is broader — moving fields cleanly between systems — that’s a different job, and I’ll point you to it below.

How to tell you actually have this problem

You don’t need a data audit to spot it. A few signs, any one of which is enough to check:

  • Your contact count is noticeably higher than the number of real customers and subscribers you know you have.
  • A customer replies saying they got the same abandoned cart email twice, slightly different.
  • A segment that should be tight — “bought in the last 30 days” — returns people who clearly haven’t, or misses people who have.
  • Your platform bills by contact or by email volume, and the number crept up without a matching jump in signups.

Pull one known customer — a friend, your own test order, a repeat buyer you recognize — and search their email and their name in your email platform. If two records come back, you have duplicates. The question is only how many.

Why the usual fixes don’t hold

The first instinct is to merge the two records by hand and move on. That works for exactly one person and does nothing about the cause. Tomorrow the same two integrations write the same two keys and you’re back where you started.

The second instinct is to switch off one of the integrations. Sometimes that’s right — if a tool is duplicating data another tool already sends, you may not need it syncing contacts at all. But usually each integration is there for a reason. Your helpdesk needs the contact so support history lines up. Your reviews tool needs it to send review requests. Kill the sync and you break something you wanted.

The real cause sits underneath both: there is no single agreed answer to the question “which field identifies a person?” Until you set that, every cleanup is temporary.

Where this quietly costs you

The obvious cost is the bill. If you’re on a plan priced per contact, a 15% duplicate rate is 15% of that line paid for ghosts. On a smaller list that’s lunch money; past 50,000 contacts it’s real.

The costs that hurt more are quieter. A duplicated contact often splits a person’s history in two — orders on one record, email engagement on the other — so neither record looks like a good customer, and your best people get treated like strangers. Send-time logic breaks: two records, two abandoned cart emails, and the customer decides you’re sloppy. Deliverability takes a small hit too, because one of the duplicates is usually the stale, unengaged copy that never opens anything, and mailbox providers watch engagement. Reporting drifts. You start making decisions on a contact base that isn’t real.

Here’s the part that’s easy to miss. The duplicate is rarely a perfect copy. One record has the phone number and the SMS consent; the other has the order history and the email consent. Merge them carelessly, or let them live side by side, and you can end up messaging someone on a channel they never actually agreed to — because the consent lived on the other record. That’s the detail worth slowing down for.

The practical fix, in order

Do these in sequence. The first two prevent new duplicates; the rest clean up the ones you have.

  1. Pick one identity key and write it down. For nearly every ecommerce store this is the email address, normalized to lowercase with surrounding spaces trimmed. Email is the field every tool tends to have and the one your platform matches on by default. Phone is a fine secondary key for SMS, but as a primary it fails for anyone who shops without giving a number.
  2. Make every integration send that key. Go through each connected tool and confirm it passes email on every sync, not just sometimes. The frequent culprit is an integration that creates a contact from a phone-only event (an SMS signup, a support call) with no email attached. Decide how those are handled — held separately, or enriched later — rather than letting them land as headless duplicates.
  3. Name a source of truth per field. Your store platform owns order data. Your email tool might own subscription status. Your helpdesk owns support tags. Write down who wins when two systems disagree, so a sync doesn’t overwrite good data with stale data.
  4. Turn on the platform’s matching and merge rules. Most serious email platforms will match incoming contacts on email and update the existing record instead of making a new one. Confirm this is on and set to your chosen key.
  5. Dedupe what’s already there. Export the list, sort by email, and find the collisions. Merge in the platform’s own tool if it has one — that preserves consent and history better than a delete-and-reimport, which can strip both. Keep the record with the richest history and the clearest consent; fold the other into it.
  6. Watch phone-based and ID-based sources closely. These are where duplicates come back. Any tool that identifies people by something other than email needs a rule for attaching the email before the contact is created.

What to automate, and what to leave manual

Prevention should run without you. Set the platform’s match-on-email-and-update behaviour once and it handles the daily flow. Where a tool can only send a phone or an ID, automate an enrichment step that looks up the matching email before a contact is written — many integration layers and customer-data tools can do this lookup.

The one thing I’d keep partly manual is the merge of ambiguous records — two contacts with different emails but the same phone and name, for instance. That’s a judgement call about whether they’re one person or two (a shared household phone is common), and a blind automated merge there can fuse two real customers into one. Automate the certain matches; review the uncertain ones.

A quick illustrative example

Say you run a 40,000-contact list and your email tool charges roughly by contact tier. You connect a reviews app that syncs reviewers by internal customer ID and an SMS tool that syncs by phone. Neither reliably passes email. Over six months, about 4,000 contacts turn out to be second copies of people already on the list — a 10% duplicate rate. You’re paying for a higher tier than your real audience needs, a slice of your “engaged” segment is actually split history, and a few hundred people are getting doubled sends. Set email as the key, fix the two offending syncs, merge the collisions, and the list drops back to its real size. (Illustrative figures — check your own export before assuming a rate.)

How to measure whether it worked

  • Real duplicate rate: total contacts minus unique lowercased emails, as a percentage. Run it before and after.
  • Contact count vs. known customers: does the number now line up with orders and signups you can account for?
  • Doubled-send complaints: these should go to zero once matching is on.
  • Consent integrity: spot-check merged records to confirm channel consent survived the merge and nobody gained a channel they didn’t opt into.

Where Omnisend fits

I run Omnisend in my own stores, and the reason it’s relevant here is unglamorous: it matches incoming contacts on email by default and updates the existing profile rather than spawning a new one, which stops the most common source of duplicates at the door. When I connect a second or third tool, the job becomes making sure each one passes email — the platform does the merging. It won’t rescue a phone-only contact that genuinely has no email attached anywhere; nothing will invent an address that doesn’t exist. That case you handle at the source. Omnisend is an affiliate partner of Shopimation, and I recommend it from daily use; the point stands whichever platform you’re on — pick your key, make every integration send it, and let the platform match.

Your next step

Export your list today and count unique lowercased emails against your total. That one number tells you whether this is a rounding error or a monthly overcharge. If it’s real, fix the two worst-offending syncs first, then merge. When you’re ready to think about how all your tools should pass data in the first place — not just contacts — read how to sync customer data across ecommerce tools and, if you’re planning a bigger rebuild, how to migrate integrations without losing customer data. To keep the whole setup honest over time, put it on the list in auditing ecommerce marketing integrations, and if you’re still choosing which tools to connect, start with planning an ecommerce marketing integration stack.

Leave a Reply

Your email address will not be published. Required fields are marked *