A prospect hears about a firm from a former client, searches the firm’s name, clicks an ad, calls, submits a form the next day, and signs two weeks later.
The ad platform reports two conversions. Call tracking reports one lead. The CRM contains two contacts. The case-management system contains one new client. Intake says “referral.”
None of those records has to be false. They answer different questions.
The useful goal of law firm attribution is not to force the journey into one perfect source label. It is to preserve one prospective matter, connect the observable interactions and decisions around it, and make the rule for assigning credit explicit. That lets the firm count clients correctly, return useful quality signals to campaign managers, and keep “we observed an interaction” separate from “the advertising caused the matter.”
Decide what the record represents
Use three related objects rather than one overloaded “lead” row:
- Person: the individual or organization contacting the firm.
- Prospective matter: the legal need the firm may evaluate. This is the primary unit for qualification and retention.
- Interaction: each call, form, chat, email, visit, ad exposure, or other observable event connected to that person and matter.
One person may make several contacts about one matter. The same person may return years later with a different matter. An assistant or family member may contact the firm on someone else’s behalf. That is why email or phone number alone should not silently become the matter identifier.
Create a stable inquiry or prospective-matter ID as early as the firm’s systems permit. Link possible duplicates for review instead of merging ambiguous records automatically. Preserve the original records and the reason for any merge.
Keep observation, memory, decision, and money separate
Four types of data belong together without becoming interchangeable:

