HomeAbout
Part of: Marketing attribution

Immigration Law Marketing Attribution

By Mohammad Kashif, Chief Technology OfficerLast updated

Immigration attribution fails in four places: prospects search in several languages, community referrals land as direct traffic, one client files matters for years, and policy shifts spike demand. Track language, ask the source question, count clients not matters.

Cost per signed case and cost per client are different numbers here, and the gap widens every year. As an illustration rather than a result to expect: divide a Starter plan at $599 a month by five new clients and the cost is about $120 each, and if each of them files two matters over the following decade the per-matter figure halves on its own, with nothing about the marketing having changed.

Why your keyword report misses the searches your clients actually type

Keyword research tools and most marketing reports default to one language. An immigration practice's demand does not. The same buyer in the same city expresses the same intent differently depending on which language they think in, and a report built from English terms alone describes one slice of a market while implying it is the whole thing. The gap is not a ranking problem first. It is a counting problem, because demand you never queried for cannot appear in a demand estimate.

The data usually exists before the pages do. Google Search Console returns queries in whatever language they were typed, so an export that has not been filtered will show the language mix directly. For deciding which second language to publish in, the Census Bureau's American Community Survey publishes language spoken at home by metro area, which is a defensible basis for the decision rather than a partner's impression of who walks through the door.

The concession is that publishing a translated page is not the same as ranking in that language, and can be worse than doing nothing. Machine translated duplicates of English pages compete with their originals and often rank for neither. A translated landing page routed to an English-only phone greeting and an English intake form produces sessions and no signed matters, which in a report looks exactly like a channel that does not work.

  • Export the Search Console query list without a language filter, and group queries by language before you group them by topic.
  • Record the language of the page that produced the inquiry on the conversion event, and the language of the consultation on the intake record. Without both fields, language is invisible in every downstream report.
  • Give each translated page its own tracked number and its own intake path, or the call log merges two markets into one line.
  • Declare the page language in markup, with the lang attribute and paired alternates, so the versions are read as alternates rather than duplicates.
  • Staff the channel before you open it. A second-language page answered in English is a measurement problem and a client experience problem at the same time.

How do you attribute a client whose cousin sent them your link?

Community and family referral is a dominant channel in immigration and it is close to invisible in analytics. The recommendation happens in a conversation, the link travels through a message thread, and it opens in an in-app browser that passes no referrer. The session arrives labelled direct. Direct traffic in an immigration practice is therefore not a measure of brand demand, which is how most reports read it. It is mostly the referral channel with the label torn off.

The harder version of the problem is that the referral channel sits downstream of every other channel. The cousin doing the recommending found you somewhere, possibly a year earlier, possibly through a search that produced no inquiry at the time. A model assembled only from digital touchpoints will credit whatever happened last and will systematically understate the work that created the impression in the first place.

The only instrument that reaches this is asking, at intake, in the language the consultation is in, and writing the answer into a structured field rather than a note. Ask twice: how they found you, and who referred them. The second question is what converts an anecdote into a countable channel, and it doubles as the list of former clients worth staying in contact with. Accept that the answers will be imprecise. A bucket you have sized honestly is more useful than one you have silently redistributed across the channels you can see.

  • Ask the source question at intake in the client's language, and store the answer in a field, not in free text.
  • Ask who referred them and whether that person was a client. That link is what makes word of mouth countable.
  • Treat direct traffic as an unresolved bucket rather than as brand demand, and report it as its own line.
  • Add a campaign tag to the links you hand out yourself, on community organisation pages, partner sites and clinic materials, so the referrals you can label stop landing in the same bucket as the ones you cannot.
  • Give the referral channel a line in the report even though no spend attaches to it. Leaving it out inflates every channel that does carry spend.

Should you measure cost per case or cost per client when one family files for years?

The unit of measurement question is sharper in immigration than in any other practice area, because one relationship produces a sequence of matters across a decade. The petition comes first. Adjustment of status or consular processing follows whenever the priority date becomes current, which the State Department's monthly Visa Bulletin controls and which can sit idle for years depending on category and country of birth. Work permit renewals recur in the meantime. Conditional residents file to remove conditions around the two year anniversary of approval. Naturalization arrives after five years as a permanent resident, or three for spouses of citizens. Then the client becomes a petitioner for somebody else.

Cost per signed case divides spend by matters, so the same client is counted several times and the marketing that produced them looks cheaper every year they stay. Cost per client divides by relationships, which is the number that can be compared across channels, but it understates what the relationship is worth. Both are true. Only one of them is comparable to last quarter, and firms get into trouble by quoting whichever is flattering at the time.

Pick the denominator, write it down, and do not switch it mid-year. Report cost per new client as the channel metric, report revenue per client over the relationship as the value metric, and treat matters per client as a multiplier between them rather than as a denominator of its own. At $599 a month, the arithmetic is simple enough to do by hand; the discipline is in refusing to recount a returning client as a new acquisition.

  • Give every client a persistent identifier that survives across matters, and stamp the acquisition source on the client record rather than on each matter.
  • Report cost per new client for channel comparison. A returning client filing a third matter is revenue, not acquisition.
  • Never let a returning client's booking overwrite the original source field. That single overwrite is how years of referral credit turns into direct traffic.
  • Track revenue per client across the sequence, so the channel that brings in family-based work is not judged against the channel that brings in one-off filings.

How do you compare this quarter to last quarter after a policy change?

Demand in immigration is policy driven in a way that most practice areas never experience. A designation announced or ended, a filing window that opens, a fee schedule change, an injunction, a processing backlog that clears: any of these can multiply searches for one matter type within days and collapse them just as fast. Period-over-period reporting assumes a stable baseline, and here the baseline is the thing that moved.

