A personal injury firm came to me with a Google Ads account that reported 94 conversions a month at $110 each. The managing partner wanted to know why the firm had signed four clients from those 94. The answer was in the tracking: every chat widget open, every phone number click and every intake form, including the ones from other states, counted as a conversion. The four retained clients came from eleven qualified consultations. The real cost per retained client was over $2,500.
Legal is the most expensive category in Google Ads, and it has an additional constraint most industries do not: what a prospective client tells you is confidential, and it cannot end up in an analytics platform. This guide covers how I set up conversion tracking for law firms with Google Tag Manager, with lead qualification built in and confidentiality protected.
What a Law Firm Should Track
| Prospect action | Conversion action | Priority | Notes |
|---|---|---|---|
| Call from the ad | Ad Call | Primary | 60 second minimum |
| Call from the website | Website Call | Primary | tel: clicks |
| Intake form, qualified | Qualified Lead | Primary | Practice area and location match |
| Intake form, unqualified | Unqualified Lead | Secondary | Reporting only |
| Consultation booked | Consultation | Primary | From booking tool or intake software |
| Client retained | Retained Client | Primary, offline | Uploaded from case management |
| Live chat started | Chat Started | Secondary | Not a lead on its own |
The qualified and unqualified split is the heart of a legal account. Without it, Smart Bidding learns to find people who fill in forms, which is not the same as people with cases you take.
Prerequisites
- Google Tag Manager on every page, including landing pages and the booking page.
- tel: links on all phone numbers, including the mobile sticky bar.
- An intake form with a practice area field and a location field. If your form has neither, add them before anything else.
- Google Ads conversion IDs and labels.
- Your intake or case management software: Clio Grow, Lawmatics, Lead Docket, Filevine, Smokeball or similar, with a custom field available for the Google click ID.
- A written rule for your staff and your tag setup: no free-text form fields are ever sent to GTM, GA4 or Google Ads.
Step 1: Conversion Actions
Create the website conversions manually in Google Ads. Use Phone call lead for calls, Submit lead form for the leads, and Book appointment for consultations. Create Retained Client as an Import from clicks conversion with the value from the upload and a 90 day window.
Set Count to One for all of them. Mark Chat Started and Unqualified Lead as secondary.
Step 2: Conversion Linker and Click ID Capture
Create a Conversion Linker tag on All Pages. Add a Custom HTML tag that stores the gclid parameter in a first-party cookie for 90 days, and add a hidden gclid field to the intake form mapped to a custom field in your intake software. This makes the Retained Client import possible later.
Step 3: Track Calls
Enable Click URL, create a Click, Just Links trigger where Click URL starts with tel:, and fire Website Call on it. Add call assets with call reporting to every campaign for Ad Call.
Law firms benefit from a call tracking platform more than most. Call recordings let intake staff and marketing agree on which calls were qualified, and the platform can send qualified calls back to Google Ads as a separate conversion. If you use one, use its integration instead of the tel: method.
Step 4: Track the Intake Form With Qualification
Fire the conversion only on confirmed submission. Then push two values to the dataLayer from the form: the practice area selection and the location selection. Do not push the name, the message, or any other field.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'intake_form_submit',
practice_area: 'personal_injury',
lead_location: 'in_state',
lead_qualified: true
});
Set lead_qualified to true only when the practice area is one you handle and the location is inside your jurisdiction. Create two triggers from the intake_form_submit event: one where lead_qualified equals true firing the Qualified Lead conversion, and one where it is false firing Unqualified Lead.
Pass the same qualification into your intake software so the two systems agree.
Step 5: Track Consultation Bookings
If consultations are booked through Calendly, Acuity, Clio Grow's scheduler or Lawmatics, the confirmation usually happens inside a widget. The Calendly tracking video on this site shows how to capture the confirmation event from an embedded widget and send it to Google Ads with Enhanced Conversions. The same approach applies to most scheduling tools: listen for the booking confirmed message, push it to the dataLayer, fire the Consultation conversion.
If the booking tool redirects to a confirmation page, use a Page View trigger on that URL.
Step 6: Live Chat
Chat widgets fire events for chat opened, chat started and lead captured. Only the lead captured event, where a prospect has left contact details, belongs anywhere near a conversion, and even then as secondary. Chat opened is not a lead.
Step 7: Retained Client Import
Weekly, export from your case management software the matters that were retained, with the Google click ID, the retained date and, if you use value-based bidding, an estimated matter value. Upload under Goals, then Conversions, then Uploads, or schedule a Google Sheet. Clio Grow, Lawmatics and Lead Docket can automate this through their integrations.
After a month of uploads, review which campaigns produce retained clients. Firms are routinely surprised to find that the cheapest cost per lead campaign has the highest cost per retained client.
Step 8: Enhanced Conversions
Turn on Enhanced Conversions for the intake form and consultation booking. Create a User-Provided Data variable in GTM with the email and phone fields. The data is hashed in the browser. Do not include the name field alongside practice area in the same payload; email or phone alone is enough for matching.
Step 9: Consent and Privacy
Use a consent banner with Consent Mode v2 if you serve clients in the UK, EU or any US state with a consumer privacy law that applies to you. Beyond consent, audit your GA4 property once a quarter: search for any event parameters or page URLs that contain form content or case details, and remove the source. Query strings that include a prospect's message are the most common leak.
Step 10: Test and Reconcile
- GTM Preview: submit the intake form as a qualified lead and an unqualified lead, click the phone number, book a test consultation. Confirm exactly one correct tag per action.
- Inspect the Google Ads request in a tag debugger such as the Insighter Debugger extension. Confirm no free-text content appears anywhere in the request.
- Check Diagnostics on each conversion action the next day.
- After two weeks, compare Qualified Lead and Consultation counts against your intake software.
Common Mistakes in Law Firm Accounts
- Chat opens counted as leads.
- Intake forms from outside the jurisdiction counted the same as qualified cases.
- Case descriptions passed into GA4 through form fields or URL parameters.
- No click ID capture, so retained clients cannot be attributed.
- Bidding on Maximise Conversions with secondary actions accidentally set to primary.
- Google Ads reporting read without ever comparing to signed matters.
What Good Looks Like
Your account reports qualified leads, consultations and retained clients by campaign, keyword and location, with nothing confidential in any of it. The partners can see cost per retained client, not cost per form. And when a campaign produces 40 leads and no clients, you turn it off with confidence instead of debating it at the monthly meeting.
