Cookie preferences

Choose what we may use. Strictly necessary cookies keep you signed in and can't be turned off; everything else is your call and changes nothing about how the site works. You can change your mind any time from the footer.

Marketing attribution for concierge and direct primary care practices

Which channels produced enrolled members?

Match enrolled members and the membership revenue they generate over years to the campaigns that produced them.

  • No card required
  • Nothing to install
  • Cancel anytime
Concierge & Direct Primary Care workspace FY2026 Sample data
Membership revenue traced to a channel

$204,000 51% of $400,000 paid

  • Google Ads $96,000 · 24%
  • Referral partners $76,000 · 19%
  • Email marketing $32,000 · 8%
  • Direct / Unknown $196,000 · 49%
Direct / Unknown is shown, never shared out across the channels above.
Google Ads · LeadFY2026 14 · (•••) •••-0134
Closed sale · FY2026 27$2,400
Matched · high confidence

The blind spot

What's actually happening

A membership is $2,400 a year for as long as it renews. Judging acquisition on a first month makes every channel look unaffordable.

What you get

Built for concierge and direct primary care practices.

Treatment revenue, not inquiries

See which channels produced collected revenue rather than which produced the most inquiries — on most books those are not the same channels.

Patients decide slowly

However long the patient takes to decide, the case is credited to the campaign that produced them rather than to whatever ran last.

Nothing inferred about a patient

Exact matches only, with weaker links held back for a person to accept or reject — which is what makes the collected revenue figure survive being questioned.

A worked example

The number you can take into a budget meeting.

Not impressions, not leads, not cost per click. Closed revenue, by the channel that produced it, for a period you choose — with the portion we could not trace shown rather than quietly shared out across your paid channels.

Total revenue$400,000paid membership revenue
Attributed to a channel$204,00051% of revenue
Average deal$2,400per paid sale
Match rate51%of sales matched
ChannelSalesRevenueShare%
Google Ads40$96,00024%
Referral partners31$76,00019%
Email marketing13$32,0008%
Direct / Unknown82$196,00049%
01

Renewal is the entire economics of the model

A member who stays five years is worth $12,000. A channel judged on the first month's payment appears to cost more to acquire than it earns, and gets cut.

Because the match is on the member, every renewal credits the original channel. That is the difference between a marketing budget that can be defended and one that cannot.

02

Physician and professional referral is the quiet majority

Members arrive through existing patients, physicians and employers, and practices rarely have any measurement of which of those actually produces enrollments.

Referred members can go into the lead file, tagged with the referrer. Ranked on membership revenue, the referral sources may show that one or two relationships produce most of the growth — a fact worth knowing before renewing an advertising contract.

03

A capped panel makes marketing a waiting list rather than a funnel

The whole proposition rests on the panel being small. Six hundred members instead of two and a half thousand patients is what buys the same-day appointment and the unhurried consultation, and a practice that grows past its cap has sold something it can no longer deliver. So marketing in this model is not a growth engine in the usual sense. Once the panel is full, its only job is to replace the members who leave, which is a materially different brief from the one most agencies are given.

That changes which number matters. Cost per inquiry is close to irrelevant when the practice needs thirty new members a year rather than three hundred; what matters is whether a source produces members who stay, because a member recruited and lost within a year has cost a seat and returned one annual fee. A channel producing twelve inquiries and eight long-tenured members is worth more than one producing two hundred inquiries and a churn problem. That comparison is not close, and nothing in a monthly acquisition report will ever make it, because both channels look identical in the month the member signed.

Measuring it requires nothing beyond exporting membership payments with a contact detail and running the report across several years. Every renewal joins to the same person and therefore to the source that recruited them, so a channel whose members stay keeps accumulating revenue while one whose members leave stops. Sources may turn out to be sharply differentiated on what they earn over time and barely differentiated on acquisition cost. It also means the honest reporting period here is years rather than quarters, which suits a model whose whole argument is about continuity.

04

The membership was sold to a household, not to a person

One inquiry frequently becomes three memberships. A spouse joins at the same time, an adult child is added, sometimes a parent follows a few months later, and the practice books each of them as a separate member with their own annual fee. The inquiry file holds one name and one phone number. The revenue file holds three names, and possibly three different contact details, only one of which the advertising ever touched. On any acquisition report the campaign that produced the household is therefore credited with a third of what it actually delivered.