The two misreadings are symmetrical and both expensive. A channel looks like it doubled when the category doubled underneath it, so the budget moves toward a channel that did nothing in particular. Or a channel looks broken because the policy that generated its demand was rescinded, so the budget moves away from a channel that is still doing its job. Neither error is visible in a chart that only shows your own numbers over time.

Annotate rather than model. Keep a dated log of policy events beside the analytics property so every spike has a candidate explanation on the same timeline, and compare against category demand rather than only against your own previous period. If inquiries for one matter type rose at roughly the rate national interest in that matter type rose, you held your share and gained nothing, which is a useful and unflattering finding. The honest limit is that you cannot separate the policy effect from your own work to the precision people will ask for. Holding one unaffected matter type as a control line is the closest defensible approximation.

  • Keep a dated annotation log of policy events, filing windows and fee changes, on the same timeline as the traffic chart.
  • Report by matter type always. An aggregated immigration inquiry count hides the only movement worth reading.
  • Hold an unaffected matter type as a control, so a firm-level change is distinguishable from a category-level one.
  • Expect consultations to spike before filings do, and expect the eligibility decline rate to spike with them.
  • Do not rebuild the budget on a single month inside a policy window. The demand that arrived on an announcement usually leaves the same way.

What immigration attribution still cannot tell you

A share of this demand is measurable only as a total and never by source, and saying so plainly is what keeps the rest of the reporting credible. Clients with status concerns are reasonably reluctant to leave a trail. Some will not complete a web form, some call from a relative's number, some give a first name only until they are in the room, and some will not answer the source question candidly no matter how it is asked. No tracking configuration fixes that, and treating it as a tracking defect leads to intake changes that cost more cases than they recover.

There is a second blind spot that looks like a channel quality problem and is not. In a practice where the consultation is often the product, a large share of inquiries end in no available relief. In a conversion report those are indistinguishable from unqualified leads, so a channel reaching people who genuinely need an answer and have no path forward gets defunded for doing exactly what it was asked to do. Separating a not eligible outcome from a not interested outcome at intake is a one field change that prevents it.

  • Clients who avoid forms, call from another person's phone, or withhold a name at first contact.
  • Consultations that end in no available relief, which look identical to unqualified leads in a conversion report.
  • Referrals from community organisations, congregations and employers, which arrive as a call with no preceding search.
  • Matters that move to another firm mid-sequence and return years later for naturalization, carrying no usable source at all.

One immigration client, several matters, and where the original source gets lost

Matter in the sequenceWhat triggers itTime after first contactOriginal source still attached?
Initial petition or applicationThe first inquirySame monthYes, if the inquiry was tagged
Adjustment of status or consular processingPriority date becomes current on the Visa BulletinMonths to many years, by category and countryOnly if matters link back to a client record
Work permit renewalThe current document expiresRecurring while the case is pendingUsually not, booked as an existing client
Removal of conditionsThe two year conditional residence anniversaryAbout two years after approvalRarely
NaturalizationFive years as a permanent resident, three for spouses of citizensThree to five years after approvalRarely, usually logged as a new matter
Petitions for other relativesThe client becomes the petitionerAny time after statusNo, it arrives as a referral

Common questions

How do I track immigration leads who search in Spanish or another language?
Start with the query export from Google Search Console with no language filter applied, because the searches are already being recorded whether or not you rank for them. Then add language as a field in two places: on the conversion event, so you know which page produced the inquiry, and on the intake record, so you know which language the consultation happened in. Give each translated page its own tracked number, otherwise the call log merges the two markets into a single line and neither can be evaluated.
Why does so much of my immigration firm's traffic show as direct?
Mostly because links shared in message threads open in in-app browsers that pass no referrer, so analytics has nothing to classify the visit with and files it as direct. In a practice where community and family referral is a dominant channel, that bucket is not brand demand, it is word of mouth with the label removed. Treat it as unresolved, size it by asking at intake, and resist the temptation to redistribute it across the channels you can already see.
Should an immigration firm measure cost per case or cost per client?
Cost per new client for comparing channels, revenue per client for judging what a relationship is worth. One immigration client generates a sequence of matters over years, so a per-matter denominator counts the same acquisition repeatedly and makes last year's marketing look cheaper than it was. Pick one denominator, write down which one, and keep it fixed for at least a year, because switching mid-year produces a trend line that measures the definition change rather than the marketing.
How do I compare marketing performance across a policy change?
Annotate the timeline and compare against category demand rather than against your own previous period. A designation announcement, a filing window or a fee change can move an entire matter type within days, which makes a quarter-over-quarter chart of your own numbers unreadable. Keep a dated log of policy events beside the analytics property, report by matter type rather than in aggregate, and hold one unaffected matter type as a control line so a firm-level change is distinguishable from a category-level one.
Do immigration clients answer the how did you hear about us question honestly?
Often, but not always, and the exceptions are rational rather than evasive. Clients with status concerns have good reasons to share less at a first contact, and some will not name the person who referred them. Ask in the language of the consultation, store the answer in a structured field, and accept that a portion of the source data will stay unknown. An honestly sized unknown bucket supports better decisions than a fully attributed report that quietly guessed.
Is last-click attribution good enough for an immigration practice?
It is weaker here than in most practice areas, because the strongest channel is a conversation you never observe and the touch that triggered it may be a year old. Last click will hand the credit to a branded search or to direct traffic and will consistently understate whatever created the impression. Run it as the operating number if you must, but pair it with the intake source question, because the interview is the only instrument that reaches the referral channel at all.

Find out what your signed cases actually cost

We trace your last quarter of signed cases back to the channel that produced them, and show you the cost per case next to each one.

Get an attribution audit