Peptide Therapy Ads: When Conversions Stop Arriving
Peptide clinic conversions usually stop because Meta or Google quietly restricted the account, not because tracking broke. How to tell which one it was.
When a peptide or hormone clinic says its ads stopped working, the cause is usually a platform restriction that quietly stopped crediting conversions, and the clinic found out weeks later from a flat cost per acquisition chart. The tracking on the site was fine the whole time. That is why Curve shows what it sent to each platform next to what the platform credited: the gap between those two numbers is the diagnosis, and it is the first thing to look at before anyone touches the pixel, the budget, or the creative.
TL;DR
- Meta frequently flags peptide, hormone, and longevity clinics as health and wellness restricted advertisers. The flag limits which events Meta will accept from your site, so conversions stop being credited while your site keeps recording them.
- Google may disapprove ads or restrict the account over unapproved substances. From the reporting side the symptom looks the same: spend continues, credited conversions thin out.
- The diagnostic is per platform. Compare the conversions your tracking sent against the conversions the platform credited. The shape of those two lines tells you which of four things happened.
- Delivery through a server does not override a platform-level restriction. It changes the path the event takes, not the platform's decision about your domain.
- Curve's own attributed conversions keep working when a platform refuses events, so you can still answer what each campaign booked. Ask Curve Analyst for the sent versus credited view each week and it will tell you when sent is zero or when credited has stopped following sent.
Why do peptide clinic conversions stop when nothing on the site changed?
Because the platform changed its mind about you, and it did not tell you in a place you were looking.
Meta's health and wellness classification is the usual culprit. Peptide, hormone, and longevity clinics get flagged as restricted advertisers often enough that you should plan for it. Once the flag is on, Meta limits which events it will accept from your site. Your site still fires the consult request event. Your tracking still forwards it. Meta declines to credit it, and that decline does not surface as an error anywhere a marketer normally checks. The campaign keeps spending against a conversion it is no longer receiving.
Google's version is different in mechanism and similar in effect. Google may disapprove ads or restrict an account over unapproved substances, and clinics advertising peptides run into that review more often than they expect. The outcome for your reporting is the same shape: a conversion action that used to fill in every day goes quiet, and the account looks like it forgot how to convert. The TRT clinic restrictions article walks through how that plays out on the Google side for hormone campaigns.
The flat chart shows up weeks late
Nobody watches credited conversions by platform every day. What people watch is cost per acquisition, and that number drifts rather than snaps, because the restriction rarely lands on the same day the reporting period starts. So the first week looks like seasonality. The second week gets blamed on creative fatigue. In the third week someone rewrites the landing page. By the time anyone opens the events manager or the policy centre, the account has been optimising toward a thinner and thinner signal for a month, and the clinic has spent real money teaching the algorithm the wrong lesson.
Meanwhile the front desk has been booking consults the entire time. The site recorded them. The only thing that stopped was the platform's willingness to write them down.
How do you tell a platform restriction from a broken pixel?
Pull two numbers, per platform, per event: what your tracking sent and what the platform credited. Curve's reconciliation view lays those two out side by side for Google and Meta, and the reconciliation walkthrough covers the weekly routine in detail. There are four outcomes and each one points at a different fix.
Sent is healthy, credited went flat
This is the restriction signature. Your site fired the event, Curve forwarded it, and the platform stopped crediting it. Before you conclude that, rule out the other thing that produces the same picture: click ID loss. If the click ID never reaches the page where the conversion happens, the platform receives an event it cannot tie to an ad, and credited flattens for a reason that has nothing to do with policy. A consent tool that strips query strings or a booking redirect that drops parameters will do it.
The way to separate the two is the edge. A restriction tends to have a date, one day credited was following sent and the next day it was not, and the ad account will usually show a notice, an ad disapproval, or a changed advertiser status around that date. Click ID loss tends to arrive with a site change and often degrades unevenly. Check the account first, then check whether the click ID survives to the thank you page.
Both went flat
The site event broke. The platform is not the story here, and chasing a policy appeal will waste a week. Something on the site stopped firing the event: a redesign that removed the thank you page, a booking widget that moved into an iframe your tag cannot see, a form migrated to a new vendor with a different success state. Curve's website analytics will show whether the custom event or goal is still firing at all, and if it is not, the fix lives on the site.
Ask the developer what shipped in the days before the drop. There is almost always something.
Sent is zero
Nothing left Curve for that platform, which means the problem is upstream of both the site and the platform. Either the event is not mapped to a conversion for that destination, or the destination itself is disconnected: an expired token, a removed pixel ID, a connector nobody reauthorised after a staff change. This is a settings check in the Curve dashboard rather than a policy question.
Analyst reports zero as zero, and it treats an empty metric differently from an unknown one, so it will say so rather than hand you a blank chart. What it will not do is diagnose the connector; it does not answer about tracking configuration or destination health yet. It tells you that sent is zero, and you go and look at why.
Both healthy, with a gap between them
Normal. Sent and credited will never match, and a gap that shrinks or stabilises as the period ages is the platform's attribution window still being open, not under reporting. Credited catches up over the following days as the platform finishes assigning credit. Leave it alone. Escalate only when credited stops moving while sent keeps climbing.
Why doesn't server-side tracking get around a Meta restriction?
Because the restriction is about your domain and your ad account, not about the transport. Meta's decision about which events it will accept is applied to the advertiser. An event that arrives from Curve's servers carrying your pixel ID is judged by the same rule as an event that arrives from a visitor's browser. The path changed. The verdict did not.
Curve delivers events through its own US hosted infrastructure for a different reason entirely. Events land on Curve first, Curve strips what should not leave, and only then does a conversion go to the ad platform, under a BAA that covers every customer on every plan. That is a control on what leaves your site. It was never a way to slip events past a policy decision, and anyone selling server delivery as a fix for a health and wellness flag is selling you a bad quarter.
The fix for a restriction is in the ad account and on the treatment pages: what you claim, how the offer is written, whether the account status can be reviewed. The policy boundaries article for peptide and hormone clinics covers what you can and cannot say. The tracking stack cannot solve any of that. Relabelling a consult request as some generic event to get it through is a bad idea for reasons beyond attribution, and it also wrecks your own reporting, because the event names in Curve no longer describe what happened.
What can you still measure when a platform refuses your events?
Quite a lot, as long as your tracking does not depend on the platform's opinion.
Curve records the click, the session, and the consult request itself, and credits the conversion under the attribution model you chose. None of that requires Meta or Google to accept anything. So while Meta shows a flat line, Curve can still report consult requests by platform, campaign, and ad group, and it can still compute cost per booked consult using the platform's spend figures next to Curve's own conversions. Analyst says which number it is quoting each time, so you are never reading a Curve attributed figure as if it were a platform one.
That gives you something concrete to bring to the practice owner. The campaign did not die. Meta stopped counting it. Here are the consults it booked anyway, by campaign, for the period. The article on why platforms disagree explains why Curve's number and the platform's number diverge even in a healthy account, and someone in that meeting will ask.
What you lose, and cannot get back from reporting
The optimisation signal. A campaign set to optimise toward a conversion it no longer receives will drift, and no amount of clean reporting on your side feeds that signal back to the platform. Reporting tells you the campaign is still producing consults. It does not make the platform bid as if it knew that. Getting the restriction reviewed or the ads reapproved is the only route back, and the reconciliation view is how you will know it worked, because credited will start following sent again.
What to ask Curve Analyst
Open Analyst from the campaign reporting screen so it inherits the date range and platform filter you already have set, then ask in plain language. It queries the account and comes back with the number, a chart where a chart helps, and a note if the data is still syncing. These three cover a peptide clinic's weekly check, and the overview of what Analyst does lists the rest.
- Show me what Curve sent to Meta versus what Meta credited over the last 14 days.
- Has the sent count for consult requests changed compared with the previous 14 days?
- Give me conversions by platform under Curve's attribution for the last 30 days.
The first prompt is the restriction check. If credited has stopped following sent, Analyst will say so. The second catches the site break and the zero case, because a sent count that fell or vanished is a tracking problem regardless of what any platform thinks. The third is the number you report on Monday when a platform is refusing events. The launch announcement covers what Analyst can and cannot do, including that it is read only.
Frequently asked questions
Does server delivery through Curve fix a Meta health and wellness restriction?
No. The restriction limits which events Meta will accept from your domain and account, and an event arriving from a server is subject to the same limit as one arriving from a browser. Curve routes events through its servers to control what leaves your site, which is a compliance reason, not a way around platform policy. The fix is in the ad account and on the page.
How often should a peptide clinic check sent versus credited?
Weekly, per platform, on a period old enough that the platform's attribution window has mostly closed. Daily checks will show you gaps that are just lag and train you to ignore the view. Weekly is often enough to catch a restriction within days rather than weeks.
If Meta stopped crediting conversions, are my ads still running?
Often, yes, and that is the problem. A restriction on which events Meta accepts is not the same as ads being paused, so spend can continue while credited conversions go flat. Check the ad account for a changed advertiser status or disapproved ads, then confirm with the reconciliation view that sent is still healthy. If it is, the campaign is still producing consults that the platform has stopped counting.
Can Analyst tell me why the connector stopped sending?
Not yet. Analyst will report that the sent count is zero, and it distinguishes a true zero from data that is missing or still syncing, so you will know it is real. Diagnosing the connector itself, an expired token or a missing mapping, is a settings check in the dashboard. Answering questions about tracking configuration and destination health is planned for Analyst but is not something it does today.
Will Curve's attributed conversions match Meta's once the restriction is lifted?
No, and they are not meant to. Curve credits conversions with the attribution model you chose, using the clicks and sessions it recorded. Meta credits them with its own model and its own window. The two will differ in a healthy account. What you are looking for after a restriction lifts is credited starting to follow sent again, not the two lines meeting.
If your peptide clinic's conversions went quiet and nobody can say whether it was the platform, the pixel, or the connector, book a demo and we will show you the sent versus credited view on your own account.
Related articles
- GuideTRT Clinic Google Ads: How to Get Testosterone Therapy Ads Approved (Strategies for 2026)
- GuideGoogle Ads Offline Conversion Import: Clinic Guide
- GuideHIPAA-Compliant Conversion Tracking Setup: Step-by-Step for Google, Meta, and Microsoft Ads
- GuidePhysical Therapy Google Ads: In-Market Audience Targeting That Fills Your Schedule
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