The single most valuable thing a law firm can tell Google is which clicks became clients. Not leads, not calls: signed cases, with a rough sense of what each kind is worth. It is also the thing most firms never send, because it lives in the CRM, the ad account lives somewhere else, and nobody owns the pipe in between. Since June 15, 2026, that pipe has a new required route for anyone building it fresh. This guide is the plumbing, step by step, with the privacy lines drawn first.
Why this matters more than any bid change
Google’s automated bidding finds more of whatever counts as a conversion. If calls count, it finds calls. If signed cases count, with values, it learns which searches, times, places and ads produce clients worth having, and it bids for those. Google’s own value-bidding guidance describes exactly this: give each conversion a value that reflects what it’s worth to the business, and let bidding aim at value (Google).
Uploading signed cases is allowed for injury firms and every other practice. What Google bars in sensitive categories is personalized advertising (remarketing, Customer Match and lookalikes, Google), which is a different thing: uploads tell Google which clicks were valuable, not whom to follow around the internet.
What changed on June 15, 2026
Google announced that from June 15, 2026, new adopters can no longer import offline click conversions through the Google Ads API and must use Data Manager instead (Google Ads Developer Blog); only setups already active before that date kept the old route (PPC Land, secondary). Data Manager is Google’s tool for bringing first-party data into its ad products (Google). In practice, any firm that sets up uploads now, or rebuilds after changing agencies, builds on Data Manager.
What Data Manager reads, as of October 2026 (Google):
| Source type | Examples | Note for law firms |
|---|---|---|
| Spreadsheets | Google Sheets | The simplest start: a daily export from the CRM to a sheet |
| Warehouse | BigQuery | Better at volume, and supports cleaner automation |
| CRMs | HubSpot (lifecycle stages, Google), Salesforce (Lead, Opportunity and Order objects only, Google), Zoho | No legal CRM is a native source; Salesforce-based legal systems with custom intake objects need a bridge |
| File transfer | SFTP, HTTPS | Works with any CRM that can export on a schedule |
Data Manager also has an API that can validate a batch before sending it and restate a value later, for example when a qualified lead signs or is declined (Google). It launched in December 2025, so expect it to change; keep your adapters swappable.
The privacy line, drawn first
Before any plumbing, decide what may leave the firm. Prospective clients are owed confidentiality, and even identities can be confidential: New York’s bar treated client identities stored in a phone’s contacts as confidential information (NYSBA Op. 1240). So the upload level is the responsible attorney’s decision, signed before anything is sent.
| Sent to Google (Standard level) | Never sent, at any level |
|---|---|
| The click ID (GCLID, GBRAID or WBRAID) | Names, emails or phone numbers in the clear |
| A neutral stage name (“Stage 1”) | Injuries, diagnoses, treatment |
| A value band (“Band B”, carrying its representative value) | Charges, case facts, opposing parties |
| The time the stage was reached | Immigration status |
| Call recordings or notes |
Hashed contacts (“enhanced conversions for leads”) add a hashed email or phone. Keep them off by default. Google’s customer data policy excludes conversions about crime, divorce, health and negative financial status from enhanced conversions (Google), and hashing isn’t anonymizing (FTC). Family, criminal and immigration firms should never use them; injury, employment and other firms only after counsel’s review, consent at intake and the attorney’s sign-off.
Step 1: capture the click ID on every lead
Every Google ad click adds an ID to the landing-page address: gclid on most clicks, gbraid or wbraid on some app and iOS traffic. Capture it before the person calls or submits.
- Forms: a hidden field reads the ID from the page address (and from a first-party cookie if the person browses to another page first) and submits it with the form.
- Calls: your call-tracking tool shows a number tied to the visit and passes the click ID to the call record.
- Chat and text: the widget passes the ID with the conversation.
- Into the CRM: a dedicated field on the lead or intake record, never buried in a notes box.
Test it the boring way: click your own ad from a clean browser (only where that can’t create a billed Local Services lead), submit a test form marked as a test, and confirm the ID arrives in the CRM field. Then mark the record as a test so it never uploads.
Step 2: map your statuses to four neutral stages
Every CRM names intake statuses differently. What Google needs is four stages, defined the same way every time.
| Stage | Definition | Sent as |
|---|---|---|
| Lead | A real conversation about a new matter, in scope, not junk (calls past your minimum length) | Stage 0 |
| Qualified lead | Screened against your written case criteria and accepted as a potential case | Stage 1 |
| Consult set | A consultation or signing appointment booked, or the engagement agreement sent | Stage 2 |
| Signed case | Engagement agreement executed and recorded in the CRM | Stage 3 |
| Declined | Closed without signing, with a reason code | Never sent |
Free worksheet
The CRM stage map: fill in your own status names, then check four things
| Your CRM | Where intake statuses usually live | Your status names for Stage 1 / 2 / 3 | Published route toward Google uploads | Ask your vendor |
|---|---|---|---|---|
| Clio Grow | The intake pipeline stages for leads and matters | ____ / ____ / ____ | A Zapier template sends Clio activities to Google Ads as offline conversions (Zapier) | Can a scheduled export include the click-ID field and stage dates? |
| Lawmatics | Pipeline stages on the matter | ____ / ____ / ____ | Lawmatics documents sending offline conversions with click IDs (Lawmatics) | Does it send values, or only conversions? Does it use Data Manager for new setups? |
| Lead Docket | Lead statuses through to signed | ____ / ____ / ____ | No native Data Manager source; daily export to Sheets or SFTP | Which export or API carries the click ID and status timestamps? |
| Litify | Intake records on Salesforce | ____ / ____ / ____ | Data Manager’s Salesforce connector reads Lead, Opportunity and Order objects only (Google), so custom intake objects need a bridge | Can intake stages be mirrored to a supported object, or exported daily? |
| Filevine | Intake and project phases | ____ / ____ / ____ | No native Data Manager source; daily export or a bridge | Which export carries the click ID and phase dates? |
| SmartAdvocate | Intake statuses | ____ / ____ / ____ | No native Data Manager source; daily export or a bridge | Which export carries the click ID and status dates? |
Four checks for any mapping: every stage has a timestamp; declined leads carry a reason code; test records are flagged; the click-ID field is filled on at least 90% of paid leads.
Step 3: build value bands from your own fees
Values let Google tell a truck case from a fender-bender. Build them only from your own history:
- Expected case value for each case type = the average net fee on your resolved cases of that type over the last 24 to 36 months (fee received, minus unrecovered costs, minus fees shared with co-counsel).
- At least 20 resolved cases per type; below that, pool with the nearest type.
- Group into at most four bands, A to D, each sent with one representative value (its median, rounded to the nearest $500).
- Stage values. A qualified lead is worth the band value times how often that kind of qualified lead signs within 90 days, from your last 12 months.
- Recalibrate quarterly and date every change.
Worked example: a fictional injury firm
IllustrativeFour value bands from one firm's own resolved cases
| Band | Case types in the band | Median net fee (rounded) | Qualified leads that sign within 90 days | Value sent for a qualified lead | Value sent for a signed case |
|---|---|---|---|---|---|
| A | Commercial truck, catastrophic injury | $48,000 | 35% | $16,800 | $48,000 |
| B | Car crash with surgery | $14,500 | 45% | $6,525 | $14,500 |
| C | Car crash, soft tissue | $4,000 | 55% | $2,200 | $4,000 |
| D | Premises, minor injury | $2,500 | 40% | $1,000 | $2,500 |
Step 4: upload daily, inside the windows
Upload new stages every morning. Daily matters because the windows are short, and they differ by platform.
Platform rules, October 2026
How long each platform will accept a conversion after the click or event
Set each upload conversion action to the maximum 90-day click-through window, make one stage primary per bidding goal and the rest secondary so nothing counts twice, and log every failed row. Microsoft Advertising accepts offline conversions too, so the same export can feed Bing (Microsoft).
Step 5: move bidding in stages
| Step | When | Google aims for | Moves on when |
|---|---|---|---|
| Baseline | Days 0 to 14 | Current goals, waste cut | Tracking verified |
| Signal | From about day 15 | Stage 1, uploaded daily | Two weeks of clean uploads, failed rows under 2% |
| Value | Usually days 31 to 60 | Stage 1 carrying its stage value | 15 or more conversions in 30 days (Google) |
| Target | When volume allows | A return target from recent actual results | A deeper stage has enough volume |
| Deepen | When volume allows | Stage 2, then Stage 3 | Ongoing |
Most firms sign too few cases a month for Stage 3 alone to drive bidding. That is fine. A qualified lead carrying its signed-case-weighted value already prices each click by the case it’s likely to become.
Step 6: check it every week
- Match rate. Share of paid leads with a click ID in the CRM. Aim for 90% or better.
- Failed rows. Under 2% of each upload.
- Reconciliation. Signed cases uploaded versus signed cases in the CRM for paid channels, with the gap explained (outside the window, no click ID, declined consent).
- Timeliness. Share of qualified-lead decisions recorded within 7 days.
- Outages. When tracking breaks, tell Google to ignore those days with a data exclusion, and note it.
Local Services, Meta and Microsoft
- Local Services Ads don’t accept value uploads. Store each Local Services lead ID in the CRM, rate leads within 48 hours (ratings can go through the Google Ads API, Google), and credit signed cases by lead ID in your own report.
- Meta takes neutral stage events through its Conversions API within 7 days. Never build custom or lookalike audiences from CRM data.
- Microsoft takes offline conversions from the same export.
What this means for your firm
- Start with the field. If your CRM has nowhere to store the click ID, nothing else is possible. Add it this week.
- Write your stage definitions and map your status names to them. One page, signed by intake and the managing partner.
- Have the attorney sign the upload level. Standard everywhere; never hashed contacts in family, criminal or immigration.
- Use Data Manager for anything new, and keep the export simple: a daily file is enough to start.
- Check weekly. A pipe nobody checks quietly breaks.
Probative is AI-first SEO and ads for law firms. Our Google Ads service builds and runs this loop in your own account, and signed-case reporting reconciles it to your CRM every Monday. The definitions come from The Probative Standard, free to adopt.
Marketing information, not legal advice. What information about clients and prospective clients leaves the firm is your responsible attorney’s decision.