Free tool

Put traced results back on your list. Matched by your own ID, nothing else.

You sent a list out to be traced and got back a different file. Choose both, pick the ID column they share, and download your original rows with the traced phones, DNC flags and emails added beside them.

1. Your original list

The file you sent for tracing, with your record IDs.

No file chosen.

2. Traced results

The file that came back, with the same ID on each row.

No file chosen.

Both files are read by this page in your browser. Nothing is uploaded, stored or sent anywhere, and the merge still works with the internet switched off.

How it decides

Exactly one traced row per ID, or the row waits for you.

  • Exact ID onlyThe ID in your list and the ID in the traced file have to be the same text. A spreadsheet that dropped a leading zero, a stray space or a change of letter case is reported as a near match, never merged.
  • Repeated IDs are heldIf an ID is on two of your rows, or on two traced rows, nobody can say which result belongs where. Those rows keep their own values and get none of the traced ones.
  • Blank IDs are heldA row with no ID cannot be matched to anything, so it passes through untouched.
  • Leftover traced rows are listedTraced rows whose ID is not in your list are counted and named in the review report, so nothing disappears quietly.
  • Your columns stay yoursEvery original column and value comes back in your order, as uploaded. The traced fields are added after them with a Traced prefix, so an imported DNC flag in your list never gets overwritten.
  • Phone and DNC stay togetherEvery traced column shares one prefix, so Traced Phone 2 and Traced DNC 2 still pair. A DNC value with no number beside it goes in the report.
  • A status on every rowThe Merge status column says Merged, No traced row, or why a row was held. Leave it unmapped in your CRM, or use it to filter.
  • Formulas, your choiceNew traced values that start with =, +, - or @ get a leading apostrophe by default. Your own values are left exactly as they were unless you choose otherwise.

Why a separate join

The lookup formula is where rows go missing.

A lookup formula picks the first match and moves on, so a repeated ID quietly takes the wrong phone number. A text ID that became a number stops matching. This tool counts every one of those cases and hands you the list instead of guessing.

What it will not do

It does not match people by name.

Two owners can share a name, and one owner can have three addresses. The tool never pairs rows by name or address, never fills a gap, and never decides which of two results is right. The merged file is a file: check a few contacts in your CRM after you import it.

Or skip the join entirely.

Locate traces your list and exports it with your record IDs and custom columns already on every row.