Why Marketing ROI Tracking for GLP-1 Clinics Breaks So Easily
Ask a GLP-1 clinic owner what it cost to get a new patient last month. You’ll usually hear one of two answers: a number pulled straight from the Meta Ads dashboard, or a shrug. The Meta number counts form fills. The shrug is more honest.
Weight loss programs make attribution harder than most specialties because the money doesn’t arrive in one visit. It arrives month after month, for as long as the patient stays. A patient who stays in the program for eight months can be worth several times more than one who leaves after the first fill. So a campaign that brings in cheap leads who quit early can lose money while its dashboard looks great. Marketing ROI tracking for GLP-1 clinics has to follow the patient past the consult, and most setups stop at the form.
Marketing ROI tracking for a GLP-1 clinic means connecting each new patient to the campaign, keyword, or referral source that produced them, then measuring that source against the revenue the patient generates across their whole time in the program. That includes membership months, refills, and add-on services. The goal is a cost per retained patient for each channel.
This checklist is for owners, administrators, and marketing leads at medical weight loss clinics who spend money on ads and can’t say with confidence which dollars paid for themselves. Use it before you raise your ad budget, before you hire or fire an agency, or any time your lead volume and your revenue seem to be telling two different stories. There are 20 items across five sections, and a scoring guide at the end.
Section 1: Capture the Source Before Anyone Picks Up the Phone
Attribution gets lost at the very first touch. If the source isn’t captured when the lead arrives, no amount of reporting later can recover it.

- [ ] Every paid link carries UTM parameters. Without them, Google Analytics and your CRM lump paid social, paid search, and email into fuzzy buckets. Verify: click your own live ads and check that the landing page URL includes utm_source, utm_medium, and utm_campaign.
- [ ] Your forms save UTMs and click IDs into hidden fields that land in the CRM. The UTM in the browser bar does nothing unless it gets written to the lead record. The Google click ID (gclid) matters too, because you need it later to send results back to Google Ads. Verify: submit a test lead from an ad URL, then open the record in your CRM and confirm the source fields are filled in.
- [ ] Each channel gets its own call tracking number. GLP-1 shoppers call a lot, mostly to ask about price and whether you take their insurance. If every call rings the same main line, your phone leads have no source. Verify: call the number shown on your Google Ads landing page and confirm your call tracking tool logs it under Google Ads.
- [ ] Your online booking tool passes the source through. Many embedded scheduling widgets run inside an iframe and drop the UTMs on the way in. That means your highest-intent leads, the ones who booked without calling, show up as direct traffic. Verify: book a test appointment from a tagged URL and check where it lands.
- [ ] The front desk asks how the patient heard about you and picks from a dropdown. I think this question is underrated. It catches word of mouth, TikTok videos people saw on their phone and then searched for later, and the friend at work who lost weight. Free text fields turn into garbage (‘internet’, ‘online’, ‘google maybe’), so use a fixed list. Verify: pull your last 30 new leads and count how many have this field blank.
Section 2: Keep the Tracking HIPAA-Safe
This is the section clinics skip, and it’s the one that can cost the most. A person filling out a weight loss intake form is sharing health information, and tracking tools love to collect form data.
In December 2022, the HHS Office for Civil Rights issued guidance on tracking technologies (pixels, tags, session recorders) used by HIPAA-covered entities, and updated it in March 2024. A federal court in Texas vacated part of that guidance in June 2024, specifically the part about some unauthenticated public pages. Pixels on patient portals, intake forms, and booking flows remain a clear risk area. And if your clinic operates as a direct-to-consumer telehealth business outside HIPAA, the FTC has its own rules here: it brought health-data cases against GoodRx and BetterHelp in 2023. Talk to your own healthcare counsel before you change anything in this section. None of this is legal advice.
- [ ] You have a signed BAA with every vendor that touches lead data containing health information. That usually means your CRM, call tracking platform, scheduling tool, and any texting or email system. Verify: keep a folder of signed BAAs and check it against your list of marketing tools.
- [ ] No third-party ad pixels fire on intake forms, eligibility quizzes, patient portals, or booking confirmation pages. A BMI calculator that sends its results to Meta is a disclosure you probably didn’t mean to make. Verify: have your developer or agency run a tag audit with the browser’s network tab open while they fill out each form.
- [ ] Conversion events have generic names and carry no health details. ‘lead_submitted’ is fine. An event called ‘semaglutide_intake_bmi_34’ sends health information to an ad platform in its own name. Verify: check every event in Google Tag Manager preview mode and read what each one sends.
- [ ] Your counsel has signed off on the setup in writing. Rules for tracking, healthcare advertising, and prescription drug ads change, and your state medical board may have its own advertising rules. Verify: there’s a dated email or memo from counsel approving your current tracking setup.
Section 3: Measure the GLP-1 Numbers That Predict Profit
Cost per lead is the number everyone reports, and for a GLP-1 program it’s close to useless by itself. The numbers below are the ones that tell you whether a channel makes money.

