Teaching Google Ads What a Case Is Worth
Part two of the law firm engagement. The account had clean tracking and qualified-call conversions, but every conversion imported at zero dollars, so Smart Bidding treated a $2,500 document review and a $15,000 litigation case as equals. I built a call-scoring system that reads every recorded paid call, prices it with the firm's own numbers, and feeds real matter value back into bidding. $1.32M in case value was written onto qualified leads, and the value is verifiably arriving on the primary conversion actions Google optimizes toward.
01 The numbers
- 236 Phone calls scored in the first pass
- $1.32M Matter value written onto qualified leads
- 132, zero errors Qualified leads valued in the backfill
- 0 Duplicate qualified leads created since the dedup rule
02 The breakdown
The Setup
This is part two. Part one rebuilt the account around intent and fixed the tracking so qualified phone calls, not raw form submits, drove the numbers.
That left a quieter problem. The firm converts on the phone. The call-tracking platform imported qualified calls into Google Ads as conversions, and every one of them arrived worth zero dollars. Smart Bidding could count leads. It could not tell that one caller was a $2,500 contract review and the next was a $15,000 partition lawsuit. To the algorithm, they were identical.
What Was Broken
Two gaps, one on each side of the signal.
Nobody was consistently scoring the calls. Intake was busy running a law office. Calls got labeled qualified or not with human lag and human drift, and a meaningful share never got labeled at all.
Qualified had no dollar value. The import pipeline supported passing a sales value per lead. The field sat empty. Value-based bidding was one populated field away and had never been turned on.
There was also a structural trap most call-first accounts share: only about 15% of the firm’s paid calls carried a click ID. If the value had been wired to click-based imports alone, most of it would never have matched. The existing phone-and-time based import with enhanced matching was the right rail. It needed the value.
What I Built
A scoring system that treats every recorded call like a junior analyst would, with the firm’s own definitions:
- Every inbound paid call gets transcribed locally. The audio never leaves the machine it runs on. Transcripts are kept, because transcription is the expensive step and every future question gets answered from text in seconds.
- Each call is scored to a three-outcome rubric. Booked or retained. Warm but unclosed. Not viable. Before trusting it, I benchmarked the scoring against calls the firm’s own team had labeled by hand. On clear rejections it matched 6 for 6. Where it disagreed with a human Yes, the transcript showed the human label was loose, not the machine.
- Each qualified call is classified into the firm’s 13 matter types, which fold into three value tiers the firm itself priced: negotiations at $2,500, probate at $9,000, litigation at $15,000. I did not invent the values. The firm put its own prices on its own work.
- The value writes back only on qualified leads, never on rejections, and a hard rule allows one qualified conversion per caller per month, so a persistent caller cannot inflate the count. The write order is deliberate: audit note first, committing field last, so a mid-write failure leaves the lead retryable instead of corrupted.
- The existing import rail carries it into Google Ads automatically. No new connector. The one missing field, populated.
The Result
The first backfill pass valued 132 qualified leads with zero errors: 36 negotiations, 35 probate, 61 litigation, $1,320,000 in matter value now riding the import into the account. The window held more qualified leads than that; the rest were non-legal matters, deliberately left unvalued, or older calls with no stored transcript to classify from. Nothing was guessed. The first live scoring pass read 236 calls and sorted them into 67 qualified, 110 not viable, and 59 follow-ups. The system now runs unattended five nights a week.
And the last mile is confirmed, not assumed. Checked in the account itself, read-only: the two conversion actions the values ride are enabled, set as primary for the account’s goal, which makes them exactly what bidding reads, and they carried six figures of matter value in the trailing thirty days alone.
What I Did Not Claim
A CPA improvement. The values started flowing in mid-June. Smart Bidding retrains on weeks of data, not days, so the CPA and case-mix effects get measured in a future update, not asserted in this one. What is verified today is the signal itself, checked lead by lead against the call-tracking platform.
The Takeaway
Smart Bidding optimizes toward exactly what you feed it. Feed it counts and it buys you callers. Feed it dollars and it starts buying you the callers your practice is built on. For any business that converts on the phone, the highest-leverage field in the whole stack is one nobody fills in: the value.
Run a call-first business and every conversion is worth the same to Google? That is fixable.
03 More work
Other accounts, same approach.
50% ad spend reduction
A real estate law firm was burning budget on broad-match keywords with broken conversion tracking. I rebuilt the account around intent, fixed the data, and cut spend in half while doubling qualified signups inside 90 days.
Read the breakdown→
gcs=G1-- (denied) consent state on beacons, before
A WooCommerce brand's visitors were accepting the cookie banner, and the Google beacons still fired with consent denied. The free tier of the consent platform never told Google about the yes. The ad account had been bidding on modeled data for users who had opted in. The fix was a small PHP snippet at the right priority.
Read the breakdown→Ready to talk
Want this kind of breakdown on your account?
Thirty minutes on the phone. One clear set of next steps. Same person on the call as on the work.