If your firm takes leads through a web form, an inbound call line, a live chat widget, and a vendor API feed — all at the same time — you already know the problem: each channel produces leads that get entered into your system differently, tagged differently, and dispositioned differently. The result is lead data that looks clean on the surface but contains inconsistencies that corrupt your conversion rates, skew your rejection analysis, and undermine any cost-per-case calculation.
Standardizing lead disposition data across intake channels is unglamorous operational work. It is also the single most impactful data quality improvement most PI firms can make. Here's how to do it.
Why Intake Channel Inconsistency Happens
Different intake channels produce different data quality because they have different entry points:
- Web form leads — Data entered by the prospective client. Source attribution depends on UTM tracking. Intake staff reviews and dispositions later.
- Inbound calls via CallRail — Intake staff creates the record in real time while on the call. Under time pressure, fields get skipped or filled in quickly with less precision.
- Live chat leads — Often create incomplete records with minimal structured data. Source attribution is frequently missed.
- Vendor API feeds — Lead data structure is determined by the vendor, not your firm. Field mapping may be imperfect, and source values may need translation into your taxonomy.
- Text/SMS leads — Similar to chat: minimal structured data, often entered manually after the initial contact.
Each of these entry paths introduces different failure modes for lead source and disposition data. Fixing all of them requires a systematic approach — not a one-time cleanup.
Step 1: Define a Disposition Taxonomy
Before you can standardize disposition data, you need a controlled vocabulary for lead dispositions. Not every firm uses the same terms, but every firm should have one consistent set of terms used everywhere.
A functional PI intake disposition taxonomy typically includes:
- Pending Review — Lead received, not yet evaluated by intake
- In Progress — Intake consultation scheduled or underway
- Signed — Case retained by the firm
- Rejected — Does Not Qualify — Lead does not meet your case criteria (no liability, SOL expired, etc.)
- Rejected — Outside Geography— Lead is outside your firm's service area
- Rejected — Duplicate — Same prospective client entered more than once
- Rejected — No Contact — Unable to reach the prospective client after defined attempts
- Withdrawn — Client Withdrew — Client chose not to proceed after initial consultation
- Withdrawn — Firm Withdrew — Firm chose not to proceed after additional review
- Transferred — Referred to another firm
Rejection reason codes are particularly important because they let you diagnose vendor quality problems. “Rejected — Outside Geography” from a vendor you've given clear geographic parameters to is a different problem than “Rejected — Does Not Qualify.” The first is a vendor delivery problem. The second may be a case criteria communication problem.
| Disposition | Description | Category | |
|---|---|---|---|
| Pending Review | Not yet evaluated by intake | Active | |
| In Progress | Consultation scheduled or underway | Active | |
| Signed | Case retained by the firm | Converted | |
| Rejected — Does Not Qualify | No liability, SOL expired, etc. | Rejected | |
| Rejected — Outside Geography | Outside firm's service area | Rejected | |
| Rejected — No Contact | Unable to reach after defined attempts | Rejected | |
| Withdrawn — Client | Client chose not to proceed | Withdrawn | |
| Withdrawn — Firm | Firm chose not to proceed | Withdrawn |
Step 2: Implement Structured Fields in Your CMS
The disposition taxonomy only works if it's implemented as a structured, controlled-list field in your CMS — not freetext notes, not a field that some intake coordinators skip.
In LeadDocket, this typically means configuring the lead status workflow to include your disposition codes as required stages with required fields. When a lead is moved to “Rejected,” a rejection reason field should be required before the status saves.
In Salesforce or HubSpot, this means creating a structured picklist field for disposition with the values defined in your taxonomy, and configuring workflow rules or validation rules that require a disposition code when a lead record is closed.
The key principle: make it structurally difficult to disposition a lead without selecting the right code. Don't rely on training alone — the system should enforce the behavior.
Step 3: Map Each Channel to Your Taxonomy
Every intake channel needs an explicit mapping to your disposition taxonomy and your lead source taxonomy. Document this mapping.
Web Form Leads
Confirm that UTM parameters on your paid landing pages pass source data to your CMS. Web form leads should arrive pre-tagged with source (Google Ads – Non-Brand, Facebook – Retargeting, etc.) based on UTM parameters. Intake staff should only disposition the lead — not enter source data.
CallRail Inbound Calls
Each CallRail tracking number should map to a specific source in your taxonomy. When intake staff creates a lead record for an inbound call, they select from the source list — or better, the source populates automatically from the tracking number the call came in on.
Create a reference card for intake staff: “Calls from number ending in 4521 = Google Ads – Brand. Calls from number ending in 7863 = Vendor A.” Until automatic population is configured, this reduces freetext entry.
Vendor API Feeds
For each vendor that sends leads via API, document the source value that should populate when their leads arrive. Test the integration by pulling a week of vendor-sourced leads and confirming the source field is correct on every record. If it's not — if 20% show blank source or an unexpected value — the integration configuration needs to be corrected before it becomes a volume problem.
Chat and SMS Leads
These often require the most manual process improvement. Build a quick-entry template for intake staff: when a chat or SMS lead is entered manually, what are the required fields and what are the correct source values? A one-page intake entry guide reduces the “just get it in the system” tendency that produces incomplete records.
Step 4: Monitor for Drift Monthly
Standardization is not a one-time project. Intake staff turns over. New channels get added. A new vendor feed gets set up without updating the source mapping. A new intake coordinator learns the system differently.
Build a monthly data quality check:
- % of leads from the prior month with a blank source field — target less than 2%
- % of leads from more than 60 days ago still showing “Pending” — should be near zero
- Unique source values in the CMS — if new values appear outside your taxonomy, trace where they came from and correct them
- Rejection rate by source — sudden changes may signal a data entry pattern change rather than an actual vendor shift
This monthly check takes 20-30 minutes once the initial cleanup is done. It prevents the gradual data quality erosion that undermines reporting accuracy over time.
The Payoff for Revenue Intelligence
Clean, consistent disposition data across all intake channels does one specific thing for revenue intelligence: it makes your conversion rates by source trustworthy. And trustworthy conversion rates are what separate “this vendor seems to be performing well” from “this vendor has a 31% conversion rate versus our 22% average — here's exactly why they should get more budget.”
The conversation changes when the numbers can be trusted. And the numbers can only be trusted when the data going in is consistent.
Want to see how RevenueScale handles multi-channel lead attribution and disposition tracking? Book a demoand we'll show you the data flow from intake channel to cost-per-case dashboard.
Related guide: See our complete guide to PI intake performance — the 8 metrics every PI firm should track, benchmarks, and how to connect intake data to marketing attribution.
Related guide:For the complete category guide, see ourdefinitive guide to Revenue Intelligence for Personal Injury Law Firms — the four intelligence layers, the maturity model, and the 90-day path from spreadsheets to a connected revenue engine.
