Picture the first Monday of the month: Vendor A's CSV is in your Downloads folder, Vendor B's portal is open in one tab, Vendor C's PDF summary arrived Friday, Google Ads has its own dashboard, and CallRail has another. Your CMS lead counts don't match any of them. You spend two hours building a spreadsheet just to get a number you're still not confident in.
That fragmentation is why your “cost per case by source” is always an estimate — never a fact. Five vendors, five formats, zero consistency.
Here's how to build lead source tracking that works regardless of how each vendor reports.
Step 1: Define Your Source Taxonomy First
Before touching a single vendor format, define your firm's internal source taxonomy — the canonical list every lead maps to, no exceptions. This is the standard vendor data gets translated into, not the other way around.
Two levels: source category and source name.
- Category: Paid Search — Source: Google Ads – Brand, Google Ads – Non-Brand, Bing Ads
- Category: Paid Social — Source: Facebook / Instagram, TikTok
- Category: Lead Aggregators— Source: Vendor A, Vendor B, Vendor C (use the vendor's actual name)
- Category: Pay-Per-Call — Source: CallRail – Google, CallRail – Direct, specific call vendors
- Category: Television — Source: TV Vendor Name – Market
- Category: Referral — Source: Attorney Referral, Client Referral
- Category: Organic / Web — Source: Organic Search, Direct
Every lead that enters your firm maps to exactly one source in this taxonomy. Build it first — then translate vendor data into it.
Step 2: Standardize How Sources Enter Your CMS
Keep reading
Your case management system is the master record. The source field must be structured — not a free-text note, not a dropdown that says “Internet,” not a field half your intake team skips.
In LeadDocket, configure the lead source dropdown to match your taxonomy exactly. Train your intake team to select the correct source on every lead. For web form and API leads, pass the source field automatically — never leave it to manual entry.
In Salesforce, HubSpot, or Lawmatics, the same rule applies: a structured picklist field, mapped to your taxonomy, required on every record. Not optional. Not freeform.
Have years of inconsistent legacy tagging? Flag it as a known data quality issue, pick a clean cutoff date, and move forward. Don't let imperfect history block you from building a clean system starting now.
Step 3: Build a Source Reconciliation Process for Vendor Reports
Your job is to translate each vendor's format into your taxonomy — not the reverse. Here's how to handle the most common formats:
Vendor Portals and PDFs
Export or manually record the monthly lead count and spend per vendor. Map the vendor name to your taxonomy. If a vendor sends leads from multiple sub-sources (e.g., a directory covering auto accident and premises liability), decide upfront whether to split them or aggregate under the vendor name — and document that decision.
CSV Exports
CSVs are the easiest format to work with. Map the vendor's lead identifier — usually name + phone number or a unique lead ID — back to the record in your CMS, and confirm the source field was set correctly on entry. If leads came via API feed, that mapping is already automatic. If not, the CSV step catches any mismatches.
Google Ads and Meta (Facebook) Ads
Ad platform reporting maps to your taxonomy at the campaign level: “Google Ads – Brand” corresponds to brand search campaigns, “Google Ads – Non-Brand” covers generic personal injury terms. CMS source names should mirror this structure exactly so ad spend allocates to the right source without guesswork.
UTM parameters on your web forms auto-populate the lead source field when a web lead submits — removing manual entry for web-sourced leads entirely. If you're not using UTMs yet, this is the highest-leverage change you can make today.
CallRail
CallRail assigns tracking numbers by source. Configured correctly, a call from a number tied to your Google Ads campaign passes the source straight into your CMS via CallRail's integration. The setup requires mapping each tracking number to its taxonomy source — but once complete, call-sourced leads flow in with accurate attribution automatically.
Step 4: Build a Monthly Reconciliation Ritual
Good systems still produce discrepancies. A vendor reports 45 leads; your CMS shows 43 from that source. A Google Ads lead came in via a form but the source field reads “Direct.” Left unchecked, these gaps compound into reporting errors that erode trust in your numbers.
Run a consistent monthly reconciliation:
- Pull your CMS lead count by source for the prior month
- Compare against each vendor's reported lead count for the same period
- Flag discrepancies greater than 5% for investigation
- Record vendor spend by source for the same period
- Calculate cost per lead and cost per case by source using the reconciled numbers
Done manually, this process runs two to three hours a month. With RevenueScale's revenue intelligence integrations pulling vendor data and CMS data together automatically, it takes closer to 15 minutes — because the system surfaces the discrepancies and you review them rather than building the comparison from scratch.
Pull CMS Lead Count
Lead count by source for the prior month
Compare to Vendor Reports
Match against each vendor's reported lead count
Flag Discrepancies
Investigate gaps greater than 5%
Record Spend
Vendor spend by source for the same period
Calculate Metrics
Cost per lead and cost per case using reconciled numbers
Step 5: Lock Down Your Source Fields Going Forward
The biggest enemy of clean source data is entropy. New intake coordinators use different names. A vendor gets added without a taxonomy entry. Someone types “Goog” in a freeform field instead of selecting “Google Ads – Non-Brand.” Small drift compounds fast.
Prevent it with four controls:
- Required structured source fields — no blanks, no freeform text
- A defined process for adding new sources to the taxonomy before they go live
- Quarterly audits of source field data to catch drift early
- Written training documentation for intake staff on source selection
80% of PI firms still track marketing ROI manually in spreadsheets — largely because their source data is too inconsistent to trust for automated reporting. Fixing taxonomy and field discipline upstream is what makes automation reliable downstream.
The Payoff
When your source taxonomy is clean, your CMS fields are structured, and your monthly reconciliation is consistent, cost per case by source becomes a number you produce in minutes — not hours. That shifts the managing partner conversation from “I think Vendor A is performing well” to “Vendor A's cost per case is $1,200 against our $1,800 target — here's exactly why I want to increase their budget.”
That's what clean source tracking unlocks: confidence behind the number, not just the number itself.
See how RevenueScale standardizes vendor data across formats — and produces cost per case by source automatically.
Related guide: See our complete guide to lead source tracking for law firms — the 4-level attribution chain, 8 data points, and 5-step tracking system every PI firm needs.
Related guide:For the foundational guide that frames every post in this cluster, seeRevenue Intelligence for Personal Injury Law Firms: The Definitive Guide — the category thesis, the Four Intelligence Layers, and the path to Level 3 maturity.
Related guide:For the full vendor landscape behind this analysis, read our pillar onPI lead vendors and how to evaluate them — with real cost-per-case numbers from the major networks and how to spot a vendor in decline.