Scroll sideways to review every column.Each row is shown as a labeled card.
| Evidence | Example | What it supports | What it does not prove |
|---|---|---|---|
| Observed interaction | Paid search click, tracked call, form submission | The system recorded a contact or advertising interaction under its rules | The full influence history or incrementality |
| Self-reported influence | “A former client told me about you” | What the prospect remembers or chooses to report | A complete ordered path |
| Firm decision | Qualified, conflict, referred out, declined, retained | What happened in intake and attorney review | Which marketing touch caused the decision |
| Financial outcome | Expected fee, amount billed, collected fee, delivery cost | The economics recorded for the matter | Whether the matter would have arrived without advertising |
Never overwrite “referral” with “paid search” because a click ID exists. Never overwrite the observed paid click because the prospect names a referral. Keep observed acquisition source and self-reported influence as separate fields.
That separation is especially useful for branded search. A paid branded click may have helped the person find the right phone number after a referral. It may also have captured someone who would have clicked the organic result. Attribution can assign credit according to a rule; it cannot settle the counterfactual by itself.
Build a minimum viable data contract
The related marketing, intake, CRM, and case-data guide helps assign the system handoffs, while intake metrics tied to retained clients and revenue define the outcomes the record must preserve.
The data contract defines what each system sends, which field wins when values conflict, and who repairs an error. Start smaller than the full wish list.
Scroll sideways to review every column.Each row is shown as a labeled card.
| Field | Example | System of record | Owner | Rule |
|---|---|---|---|---|
| Prospective-matter ID | Q-104 | CRM/intake | Intake operations | Created once; retained through matter opening |
| First inquiry timestamp | 2026-09-03 14:12 ET | Intake | Intake operations | Never replaced by later contact time |
| Observed source | google / cpc | Analytics or tracking layer | Marketing | Preserve raw source and normalized channel |
| Campaign/click key | Campaign ID + supported click ID | Tracking layer | Paid media | Store only when permitted and technically supported |
| Self-reported influence | Former client referral | Intake | Intake operations | Multi-select or structured detail; do not force into observed source |
| Validity | Valid | Intake | Intake operations | Spam, test, vendor, duplicate reasons remain reportable |
| Qualification | Qualified | Intake/attorney review | Firm | Uses written matter-fit definition; pending is separate |
| Loss reason | Chose another firm | Intake/attorney review | Firm | Required at closure; no free-text-only taxonomy |
| Retained milestone | Agreement complete | CRM/case system | Firm | One documented definition and timestamp |
| Matter ID | M-782 | Case system | Firm | Linked after opening; not substituted for inquiry ID |
| Expected fee basis | Matter-type model v3 | Finance | Finance | Version and date retained |
| Collected fee | $… | Accounting | Finance | Cash received, with date; never inferred from signed value |
Document three null states: not yet known, not collected, and not applicable. A blank value should not silently become “direct traffic,” “unqualified,” or zero revenue.
Walk one hypothetical record through the system
Here is the earlier journey with a stable ID:
Scroll sideways to review every column.Each row is shown as a labeled card.
| Date | Event | Record treatment |
|---|---|---|
| September 1 | Former client recommends the firm | Not observed by marketing; later captured as self-reported influence |
| September 3 | Prospect searches the firm name and clicks an ad | Interaction attached to Q-104; observed source paid branded search |
| September 3 | Tracked phone call creates Q-104 | One inquiry; call event retained |
| September 4 | Prospect submits a form | Form linked to Q-104 after human-reviewed duplicate match; not a second inquiry |
| September 8 | Intake confirms fit | Qualification status and reason recorded |
| September 17 | Engagement milestone completed | Q-104 becomes one retained client under the firm’s definition |
| September 18 | Matter M-782 opens | Matter ID linked; Q-104 preserved |
| October 2 | First fee collected | Collection attached to M-782 and reportable back to the Q-104 cohort |
The firm has one prospective matter, one retained client, several interactions, an observed paid-search route, and a remembered referral.
Different views can now answer different questions:
- Operational source view: paid branded search was the observable acquisition route into the tracked contact.
- Self-reported influence view: a former client influenced the choice.
- Google Ads attribution view: credit follows the conversion action’s Google Ads attribution model and eligible Google ad interactions.
- Firm-level client count: one retained client.
- Incrementality view: unknown from this record alone.
That is a coherent answer. The apparent disagreement is preserved as useful context rather than “fixed” by deleting data.
Test every handoff with evidence, not settings screenshots
Run labeled test records through the public experience and trace them to the destination system. Test at least:
- a mobile ad click followed by a form;
- a click-to-call or displayed tracking number;
- an after-hours call and missed-call path;
- a duplicate call plus form from the same test identity;
- an inquiry routed to a second office or practice;
- a qualification update;
- a retained-status update; and
- a corrected or withdrawn outcome where the integration supports it.
For each test, record the timestamp, page, displayed phone number, route, tracking key, created IDs, field values, destination, and whether the record was excluded from performance totals.
The check is end to end. “Everything looks right in the account” does not establish what the prospective client sees or what reaches intake.
Import only outcomes that are defined and safe to use
When outcome feedback changes bids, apply the human controls around AI bidding. When an influence remains outside the record, use the untracked client-research method instead of inventing attribution.
Sending a later-stage outcome to an ad platform can help reporting and bidding distinguish a raw contact from a more useful event. It also creates risk if the event is vague, duplicated, delayed, or built from data the firm should not send.
Before an import, define:
- the business event and exact timestamp;
- the source key that connects it to the ad interaction;
- the deduplication key;
- adjustment, retraction, and correction handling;
- permitted identifiers and data transformations;
- notice, consent, confidentiality, retention, and access decisions;
- upload schedule and lateness window; and
- diagnostics, rejected rows, and reconciliation owner.
Google’s current offline conversion guidance says that offline conversion and enhanced-conversion-for-leads uploads moved toward the Data Manager API beginning June 15, 2026, with legacy access conditions. Verify the current supported method for the account. A technically accepted upload still needs to match the source records.
Do not send case narratives, allegations, diagnoses, privileged communications, or other unnecessary sensitive facts. Hashing an identifier changes its representation; it does not answer whether the underlying use is appropriate.
Choose attribution rules for a purpose
Attribution allocates credit among recorded interactions. The right view depends on the decision.
Scroll sideways to review every column.Each row is shown as a labeled card.
| Decision | Useful attribution view | Caution |
|---|---|---|
| Adjust bids within Google Ads | The conversion action’s supported Google Ads model | The model covers eligible recorded Google ad interactions, not every outside influence |
| Compare firm-level channel outcomes | One reconciled rule across channels | Platform totals cannot simply be added because several may claim the same client |
| Understand referral influence | Self-reported source plus referral records | Memory is incomplete and wording changes responses |
| Allocate a shared acquisition budget | Multi-touch or agreed firm rule plus distinct client counts | Credit allocation is not causal proof |
| Test whether ads create additional demand | Designed incrementality experiment or credible comparison | Attribution alone cannot answer the counterfactual |
Google Ads currently supports last-click and data-driven attribution for relevant conversion actions; older first-click, linear, time-decay, and position-based models are no longer supported. Google explains the current models and their effect on reporting and bidding in its attribution documentation. Record the actual model, conversion action, inclusion status, and change date rather than writing “Google attribution” as if it were permanent and singular.
At the firm level, state the credit rule, lookback window, eligible interactions, treatment of view-through or modeled events, and value basis. Preserve a separate count of distinct retained clients. If Meta, Google, and a sponsorship report each claim influence over Q-104, the firm still retained one client.
Reconcile with queries that reveal failure
A monthly tie-out should do more than force totals to agree. Run questions that expose where the chain broke:
- Which platform conversions have no prospective-matter ID?
- Which valid inquiries have no observable source and no self-reported influence?
- Which inquiry IDs connect to several people or several unrelated matters?
- Which retained clients have no first-inquiry date?
- Which imported outcomes were rejected, duplicated, or accepted with a different timestamp/value?
- Which qualified inquiries remain open beyond the firm’s expected decision window?
- Which cohorts mix forecast value with collected fees in one total?
- Which channel totals exceed the number of distinct retained clients because credit overlaps?
Set tolerances based on the system, then preserve unresolved differences. Changing a definition to make two totals tie destroys evidence.
Use cohorts to prevent timing from rewriting the story
Group prospective matters by first inquiry date. Follow each cohort through qualification, retention, and collection. Show its age and incomplete outcomes.
This prevents September spend from being divided by every September engagement, including people who first contacted the firm in earlier months. It also prevents a long-consideration campaign from looking permanently weak because recent inquiries have not had time to reach the engagement decision.
Keep two clocks:
- interaction clock: when the ad touch or contact occurred;
- business-outcome clock: when qualification, retention, or collection occurred.
Both are useful. Confusing them produces false trend explanations.
Keep attribution in its proper role
Use the paid-media metric chain to diagnose the handoff, then test the result against retained-client economics and the limits of ROAS.
Attribution is good at connecting records, allocating observed credit consistently, feeding supported business outcomes into campaign decisions, and exposing operational gaps.
It is not, by itself, proof that the advertising created incremental clients. A person may have contacted the firm without the ad. A sponsorship may influence the person without receiving observable credit. A platform model may distribute credit only among interactions it can see.
When the budget and volume justify it, incrementality requires a credible counterfactual: a designed geographic or audience test, a time-based intervention with serious controls, or another method suited to the decision. Many firms will not have enough volume for a precise causal estimate. Say so.
Ask Juris Digital to trace one matter, not show another dashboard
Juris Digital’s law firm PPC and paid media service includes the connection from campaigns and landing pages to intake feedback and retained-client measurement. If that is the gap you are trying to close, bring one anonymized inquiry cohort, your stage definitions, and a diagram of the current systems.
Ask us to trace a single prospective matter from observable ad interaction to intake and the retained milestone, then identify the first unsupported handoff. That exercise will tell you more about the work required than a promise of “full-funnel attribution.” It also creates a bounded first decision: which field, integration, or operating habit has to be repaired before the firm can trust the next report?
Last updated: