Merge duplicate contacts
Upper has no automatic contact merge. Find duplicates with search and filters, copy missing details into the record you keep, then delete the extras.
Upper doesn't merge contacts automatically. Cleaning up duplicates is a manual process: find the duplicate records, copy any missing details into the one contact you want to keep, then delete the extras. This article walks through that workflow and a few habits that stop duplicates from piling up.
This article uses Upper's default driver/delivery labels (such as Delivery and Pre Assigned Drivers). Your workspace may be configured to show Technician/Service terms instead — the labels are configurable per workspace, but the steps are the same.
Why this matters
Duplicate contacts inflate your address book count, make it harder to pick the right record when you build a route, and can lead to sending two stops to the same customer. Because Upper has no automatic de-duplication, a periodic manual clean-up keeps your address book accurate.
Deleting a contact is permanent — there is no trash or recycle bin, and deleted contacts can't be recovered. Export your contacts before you start so you have a backup if you remove the wrong one.
Before you start
- Where it lives — Open Manage > Contacts and stay on the My Contacts tab. You'll use the Search box, the Filter dropdown, the row Action (three-dot) menu, and the row checkboxes.
- Plan requirement — Available on every plan.
- Back up first — Use the Export button (top-right) to download a copy before making changes. See Export contacts.
Find the duplicates
Open the Contacts page
In the left sidebar, go to Manage > Contacts and make sure you're on the My Contacts tab.
Search or filter to surface likely duplicates
Type a name, company, or address into the Search box to pull up matching records, or use the Filter dropdown to narrow by City, State, or a Contact custom field. Working through one city or one customer at a time makes pairs easier to spot.
Compare the matching records
Look at the columns — Full Name, Address, Company Name, Email, Phone, Note, and Date Added — to confirm two rows really are the same customer and to see which record is more complete.
The address-verification control (the red alert icon in the toolbar) includes a Duplicate status filter alongside Not Found and Need To Review. It can help point you at addresses Upper has flagged as duplicates while you scan. See Validate and clean contact addresses.
Consolidate into the record you keep
Once you've identified a pair, decide which contact to keep — usually the one with the most complete information or the older record, so any routes already built from it still point to the right contact.
Open the contact you're keeping
Click the Action (three-dot) menu on that row and choose Edit Contact. The contact drawer opens.
Copy any missing details from the duplicate
Fill in anything the kept record is missing — a phone number, email, note, service time, time window, or stop type — using the values from the duplicate. Click Done to save.
Delete the duplicate
Open the Action (three-dot) menu on the duplicate row, choose Delete Contact, and confirm. If you're clearing several duplicates at once, select their row checkboxes and use the bulk Delete (trash) action instead.
Prevent duplicates
- Clean your spreadsheet before importing — remove duplicate rows there first. See Import contacts from a file.
- Use consistent naming (always "John Smith", not sometimes "J. Smith").
- Search for a customer before adding them as a new contact.
- Fill in custom fields consistently so duplicates surface together when you filter.
Troubleshooting
Related
Import contacts from a file
Bulk-import contacts into Upper from a CSV, XLS, or XLSX file. Map your spreadsheet columns to Upper's contact fields so your existing format doesn't have to change.
Select multiple contacts for a route
Select saved contacts in bulk in Upper, then turn them into a new route or add them to an existing one. Use row checkboxes or select-all to build routes fast.