How to prepare a phone number list for bulk checking

A bulk checker can answer a specific question about a list, but it cannot repair every mistake in the source data. If a phone number lost its country code during export, or two CRM records contain the same number in different formats, fix those issues before ordering a platform check.

This guide is a practical pre-upload checklist for teams working with an existing customer or contact list. The goal is to produce a consistent input file and a clear question for the checker, then match its results back to the original records.

1. Keep an untouched source export

Save the original export before changing any values. Create a separate working copy with a stable row identifier, the original phone field and a normalized phone field. Keep account names and other CRM information in your internal mapping file; include only the fields needed by the checking service in the uploaded file.

This separation makes a result useful later. If you overwrite the original numbers, a rejected row becomes difficult to investigate. With a mapping table, you can see whether a problem came from the source, normalization or the check itself. Before formatting, use the owned-contact segmentation guide to decide which records belong in the campaign. Review Telegram audience readiness or WhatsApp audience readiness separately from file validity.

2. Resolve country codes before removing punctuation

Do not assume that every row belongs to the same country. Use a reliable country field from the source system when a number has no international prefix, and set ambiguous rows aside for review. Avoid guessing the country from a customer’s current address alone.

Use a region-aware parser rather than a rule that removes all leading zeroes. Google’s libphonenumber FAQ explains that national prefixes behave differently between numbering plans. It also distinguishes a structurally valid number from a number that is currently assigned and reachable. Passing a formatting check is therefore only one preparation step.

  • Preserve phone fields as text when opening a CSV in a spreadsheet.
  • Keep the original value next to the normalized value in your private working file.
  • Review missing country codes, truncated numbers and scientific notation before upload.

3. Deduplicate after normalization

Deduplicating raw strings can leave multiple versions of the same number. Normalize first, then compare the normalized values. Keep a separate mapping from each unique number back to every source record that used it.

For example, one CRM might store a country prefix separately while another includes it in the phone field. These rows may refer to the same number even though the original text differs. Review the normalized comparison instead of deleting records solely because their names or raw strings look similar.

4. Choose the question you need answered

A formatting check, a platform registration check and an activity-related check are different tasks. Write down the decision you will make from the result before selecting a service. If your question concerns Telegram, review the available Telegram services; if it concerns WhatsApp, review the WhatsApp service descriptions.

PSYKE’s service catalog describes the available checks. Review the current service and input requirements before creating an order, because the right choice depends on the platform and the result you need. A platform signal should not be treated as proof of a person’s identity or permission to contact them.

5. Review the input summary and preserve the result

Compare the original row count with the number of unique, usable rows in the working file. Record how many rows you removed as duplicates and how many you held back for review. This gives you a simple reconciliation before uploading.

Once a check finishes, save the original result file and the check date. Join the result to your internal mapping using the normalized number, then review missing or ambiguous matches separately. Do not silently convert an unknown or failed result into a confirmed negative.

Keep verification results separate from your consent and suppression records. A positive platform result is useful input to a workflow, but it does not replace the rules your team uses to decide whether a contact should receive a message.

Start with a prepared list

If you are ready to check an existing list, open PSYKE and review the current services and order requirements. Choose the check that matches your question, upload the prepared input and retain the result alongside your source mapping. If the file still contains unresolved country codes or broken spreadsheet values, finish that cleanup first.

Prepare your first check in PSYKE

Frequently asked questions

Does a valid phone format prove that a number uses WhatsApp or Telegram?

No. Number-format validation and platform-specific checking answer different questions. Choose a platform check only after you have prepared consistent input.

Should I remove duplicates before or after formatting?

Normalize first, then compare normalized values. Preserve a mapping to the original rows so that one result can be joined back to every matching record.

Can I use the same result indefinitely?

Keep the check date with the result and decide when to refresh it based on your workflow. Do not treat a past observation as a permanent property of a number.

Sources and further reading

Related guides