Reactivation List Data Checklist
Audit and clean a dormant trader list before calling: required fields, E.164 numbers, consent flags, suppression, dedupe and priority signals.
- Who it is for
- Broker ops leads, CRM managers and compliance officers preparing a dormant trader or old lead list for outbound calls.
- Time to complete
- 45 minutes plus data pulls
This checklist takes a raw export of dormant leads or inactive clients and turns it into a list you can hand to a calling team or an AI voice agent without a second thought. Work through it once per list and you'll know every record has a valid number, a consent basis, no suppression hit and a reason to be called first or last. Expect the list to shrink, and that's the point: the records left are the ones worth paying to call.
Required fields per record
A record missing any of these either gets fixed from the CRM or leaves the list. Don't call on guesses.
Confirm each record has a phone number, a first name and a country.
Country drives number formatting, call windows and which regulations apply. A record without it can't be checked, so it can't be called.
Keep the CRM ID or MT4/MT5 login as the join key on every row.
Call outcomes have to land back on the right account. Names and emails change; the login doesn't.
Add an account status field: registered only, demo only, KYC pending, funded then dormant, withdrawn, closed.
Each status gets a different opening line and a different priority. Mixing them in one call script is how reactivation calls sound generic.
Record the last activity date: last login, last trade and last deposit, whichever is most recent.
Recency is the strongest priority signal you have. Pull it from the trading platform, not from the CRM's last-contacted date.
Record lifetime deposits and the last known balance.
A trader who funded $5,000 and stopped is a different conversation from one who never passed the deposit page.
Record the trader's preferred language, or derive it from country and platform settings.
The call should run in the trader's language. Topcalls agents cover 32 languages, so the field is worth filling.
Record the original lead source and campaign.
An affiliate lead from a bonus campaign and an organic registration have different expectations. The agent should reference the right one.
List every record with a blank required field and decide: fix from the CRM, or drop.
Records dropped: ____
E.164 phone formatting
Every number ends up as a plus sign, the country code and the subscriber number with no spaces, brackets or leading trunk zero. Dialers and CRMs agree on nothing else.
Convert every number to E.164 using the record's country field, never a default country.
A default country turns a Romanian mobile into a broken UK number. If the country is missing, the number waits until it isn't.
Strip the trunk prefix when adding the country code (the leading 0 in most of Europe, the 1 in North America when it's duplicated).
The most common broken record is a number that carries both the country code and the trunk zero, like +40 0722.
Remove extensions, letters, text notes and duplicated country codes from the number field.
Move anything useful, like "call after 6pm", to a notes column so it isn't lost.
Reject numbers with too few or too many digits for their country.
Check against the national numbering length. A phone-validation library does this in one pass across the whole file.
Flag landlines separately from mobiles where the numbering plan lets you tell.
Some jurisdictions treat automated calls to mobiles and landlines differently. Your compliance officer needs the split.
Spot-check 20 converted numbers per country by hand against the raw value.
Automated conversion fails quietly. Twenty rows per country catches the systematic mistakes before you dial ten thousand of them.
Store the raw value in its own column and never overwrite it.
When a number turns out wrong, you want to see what you started from.
| Raw value | Country | E.164 result | Action |
|---|---|---|---|
| 0722 123 456 | Romania | +40722123456 | Convert, drop trunk 0 |
| 07700 900123 | United Kingdom | +447700900123 | Convert, drop trunk 0 |
| 0049 30 1234567 | Germany | +49301234567 | Replace 00 with +, drop trunk 0 |
| +1 (415) 555-0123 | United States | +14155550123 | Strip formatting |
| +40 0722 123 456 | Romania | +40722123456 | Remove duplicated trunk 0 |
| 12345 | Any | Rejected | Too short, drop from list |
| 0722123456 | Blank | Held | Fill country before converting |
Consent and marketing permission
State the basis for calling each record. If nobody can say what it is, the record isn't ready. Confirm every item here with your compliance officer or counsel; this checklist tells you what to review, not what the law concludes.
Record a consent basis per row: explicit marketing opt-in, existing client relationship, or unknown.
Unknown is a valid value. It means the record waits for review rather than getting called by default.
Store the consent date, the source (registration form, account terms, later opt-in) and the wording the trader agreed to.
If a trader complains, the answer is a date and a form, not a feeling that they probably agreed.
Separate closed accounts from dormant open accounts.
A closed account may have withdrawn consent or asked for deletion when it closed. Check the closure record before treating it as a lead.
Review the GDPR lawful basis for EU and UK residents with your compliance officer, including how the marketing objection right is handled.
Existing client relationship and fresh opt-in are treated differently. Don't assume the registration checkbox covers a call two years later.
Review US numbers for TCPA prior express consent with counsel before any automated or AI-voiced call.
Automated outbound calls to US mobiles carry consent requirements that a generic marketing checkbox may not satisfy.
Check whether financial promotion rules (FCA, MiFID II, your local regulator) apply to what the agent will say on the call, and route the script for approval.
A reactivation offer that mentions bonuses, spreads or returns is usually a financial promotion. The list and the script get reviewed together.
Confirm the call recording and AI disclosure requirement per jurisdiction on the list, and note which records need a two-party recording notice.
Add a column for it so the calling platform can apply the right disclosure per country.
Exclude every record marked unknown until compliance reviews and clears it in writing.
Records held for review: ____
Suppression and do-not-call screening
Run these before dedupe so a suppressed record can't survive as a merged duplicate.
Screen against your internal do-not-call and opt-out list, including opt-outs collected by email, chat and previous calls.
Internal opt-outs are the ones you'll be asked about first. Keep them in one list with a date and a source.
Screen against the national registry for every country on the list: the US National Do Not Call Registry, the UK TPS, and the equivalent register wherever else you call.
Registry rules and refresh windows differ by country. Confirm the cadence with your compliance officer and write it down.
Remove records with an open complaint, chargeback, fraud flag or account under investigation.
A reactivation call to someone mid-dispute is a complaint waiting to happen. Pull the flags from the back office as well as the CRM.
Remove records under a regulatory hold, an active KYC rejection or a self-exclusion request.
Self-exclusion in particular is permanent for calling purposes unless compliance says otherwise.
Remove records tagged vulnerable customer or with an accessibility note that rules out phone contact.
Your compliance policy defines the tag. The list just has to respect it.
Remove numbers with a wrong-number, deceased or disconnected outcome from any previous campaign.
These outcomes live in old campaign exports. Pull them in before you pay to dial the same dead number again.
Log which suppression list caught each removed record and the date it was checked.
The log is what you show a regulator or an auditor. Without it you did the work and can't prove it.
Set the rule for opt-outs that come in during the campaign: who adds them to the suppression list and before which batch.
Topcalls can push a do-not-call outcome back to your CRM automatically. The rule still needs an owner.
Deduplication
Dedupe on the E.164 phone number first, then on email, then on CRM ID.
Phone first, because that's what gets dialed. Two records with different emails and one number are one call.
Merge duplicates into one record and keep the most recent activity date, the highest lifetime deposit and the most restrictive consent value.
If one copy says opted out and the other says opted in, the merged record is opted out.
Check the list against every other campaign list that's live or planned this month.
A trader on both the KYC reminder list and the dormant list gets one call with one script, not two calls in the same week.
Flag numbers shared by more than one account and decide how to handle them.
Shared family numbers and introducing-broker phone numbers show up as one number with five accounts. Call once or drop.
Remove staff, test and demo-environment accounts.
Search for your own domain in the email column and your office numbers in the phone column.
Record the count before and after dedupe.
Before: ____ After: ____
Prioritization signals
The list is clean. Now decide who gets called first. Score each row with the signals you actually have; skip any you can't fill.
Score recency: days since last login, trade or deposit, with recent activity scoring highest.
A trader who logged in last month without trading is warmer than one who hasn't opened the app in a year.
Score value: lifetime deposits and last balance, in bands you define.
Set the bands from your own book, for example under $500, $500 to $5,000, over $5,000. Don't borrow someone else's.
Score funnel stage: funded then dormant ahead of KYC pending, ahead of registered only, ahead of demo only.
Each stage has a known next step, and the agent's job on the call is to get to that step.
Add engagement signals from the last 90 days: email opens, platform logins, webinar attendance, support tickets.
Any signal the trader created on their own beats a signal you inferred.
Add offer eligibility per jurisdiction, and mark records the planned offer can't be made to.
Bonus and promotion rules differ by regulator. The agent can't offer what the trader's country doesn't allow.
Set a call window per time zone and store it as a local-time range on the row.
Derive the zone from the country, or from the phone prefix when the country spans several zones.
Sort by total score and cap the first batch at a size your team can review outcome by outcome.
A first batch of a few hundred records tells you whether the scoring works before the rest of the list depends on it.
First batch size: ____
Final review and sign-off
Export a random sample of 50 records and read them as the agent will: name, status, language, consent, last activity, score.
If a row looks wrong to you, it'll sound wrong on the call.
Get written sign-off from the compliance officer on the consent and suppression columns, with the date of the registry checks.
Keep the sign-off with the list version, not in an email thread nobody can find later.
Map every column to its destination field in the CRM and in the calling platform before import.
A Topcalls campaign reads name, number, language and any custom fields you want the agent to reference. Map them once and reuse the mapping.
Freeze the list with a version label, the date and the final record count.
The frozen file is what got called. Later edits go into a new version.
Version: ____ Date: ____ Records: ____
Confirm the route for call outcomes back to the CRM: status, notes, callback time and do-not-call requests.
If outcomes don't flow back, the next list starts from the same dirty data.
Schedule the next audit of this list before the second batch is dialed.
Consent, suppression and account status all change. A list is clean on the day you checked it.
How to use this
- 1
Export the raw dormant list from your CRM and trading platform into one file, one row per account, and keep the original untouched.
- 2
Work through the sections in order: fields, phone format, consent, suppression, dedupe, prioritization, sign-off. Each one assumes the one before it is done.
- 3
Fill in the blanks as you go so the record counts and the batch size are on paper when compliance asks.
- 4
Hold anything you can't resolve in a separate file rather than deleting it. It may clear on the next pass.
- 5
Import the frozen version into your calling platform and route outcomes back to the CRM before the first batch dials.
Next step
We'll size your dormant book, walk through the field mapping into a Topcalls campaign and scope a first batch you can review outcome by outcome.
Book a 30-minute list reviewRead next
Related resources
Do-Not-Call and Suppression Audit Checklist
Audit how a brokerage screens do-not-call lists and suppresses traders from AI calling campaigns: sources, refresh cadence, opt-outs, exclusions, evidence.
Dormant Trader Segmentation Plan Template
Fill-in template to split a dormant trader book by dormancy age, deposit history, activity signals and region, score each segment and pick its message.
GDPR Review Checklist for AI Voice Calls
GDPR review checklist for brokerage AI voice campaigns: lawful basis, call-time transparency, DPIA, processor contracts, retention and data subject rights.