GLP-1 Clinic CAC: How to Read Your Numbers
How to calculate and read customer acquisition cost at a GLP-1 clinic. Denominators that matter, subscription payback, churn, and cost per started treatment.
Customer acquisition cost at a GLP-1 clinic is total acquisition spend divided by the number of patients who actually started treatment in that period, and Curve is the HIPAA-compliant tracking layer that lets a clinic measure that denominator without sending patient data to ad platforms. Most GLP-1 clinics report cost per lead and call it CAC. The two numbers can differ by a wide margin, because a GLP-1 funnel filters hard between the form fill and the first shipment. Read the wrong one and you will scale the wrong campaign. Curve includes a signed Business Associate Agreement on every plan.
This article is about method, not benchmarks. Published GLP-1 CAC figures are close to useless because the denominator is never defined the same way twice, and program mix moves the number more than any advertising decision does. What follows is how to construct a CAC you can act on, and how to read it.
The number most clinics call CAC is not CAC
Open almost any GLP-1 clinic's ad account and you will find a cost per result column sitting next to campaign names. That column is cost per whatever event the pixel or conversion API was told to count, which in most clinics is a form submission or a booked consult. It is not acquisition cost, and treating it as one produces a specific failure: campaigns that generate cheap unqualified leads look like your best performers and get more budget.
The gap is structural in this category. A GLP-1 funnel typically has at least four filters between the click and the revenue:
- Lead to consult. Not everyone who submits a form completes an async intake or shows up to a synchronous visit.
- Consult to clinical eligibility. A meaningful share of interested people are declined, deferred, or referred out on medical grounds.
- Eligibility to payment. Sticker shock, insurance denial, and prior authorization delays all sit here.
- Payment to first dose. Pharmacy fulfilment, shipping, and cold chain issues can strand a paid patient before treatment starts.
Each filter has its own conversion rate, and each varies by campaign, creative, and offer. A single blended cost per lead therefore cannot rank campaigns. Two campaigns with identical cost per lead can differ by a factor of several in cost per started patient, and the ad platform has no way to tell you which is which unless you feed the downstream outcome back to it.
Define the denominator before you touch the numerator
Pick one acquisition event and hold it constant. For most GLP-1 clinics the right one is started treatment: the patient has paid and the first shipment or first injection has happened. It is the earliest point at which the clinic has a real customer rather than a prospect, and it is the point where subscription revenue begins.
Some clinics choose first successful charge instead, which is defensible and easier to instrument because it lives in the billing system. The important thing is not which one you pick. It is that you pick one, write it down, and stop switching. CAC that quietly changes definition between board meetings is worse than no CAC, because it manufactures trends that are not there.
You will also want two companion metrics, tracked alongside CAC rather than instead of it:
- Cost per qualified lead. Fast feedback, useful for creative iteration, meaningless for budget allocation on its own.
- Cost per consult completed. The midpoint that tells you whether a CAC problem is a top-of-funnel problem or an intake problem.
When cost per lead is flat and CAC rises, the leak is downstream, and no amount of creative testing will fix it. When both rise together, the leak is in acquisition. That single comparison resolves most arguments between marketing and operations.
What belongs in the numerator
Ad spend alone understates acquisition cost badly in this category, because GLP-1 programs are sales-assisted more often than teams admit. A defensible numerator includes:
- Paid media spend across every channel, including branded search, which many clinics exclude out of habit.
- Agency and freelance fees attributable to acquisition work.
- Creative production costs, amortized across the period they run.
- The fully loaded cost of the intake and sales team, or the share of it spent converting new prospects rather than serving existing patients.
- Acquisition-side tooling: tracking, call handling, scheduling, and the compliance layer that makes any of it usable.
What does not belong: clinician time spent on care delivery, pharmacy cost of goods, retention and adherence outreach, and anything supporting existing subscribers. Those are cost of service or retention cost. Mixing them into CAC makes the number move for reasons unrelated to acquisition.
Be explicit about the period alignment too. Spend in a given month produces starts that land in a later month, sometimes several months later when prior authorization is involved. Comparing this month's spend to this month's starts creates a lag artifact that looks like performance change. Cohort the starts back to the month of first click, or accept that your monthly CAC is a smoothed approximation and stop reading small moves in it.
Subscription dynamics change what a good CAC means
A GLP-1 program is usually a subscription, and subscription economics make CAC unreadable in isolation. The same CAC can be excellent or fatal depending on three things you have to measure separately.
Gross margin per month, not revenue per month
Compounded and branded programs have very different unit economics, and medication cost dominates. Run CAC against contribution margin, not top-line subscription price. A program that bills a high monthly rate but passes most of it through to a pharmacy supports far less acquisition cost than the headline suggests.
Retention curve shape, not average tenure
GLP-1 churn is front-loaded and clinically driven. Side effects in the first weeks, dose escalation friction, supply interruptions, and cost sensitivity all cluster early. An average tenure figure hides this completely. What you need is the survival curve: what share of starts are still on treatment at month one, month three, month six. A program with heavy month-one churn and a flat tail is a very different business from one with steady linear decay, even when average tenure matches.
Payback period, which is the number that actually constrains you
CAC divided by monthly contribution margin gives you the months required to recover acquisition cost. That is the number that determines how fast you can grow without running out of cash, and it is far more actionable than a lifetime value ratio built on a retention estimate you cannot yet observe. New clinics should be suspicious of any lifetime value figure computed before they have watched a full cohort age.
The practical consequence: if your payback period sits beyond the point where most churn happens, you are buying patients you never finish paying for. Fixing that is usually a retention or offer problem, not an advertising problem, and cutting ad spend will not solve it.
Why healthcare tracking constraints distort CAC
Here is the part specific to this category. The measurement problems that make GLP-1 CAC hard are mostly compliance problems wearing a measurement costume.
The events that define real CAC (paid, shipped, still on treatment at day 30) happen in a pharmacy system, a billing system, or an EHR. They do not happen in the browser. A client-side pixel cannot see them. So clinics do one of two things, and both are bad. They either optimize toward the only event the pixel can see, which is the form fill, or they push clinical outcome data into ad platforms that have not signed a BAA. Meta and Google do not sign BAAs for their advertising products, which means the second option is a disclosure, not a workaround.
There is a third path, which is to move the whole measurement layer server-side so that outcome events can travel from your systems into your reporting without clinical detail traveling to an ad platform. That is what makes an honest CAC possible in a regulated funnel. We cover the underlying pattern in more depth in our guide to why client-side pixels create HIPAA exposure.
How Curve makes GLP-1 CAC measurable
Curve is HIPAA-compliant ad tracking, attribution, and analytics for healthcare, installed as a tracking script in place of the Meta Pixel or a raw Google tag. Events go to Curve's US-hosted infrastructure rather than straight to ad platforms, which creates the decision point that a compliant CAC calculation depends on.
Four mechanisms do the work for this specific problem.
Click ID capture at landing. Curve stores the click identifier when the visitor first arrives. Without that, a start that happens six weeks later can never be joined back to the campaign that produced it, and your CAC denominator collapses to whatever you can guess from self-reported source fields.
Bridge tokens across the intake handoff. GLP-1 funnels almost always hand off to a separate intake or booking tool. Bridge tokens preserve attribution when the patient leaves your site for IntakeQ, Calendly, Jane App, or a similar system, which is precisely where most clinics lose the chain.
Incoming webhooks and offline conversion uploads. Your CRM, billing system, or pharmacy workflow posts the downstream outcome back to Curve, matched on email, click ID, or bridge token. For batch reconciliation there are offline conversion uploads with click-ID matching, up to 10,000 rows per file. This is how started treatment becomes a measurable event rather than a spreadsheet estimate.
Per-destination field mapping with neutral aliases. Only fields you explicitly map leave for a given destination, identifiers are SHA-256 hashed to each platform's conversion API requirements, and the ad platform sees a neutral event name rather than one that names the drug or the condition. Your internal reporting keeps the descriptive name. PHI-pattern detection runs as a monitoring layer over the payloads, flagging PHI-shaped values so you find out when someone adds a field to a form.
The result is that the same start event can feed your CAC calculation in full detail and feed the ad platform as a neutral, hashed, matched conversion. For the campaign-side setup, see our walkthrough of HIPAA-compliant conversion tracking across Google, Meta, and Microsoft.
Reading the number once you have it
A CAC figure on its own tells you almost nothing. Read it against four things:
- Payback period. CAC over monthly contribution margin. This is your growth speed limit.
- Marginal CAC, not blended. The cost of the next patient at your current spend level, not the average across all patients including organic and referral. Blended CAC always looks better and always misleads when you are deciding whether to increase budget.
- Segment CAC. By channel, by offer, and by program type. A blended figure across compounded and branded programs is an average of two different businesses.
- Cohort retention at the same age. Compare month-three retention of the January cohort to month-three retention of the April cohort. Comparing cohorts at different ages produces conclusions that are pure arithmetic artifact.
When CAC rises, resist the urge to blame the ad platform first. Work the chain in order: did cost per lead rise, did lead to consult conversion fall, did eligibility rates change, did a payment step break. In our experience the most expensive CAC increases are silent tracking failures, where a form changed, an event stopped firing, and the platform kept optimizing toward a signal that no longer arrived.
Frequently asked questions
Should CAC use started patients or paid patients as the denominator?
Either works if you are consistent. Started treatment is the more honest number because it excludes patients who pay and then never receive medication, which is a real leak in GLP-1 fulfilment. First successful charge is easier to instrument because it lives in the billing system. Pick one, document it, and keep it stable across periods.
Can I send started treatment events to Meta or Google?
You can send a neutral conversion signal that a start occurred, matched by click ID or hashed identifiers, and that is what those platforms need to optimize. What you cannot do is send an event name or parameters that disclose the medication, the condition, or the clinical context, because that is health information about an identifiable person going to a vendor with no BAA in place.
Does branded search belong in the CAC numerator?
Yes, unless you can demonstrate the traffic would have arrived anyway. Most clinics exclude it because it flatters the number. If you want a defensible view, calculate CAC both ways and be explicit about which one you are quoting.
How long should I wait before judging a cohort's CAC?
Long enough for the slowest path through your funnel to complete. If prior authorization can take weeks, a cohort's true start count is not knowable for at least that long. Report early CAC as provisional and label it as such rather than restating history quietly.
Why does my ad platform report more conversions than my CRM?
Usually attribution windows and modeled conversions on the platform side, plus events firing on pages that are not real conversions on your side. Reconciliation is the fix: compare what your tracking layer actually sent against what the platform recorded, event by event, rather than comparing two dashboards that count different things.
Is lifetime value a better metric than CAC for a subscription clinic?
It is a complement, not a replacement, and it is dangerous early. Lifetime value depends on a retention curve you have not observed yet, so a young clinic computing it is mostly extrapolating optimism. Payback period uses only observed margin and observed CAC, which is why it is the better operating metric until you have mature cohorts.
What is the single most common cause of a wrong CAC?
A broken or narrowed conversion signal that nobody noticed. A form is edited, an event stops firing, a redirect strips a click ID, and the denominator drops without the spend dropping. Verify what actually left your infrastructure, not what your configuration screen says should have left.
Where to start
Write down one acquisition event, build the numerator honestly, and cohort your starts back to first click. Then check whether your tracking can actually observe the event you chose. In most GLP-1 clinics it cannot, which is why the reported number is cost per lead wearing a different label.
Curve exists to close that gap without creating a compliance problem in the process: server-side collection, click ID and bridge token attribution across intake handoffs, webhook and offline upload paths for downstream outcomes, per-destination field mapping, and a signed BAA on every plan. If you are also rebuilding the top of the funnel, see our guide to GLP-1 landing pages that convert without collecting PHI, run the free compliance scanner against your current site, or visit curvecompliance.com to walk through your funnel with us.
Reviewed August 2026. Advertising policies, conversion API requirements, and GLP-1 regulatory guidance change frequently. Verify platform and clinical requirements against current documentation before implementation.
Related articles
- GuideGLP-1 Clinic Cost Per Acquisition Benchmarks: What Independent Practices Should Expect in 2026
- GuideGLP-1 Patient Acquisition Cost: Benchmarking Ad Spend for Weight Loss Clinics
- GuideTikTok Banned GLP-1 Ads: Alternative Platforms for Weight Loss Clinic Patient Acquisition
- GuideGLP-1 Clinic Multi-Channel Attribution: Tracking Patients Across Search, Social, and Email
Stay Compliant. Scale Confidently.
Join healthcare innovators who trust Curve for HIPAA-compliant ad tracking.Launch in hours, not months. Your growth stack, now HIPAA-safe.
Book a free tracking audit