Skip tracing often returns several phone numbers for one property owner, and each number can have its own Do Not Call check result. If you store a single "DNC: yes/no" field per contact, you lose track of which number was checked, when, and against which list. This data dictionary keeps every status, check date and source attached to its own phone number.
This page describes how to store check results. It does not describe what any law requires, and it is not legal advice.
A status belongs to one number. Each phone_N has its own phone_N_dnc_status, phone_N_dnc_checked_date and phone_N_dnc_source.
New numbers start as unchecked with a blank date. They inherit nothing from other phone slots.
The contact-wide opt-out is separate. contact_opt_out records a person's own request, and a not_listed result on any number never overrides it. In your CRM, also update the built-in opt-out or subscription setting, since a custom field may not change it.
IDs and phone numbers are text. Excel keeps numbers to 15 digits of precision and can strip plus signs and leading zeros, so store these fields as Text.
Dates use YYYY-MM-DD so they sort correctly and are not misread across regional settings.
A check result describes one list on one date. The National Do Not Call Registry, state lists and your own internal do-not-call list are different sources, so record which one was checked.
Registry status can change after you check it. The FTC's guidance describes how often sellers and telemarketers must access the registry, so confirm the current requirement there rather than relying on an old date.
Recording the source as a plain name (for example, the list or service you used) documents what you did. It is not a legal conclusion.
These values are a working convention used in this guide, not a regulatory standard.
listed: the check reported the number as on the list checked, on the date given.
not_listed: the check reported the number as not on that list, on that date.
unchecked: no check is recorded for this number.
A status is a dated observation from a named source. It is not permission to call or text. Check current FTC and FCC rules and get your own legal advice.
record_id
Type: text
Required: yes, for updates
Allowed values: your CRM record ID or internal ID, stored as text
Example: "0000123" (fictional)
Notes: never let Excel convert it to a number
phone_1
Type: text
Required: no
Allowed values: E.164 style string
Example: +12025550101 (fictional)
phone_1_dnc_status
Type: text
Required: if phone_1 is present
Allowed values: listed, not_listed, unchecked
Example: not_listed
Notes: new numbers start as unchecked
phone_1_dnc_checked_date
Type: date
Required: if status is listed or not_listed
Allowed values: YYYY-MM-DD
Example: 2026-10-15
Notes: leave blank when unchecked
phone_1_dnc_source
Type: text
Required: recommended
Allowed values: free text
Example: [registry or service name]
Notes: records the source, not a legal opinion
phone_2, phone_2_dnc_status, phone_2_dnc_checked_date, phone_2_dnc_source
Same pattern as phone_1, and the same pattern continues for phone_3 and beyond
Notes: a phone_2 status is never inherited from phone_1
contact_opt_out
Type: boolean
Required: yes
Allowed values: true, false
Example: false
Notes: applies to the whole contact, separate from per-number status
contact_opt_out_date
Type: date
Required: if contact_opt_out is true
Allowed values: YYYY-MM-DD
Notes: the date of the opt-out request
record_id,phone_1,phone_1_dnc_status,phone_1_dnc_checked_date,phone_1_dnc_source,phone_2,phone_2_dnc_status,phone_2_dnc_checked_date,phone_2_dnc_source,phone_3,phone_3_dnc_status,phone_3_dnc_checked_date,phone_3_dnc_source,contact_opt_out,contact_opt_out_date
"0001",+12025550101,not_listed,2026-10-15,example_source,+12025550102,listed,2026-10-15,example_source,+12025550103,unchecked,,,false,
In this fictional row, phone_3 was added after the check, so it stays unchecked with no date or source. Remember that Excel can still convert "0001" and the phone numbers if you open this file by double-clicking. Use the import steps in the Excel-Safe CSV Import Checklist.
Copy these fields into your list management SOP as the reference for column names.
Create matching custom fields in your CRM, set to text or date as listed.
Keep research rows as one row per phone number, then build the import file as one row per contact using these fields.
Import three test contacts, export them back, and confirm each status still sits beside its own number. The Medium guide covers this read-back step in detail.
Copying one number's status into a blank slot for a newly found number
Sorting phone columns independently of their status and date columns
Treating not_listed as overriding a contact's own opt-out request
Overwriting an old check date without recording the new source
Maintained by Locate Next (locatenext.com).