| Metric | What it measures | Why it matters for a GLP-1 program |
|---|---|---|
| Cost per lead | Ad spend divided by form fills and calls | Useful for spotting broken campaigns, misleading as a profit signal |
| Cost per consult booked | Ad spend divided by booked consults | Filters out price shoppers who never intended to book |
| Consult show rate | Share of booked consults who attend | Low show rates by source point to weak intent or slow follow-up |
| Cost per program start | Ad spend divided by patients who start their first paid month | The first number that reflects real revenue |
| Month-3 retention by source | Share of starts still active at 90 days | Separates channels that bring committed patients from channels that bring tire-kickers |
| Gross margin per patient by source | Revenue minus medication and provider cost, over the patient’s time in the program | The basis for real ROI and the LTV to acquisition cost ratio |
- [ ] Your team uses one written definition of a program start. First paid month? First prescription written? Pick one, write it down, and use it every month. Verify: two people pulling the same month’s numbers get the same count.
- [ ] Retention is tracked by acquisition source. Verify: you can pull a list of patients acquired from Google Ads in a given month and see how many are still active 90 days later.
- [ ] Revenue per patient comes from your billing system. An estimate of ‘about six months on average’ hides the difference between channels. Verify: your report links to billing exports, not a spreadsheet cell someone typed in.
- [ ] You calculate margin after medication cost. Medication cost is the biggest expense in most GLP-1 programs, and it moved a lot after the FDA declared the tirzepatide and semaglutide shortages resolved (December 2024 and February 2025). Many clinics changed pricing and sourcing after that. ROI calculated on revenue alone flatters every channel. Verify: your ROI formula subtracts cost of goods.
Here’s why this matters, using made-up numbers. Say you run a single-location medical weight loss clinic, and each active patient brings in $150 a month in gross margin after medication and provider time. Channel A costs $40 per lead, one in eight leads starts the program, and those patients stay six months on average. That’s $320 to acquire a patient worth $900 in margin. Channel B costs $18 per lead, but only one in fifteen starts and they stay two and a half months. That’s $270 to acquire a patient worth $375. Channel B wins on cost per lead and on cost per start, and it returns less than half as much margin per dollar spent. You’d never see it without the retention column.
(Side note: a common rule of thumb in subscription businesses is to aim for lifetime value at least three times acquisition cost. It’s a rough guide, and your target depends on how fast you need the cash back. But a channel sitting near 1:1 is a channel you’re paying to keep busy.)
Section 4: Send Real Outcomes Back to Google and Meta
Ad platforms optimize toward whatever you tell them counts as success. If the only thing they see is form fills, they’ll find you more people who fill out forms, including the ones who never show up.
- [ ] You import offline conversions into Google Ads for consults booked or programs started. Using the gclid you captured in Section 1, you can tell Google which clicks turned into patients so its bidding learns from real outcomes. Only send what counsel approved, which typically means an identifier, a generic event name, and a timestamp. Verify: the Conversions page in Google Ads shows offline imports with recent dates.
- [ ] Your Meta setup reflects Meta’s current health advertiser restrictions. Since early 2025, Meta has limited how health and wellness advertisers can share and optimize on lower-funnel conversion events. A setup built in 2024 may be sending data that no longer gets used, or optimizing toward an event that’s been restricted. Verify: check the Events Manager diagnostics for your pixel and confirm which events your ad account can still optimize on.
- [ ] Attribution windows match how long your patients take to decide. Plenty of weight loss patients research for weeks before they book. A 7-day click window will undercount the channels that start that research. Verify: compare the average days from first touch to booked consult in your CRM against the windows set in each ad platform.
Section 5: Build a Report Someone Reads
You can do everything above and still get nothing out of it if the report is a 40-tab spreadsheet nobody opens. And if you work with an agency, this is where you find out whether they’re reporting on your business or on their own activity.

- [ ] A monthly report shows cost per program start and 90-day retention for each channel. One page. Channels down the side, the Section 3 metrics across the top. Verify: you can answer ‘which channel produced our cheapest retained patient last quarter?’ in under a minute.
- [ ] One named person owns data quality. Verify: that person checks the share of new leads with no source every week and fixes the cause when it climbs.
- [ ] You review results by monthly cohort. Judging January’s campaigns needs April’s retention data. Verify: your report includes a cohort view that updates as patients reach the 90-day mark.
- [ ] Your agency reports on patients and margin as well as clicks and leads. You’ve probably sat through agency calls full of impressions and click-through rates while the schedule stayed half empty. Ask for program starts and retention by channel. If they can’t produce it, they can’t tell you what’s working. Verify: the last agency report you received mentions program starts.
How to Score Your Clinic’s GLP-1 Marketing ROI Tracking
Count your checked boxes out of 20.
| Score | Where you stand | What to do next |
|---|---|---|
| 16 to 20 | Your tracking can support budget decisions | Shift spend toward the channel with the best cost per retained patient and test a modest budget increase there |
| 10 to 15 | You have pieces, with gaps that distort the picture | Fix the gaps before raising spend. Retention by source and the booking-tool leak are the usual culprits |
| Under 10 | You’re flying on dashboard numbers and gut feel | Start with Sections 1 and 2. Get every lead sourced and the setup HIPAA-safe before optimizing anything |
One opinion before you go. I’d rather see a clinic run one channel with clean attribution than four channels on gut feel. Adding channels before you can measure them means more spend and less clarity. Most clinics we talk to would get more out of fixing tracking on what they already run than out of launching TikTok ads next month.
If your score came in under 16, or you’d like someone to check the HIPAA side before you touch it, book a free strategy call with PatientProcure. We’ll walk through your current setup, show you where leads are losing their source, and tell you which channel is bringing in the patients who stay.