Left alone, that produces a systematic undercount. The source is credited with one membership and the other two fall into Direct / Unknown, which is honest but unhelpful — it makes every acquisition cost in the practice look roughly three times worse than it is for exactly the channels that recruit families. Since family enrollment is one of the strongest signals a practice has that its proposition is landing, penalizing it in the report is a particularly unfortunate way to be wrong.

The fix is in the contact detail, not an identifier. Each additional member is a separate row, and it is credited to the household's original inquiry only if it carries a contact detail from that inquiry — putting the paying member's email on every family member's row does exactly that, while the phone field can still carry the member's own number. A household or account identifier is not a matching key. Without a shared detail, the extra memberships appear as unmatched revenue rather than being guessed at, because inferring a family relationship from a shared surname and an address is not something this product will do. That is a deliberate limit rather than a gap: a contact detail is a fact the practice holds, and a shared surname is a guess.

05

Anniversary billing makes every monthly report a history lesson

Members recruited in one month renew in that month for as long as they stay. After three or four years a practice's billing calendar has hardened into a pattern set by whichever campaigns happened to be running in previous Januaries, and a monthly revenue report is largely a record of past recruitment rather than current performance. A channel that has not delivered a new member in two years can still dominate a given month's figures and look like the practice's best source.

This is not a small distortion. In a subscription model with high retention, new business is a thin layer on top of a thick base, and any report that does not separate the two will be read as though the base were a result. Practices make real decisions on this, usually to keep funding whatever the report says is producing revenue, which is the source that produced it several years ago. The base is also the most reassuring number in the practice, which is part of why nobody looks closely at what it is made of.

Separating new enrollments from renewals is a column in the export, mapped as Product / service, and it changes what the page is for. The report then shows new-enrollment and renewal revenue as separate lines, with how much of each traces to a channel, so both are visible instead of one blended figure. It does not rank channels within each line. Running the comparison annually rather than monthly helps as well, because an annual view is not hostage to which members happen to renew in a given two-week period. The new-business layer may turn out thinner than expected, and it is better to find that out while the panel is still full rather than a year after it stopped being.

Why it matters

What changes when you can prove it.

You stop defending the budget and start growing it

"We generated 400 leads" invites an argument. "This channel closed $186,400 last quarter, here is the reconciliation" ends one. The teams that can show closed revenue by channel are the teams that get the next increase approved, because they are asking with evidence rather than with conviction.

You can cut the wrong channel without a fight

Killing spend is politically harder than adding it, because someone always owns the channel being cut. A number that reconciles to the sales export takes the argument out of the room — you are not overruling a colleague's judgment, you are reading the same ledger they are.

Your reporting survives the finance review

Platform-reported conversions do not reconcile to revenue, and eventually someone in finance notices. Reporting built from your own closed-sales export starts from the number finance already trusts, which is why it holds up when it is checked.

You answer in an afternoon, not a quarter

Because this reconciles exports rather than tracking visitors, it works on months that have already closed. You are not instrumenting now to learn something in ninety days — you can answer for last quarter today, which is usually when the question is being asked.

Honest answers

The pushback we hear from Concierge & Direct Primary Care.

They say

Our revenue is a small monthly fee.

We say

Which is why renewals must credit the original channel — that is where the value of an enrollment actually is.

They say

Most members come by word of mouth.

We say

Which the Direct / Unknown bucket is honest about. The report measures the part you pay for.

They say

Member privacy is paramount.

We say

Only a contact detail, an amount and a date are needed. No clinical information of any kind.

Pricing

Flat monthly pricing. No per-call fees.

The price here is the price on the invoice, plus any sales tax that applies — no per-call, per-minute or per-form fees. Growth usually fits membership medicine and direct primary care practices — thirteen months of history to compare a month to the same month last year, and a PDF you can put in front of whoever holds the budget.

Questions

Questions we get about Concierge & Direct Primary Care.

Anything else? Talk to us — a person answers, usually the same day.

Enrollments or membership payments: a member email or phone, the amount, and a date.

Start today

Stop guessing which ads pay off.

Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.