How deduplication works
How Nomow keeps contacts and companies unique across forms, imports, and bookings.
Nomow uses a single deduplication rule for contacts and a domain-based rule for companies. Understanding how they work prevents surprise duplicates and explains why some fields do not update when you expect them to.
Contact deduplication — canonical email
Every contact is identified by their canonical email address. Canonical means lowercased, trimmed, and stripped of any +alias suffix (for example, Maria+Sales@Acme.com and maria@acme.com resolve to the same contact).
When a new event arrives — a form submission, a booking, or a CSV import row — Nomow looks up the canonical email:
- No match found — a new contact record is created.
- Match found — the existing record is enriched: any field that is currently blank is filled in from the incoming data. Fields that already have a value are never overwritten. The first value to arrive wins.
This means a contact's name, title, phone, and custom fields are set on first contact and protected from accidental overwrite by later imports or form fills.
Company deduplication — email domain
Companies are keyed on email domain. When a contact is created or matched, Nomow extracts the domain from their email and looks for an existing company with that domain:
- No match and domain is a business domain — a new company is created. Firmographic fields (industry, employees, country, city) are populated from any matching fields in the contact's import row or form payload.
- Match found — the company record is enriched using the same first-value-wins rule: null columns are filled, non-null values are left untouched.
- Freemail domain (Gmail, Outlook, Yahoo, iCloud, and similar) — no company is created. Personal email addresses do not imply an organization.
How this applies on form submission
When a prospect submits a public form:
- The server extracts the canonical email from the submission payload.
- It upserts the contact (create or enrich as above).
- It auto-creates or enriches the linked company from the email domain and any firmographic fields in the form payload.
- A
form_submitevent is appended to the contact's timeline with the full field payload.
The submitter never sees any of this — it happens server-side in under a second.
How this applies on CSV import
The import preview step shows a dedup verdict for every row before you commit:
| Verdict | Meaning |
|---|---|
| Would create | No contact with this email exists — a new record will be added |
| Would merge | A contact with this email already exists — blank fields will be filled |
| Would skip | The row has no email address or a malformed one — it will be ignored |
After the import completes, Nomow runs an inline backfill over every company in the workspace to retroactively fill any null firmographic fields that the new import rows could resolve. This backfill is idempotent — running the same import twice has no additional effect.
Merging true duplicates
Deduplication handles the most common case — same email, different data source. If you have two records with genuinely different emails that represent the same person, you will need to merge them manually. Open either contact profile, go to the More menu in the action row, and choose Merge with another contact. The merge wizard lets you pick which field values to keep.
Next steps
See how the import wizard exposes the dedup verdict in Import wizard, or learn how contacts are auto-linked to companies in Companies.
Was this article helpful?