The 7-step process
From source vetting to final QA — every lead, every batch
Each step below is non-negotiable. A lead that fails any single step is flagged as replacement-eligible and is never delivered to a paying customer.
Step 1 — Source Verification
Before a single lead ever enters our pipeline, we vet the source that produced it. Acceptable sources are limited to: (a) Tier-1 affiliate networks that operate regulated financial-education or comparison-portal websites with their own published privacy policies and demonstrable organic traffic, (b) publisher networks where the publisher is identifiable and the lead capture form is visible on a live URL, and (c) trader communities (Discord, Telegram, niche forums) where the opt-in form is gated behind a clearly-labelled financial-promotion consent checkbox. We do not accept leads from data brokers, scraped databases, "data co-registration" platforms, or any source that cannot produce a live landing-page URL on demand.
Each prospective source undergoes a 14-day onboarding period during which we accept a small test batch (typically 100 leads) and measure rejection rate at every subsequent step of our methodology. Sources with a rejection rate above 12% are rejected entirely. Sources with a rejection rate between 8% and 12% are placed on probation and re-tested quarterly. Only sources that consistently produce sub-8% rejection rates progress to our approved-source list, and even then every source is re-reviewed every 90 days against the same thresholds.
Source verification is the most important step in the methodology because no amount of downstream phone verification or dedup can fully rescue a batch of leads sourced from a sketchy provider. By the time a lead arrives in our system, we already know exactly which affiliate, which publisher site, and which landing-page URL produced it — and we have already vetted that source against our published Tier-1 criteria. This is the difference between a "verified" lead and a lead we can stand behind with a 95% deliverability guarantee.
Step 2 — Phone Verification
Once a lead has cleared source vetting, a trained call-centre agent dials the phone number on file. The call is made in the trader's local language (we operate in 14 languages including English, Spanish, Portuguese, German, French, Italian, Dutch, Swedish, Norwegian, Danish, Finnish, Arabic, Turkish, and Russian) and during local business hours. The agent confirms three things: (a) the trader's identity by repeating their name back, (b) the trader's consent to be contacted by a broker about financial products, and (c) the asset class the trader is interested in (forex, crypto, CFDs, stocks, options, casino, etc.).
If the trader does not answer on the first attempt, the agent attempts three callbacks on three different days at different times of day. If all three callbacks fail, the lead is escalated to a supervisor who reviews whether the phone number is still in service (via HLR lookup) and whether the source has a higher-than-expected unreachable rate. Unreachable leads are never delivered to a customer — they are flagged as replacement-eligible and either returned to the source for correction or removed from inventory permanently. Phone verification is the single biggest reason our 95% deliverability number holds up: we have already heard the trader's voice on the line.
Phone verification is also where we collect valuable secondary data that goes into the delivery CSV. The agent captures the trader's preferred contact window, their stated account-size interest (small / mid / VIP), and any explicit preferences about broker features they care about (leverage, platform, deposit methods, regulation tier). Premium tier customers receive this enriched data as additional columns in the CSV; Starter and Professional tier customers receive the standard fields. Every call is recorded for internal QA purposes and stored for 90 days in our encrypted call-archive.
Step 3 — GDPR Consent Capture
For every lead originating from the EU or EEA — and for every lead delivered to a broker regulated under EU or EEA law, regardless of the trader's country of residence — we document GDPR consent at the point of opt-in. Specifically, we capture: the source URL where the opt-in form was presented, the IP address of the trader at the moment of consent, the exact UTC timestamp of the consent click, the form version presented to the trader (so the language of the consent text is reproducible), and the privacy policy URL active on the source site at that moment.
Where the source operates a double opt-in flow — which is mandatory under German, Austrian, and Swiss data-protection practice, and which we require for all DE, AT, and CH sourced leads — we additionally capture the timestamp of the confirmation email click and the IP address of the confirmation. This double-opt-in confirmation record is appended to the lead as a supplementary field. For premium tier customers, all of these GDPR fields are included in the CSV delivery. For Starter and Professional tier customers, the consent timestamp and source URL are included by default; the IP and form-version fields are available on request to your DPO.
GDPR consent capture is not a checkbox we tick and forget. We maintain a Data Processing Agreement template that we provide to every customer on request, and we will sign customer-specific DPAs where required. We also support right-to-erasure requests: any trader who contacts us at privacy@forexbrokerlead.com with a verifiable identity claim is removed from our inventory and from any undelivered batch within 72 hours, and we confirm removal to the broker who received that lead in the past 90 days.
Step 4 — Duplicate Detection
A "fresh" lead that you've already received from another provider is not fresh — it is a duplicate, and it is the single most common reason brokers waste acquisition budget. Our duplicate detection is based on a three-key fingerprint: the normalised email address (lowercased, trimmed, plus-addressing stripped), the normalised phone number (converted to E.164 international format with country code), and the source IP at the moment of opt-in. These three keys are concatenated and SHA-256 hashed, and the resulting fingerprint is checked against our entire historical database — not just the current batch.
This historical database includes every lead we have ever delivered to any customer since 2020, plus every lead we have rejected from any source. When a new lead arrives and its fingerprint matches a record we have already delivered to your brokerage in the past 12 months, the new lead is removed from your batch before delivery. When the fingerprint matches a record we have delivered to a different broker in the past 90 days, the lead is flagged for the shared-tier policy (Starter and Professional tier customers may receive leads shared with up to 2 non-competing brokers in different geos; Premium tier customers receive exclusivity by default).
Duplicate detection runs as a continuous background job across our entire inventory. The fingerprint index is rebuilt nightly to ensure sub-200ms lookup times at delivery, and the index is audited weekly by our QA team to confirm that no fingerprint has been silently corrupted or dropped. If you ever suspect a duplicate in a delivery, send us the email and phone of the suspected duplicate and we will trace the full delivery history of that fingerprint within one business day.
Step 5 — Activity Scoring
A verified phone number and a documented GDPR opt-in are necessary but not sufficient — we also need to know whether the trader is actually active. Activity scoring assigns every lead a 1-to-5 score based on three signals: recency of last trade or last deposit, magnitude of historical deposit history, and recent activity on the trading platform the trader uses (MetaTrader 4, MetaTrader 5, cTrader, TradingView, or the broker's proprietary platform). A score of 5 means the trader has traded within the last 30 days, has a cumulative deposit history above €2,000, and has logged into their trading platform within the past 14 days.
The activity score is the single most predictive field in our CSV when it comes to deposit conversion. Across the 250,000+ leads we've delivered since 2020, traders with an activity score of 5 convert to first-time depositors at roughly 3.4× the rate of traders with an activity score of 2, and 7× the rate of traders with an activity score of 1. Premium tier customers can filter delivery by activity score — for example, ordering only score-4 and score-5 leads for a high-LTV acquisition campaign, or mixing scores for a broader top-of-funnel push.
Activity scoring is also where we filter out leads that look "active" but have actually gone dormant. A trader who has not placed a trade or made a deposit in the past 90 days is removed from our active inventory entirely — they are not eligible for delivery regardless of activity score, because the score would necessarily be 1 (no recent activity). This 90-day rule is the reason our leads are, on average, fresher than industry-standard "fresh" data, which can be 6-18 months old by the time it reaches a broker.
Step 6 — Real-Time Dedup (for API delivery)
For Premium tier customers who opt for real-time API delivery (webhook or REST endpoint), the static duplicate-detection step from Step 4 is supplemented with a real-time dedup layer running at the webhook. This means every lead is fingerprint-checked against our historical database again, in real-time, at the moment we attempt to deliver it to your endpoint — typically in under 50 milliseconds. If the lead's fingerprint was delivered to your endpoint in the past 12 months, the webhook call is blocked and the lead is removed from your batch.
Real-time dedup matters because the gap between batch assembly and batch delivery can be hours or even days, and during that gap a lead can theoretically be re-sourced by another affiliate and re-entered into our pipeline. Without real-time dedup, you could theoretically receive the same lead twice in the same week — once from a Tuesday batch and once from a Thursday batch. With real-time dedup at the webhook, that scenario is impossible: the second delivery attempt is blocked at the wire.
The real-time dedup layer also enforces your exclusivity policy. For Premium tier customers, if the lead's fingerprint was delivered to any other broker in the past 90 days, the webhook call is blocked and the lead is routed to the broker who has exclusivity on that fingerprint. This is the technical mechanism by which we honour the exclusivity guarantee on Premium tier orders — it is not a contractual promise we make in the MSA, it is a code-level enforcement that runs on every single webhook call.
Step 7 — Final QA & Manual Sample Audit
Before any batch is released to a customer, a human QA analyst pulls a random 10% sample and reviews it manually. The analyst re-opens the source URL to confirm the opt-in form is still live and the privacy policy URL is still valid. The analyst dials a random phone number from the sample to confirm the trader answers and confirms consent. The analyst checks the GDPR consent timestamp against the source's published opt-in form to confirm the form was operational at that moment. And the analyst cross-references the activity score against the trader's stated platform activity to confirm the score is defensible.
If any sample lead fails any of these manual checks, the entire batch is held — not just the failed lead. The batch goes back to the source for review, and the source's rolling 30-day rejection rate is recalculated. If a single batch fails manual QA more than once in a 30-day window, the source is suspended and reviewed by our compliance team. This is the strictest step in our methodology, and it is the reason we have suspended 19 sources since 2020 — we do not deliver batches that fail final QA, even if the failure rate is technically within tolerance.
The final QA step also produces the replacement-eligible flags that flow into our replacement policy. Any lead that fails any step in the methodology — source verification, phone verification, GDPR consent, dedup, activity scoring, real-time dedup, or manual QA — is flagged in our internal system as replacement-eligible. These leads are never delivered to a paying customer. If a customer reports a lead that they believe should have been flagged (an unreachable phone, a bounced email, a duplicate from a previous order), we honour the replacement guarantee and ship a replacement within 48 hours, no questions asked.