Brand was spending $60K/month on Google Ads getting maybe half the algorithm could deliver. Five weeks later: 8.50× ROAS, on a brand-new account.
$58K in. $493K out. 5 weeks. Brand-new account.
8.50× blended ROAS. Restricted category.
One of the top peptide supplement brands in the US was spending $60,000 a month on Google Ads and realising maybe half of what the platforms could actually deliver. Tracking broken. Meta pixel with zero advanced matching. A price mismatch in Merchant Center blocking products from US Shopping results.
They wanted to scale. In a category where the wrong data sent to the wrong platform gets accounts suspended. I said: fix the infrastructure first, then run the ads. Five weeks later, brand-new account, 8.50× blended ROAS, one restricted compound flagged at ad-group level, account never touched.
"...You market us cowboy-style. And I like it."
Brand owner · Working conversation note
What this case study actually proves
- One brand, one client, one brand-new account. Not portfolio averaging, not blended agency math.
- Infrastructure built before any spend. Tracking, feed, compliance architecture, then ads. 8.50× ROAS in five weeks is the consequence.
- Real screenshots, real numbers, real Meta + Google exports. Every figure ties to a dashboard you can verify.
Who this case study is for
- Peptide, nootropic, hormone, or supplement brands paying agency rates for blended ROAS that's actually 50% of what the platforms can deliver
- DTC operators running affiliate-heavy because someone said 'paid ads don't work in this category' (math shows they're paying more for less)
- Restricted brands whose accounts keep getting reset or suspended every time a compound gets flagged
- Brands at $30K+/month spend that need someone who has already mapped this category before, not someone learning at their expense
In restricted since
7+ yrs
iOS 14.5 broke default tracking, I rebuilt for restricted in 2019
Active restricted accounts
5+
Currently under management, anonymised by request
Restricted spend processed
€10M+
Across peptides, vape, CBD, hemp, adjacent
Account survival under framework
11+ mo
vs typical 60-90 day restricted lifespan
The problem
They were spending $60K a month and using maybe half the capability of their ad platforms.
Before I took over, the client had $60K/month in Google Ads spend and estimated 300% ROAS. Strong proof of product-market fit. But the setup was throttling performance in ways that weren't visible from the dashboard.
Tracking
- No server-side tracking, everything browser-only, fully exposed to iOS restrictions and ad blockers
- No enhanced conversions, Google Ads optimising on incomplete signals
- Meta pixel with zero advanced matching, purchases landing in Facebook with no identity data attached
- No dynamic retargeting, product IDs not passed, custom audiences not buildable from product views
Platform risk
- Peptides flagged as restricted / sensitive on both Google and Meta, specific compounds classified as 'unapproved substances'
- Facebook receiving raw domain and product data, the fastest path to account restriction in a grey-zone category
- Google Shopping feed with price mismatches blocking products from appearing in US results
- One restricted product in a shared account can cascade, policy flags don't stay isolated
In practice: $60,000 in ad spend was behaving like $20,000–$25,000 in machine-learning value. A well-structured account at this spend level, in this category, should hit 8–10× ROAS. I knew that, because I'd run the same product category the year before.
What that gap actually costs you per year
Run the math on $60K/month setup at the broken-tracking 300% ROAS:
- $60K spend × 3.0× ROAS = $180K reported revenue/month.
- Same $60K spend × 8.5× ROAS (post-rebuild) = $510K revenue/month.
- Gap: $330K/month silently eaten by the broken setup, roughly $4M/year of growth that wasn't even visible in the dashboard.
- The infrastructure rebuild was the cheapest line item in the entire P&L impact.
Now compare against the 20% affiliate alternative
Most restricted-category brands default to affiliates at 15-20% commission because someone told them paid ads don't work in their category. On the same $510K/month revenue this account now delivers:
- 20% affiliate on $510K = $102K/month vs Google Ads same revenue at $60K spend = $42K/month cheaper than affiliate. PS just pay a portion of that to me and we're both good.
- Annual: ~$504K saved plus customer data + retargeting + algorithm history ownership. Total cost of the affiliate-instead-of-rebuild default: ~$4.5M/year ($4M missed growth + $0.5M extra channel cost).
Most operators don't run this math because the cost shows up as "we didn't grow", not as a line item.
Sound familiar? I can usually tell you in 30 minutes whether the same gap exists in your account.
Book a 30-min diagnostic →What you should stop doing immediately
Five default setups that guarantee your restricted account underperforms or dies.
If you recognise any of these in your current setup, you already know why the channel isn't working. None of them are fixable with "better creative" or "smarter bidding."
Scaling ad spend on broken tracking. More money flowing into a system that can't learn from it. That's not growth, that's a faster path to the same plateau.
Running a default Meta pixel on your brand domain in a restricted category. You're feeding Meta's classifiers a complete map of what you sell, every page view.
Trusting an estimated 300% ROAS from your dashboard. In a restricted setup with browser-only attribution, that number is roughly half of what the platforms could actually report if signal were clean.
Letting one flaggable SKU sit in the same campaign as your approved compounds. One policy hit cascades into account-level enforcement when there's no structural separation.
Paying agencies to R&D on your account, your budget, your bans. They learn at your expense, you write the tuition.
The counterintuitive part: the client wanted to scale spend. I said not yet. Tracking rebuild first. Feed fixes second. Architecture third. Ads last. Five weeks later: 8.50× ROAS, because every dollar of the $58K month-one spend went into campaigns already learning from clean signal.
The tracking architecture · built before any ad spend
Restricted-grade tracking. The wrong data never reaches the wrong platform.
This is not a standard server-side setup. It's a system designed for environments where sending the wrong data to a platform gets accounts suspended. Every piece of data that leaves the server is reconciled, encoded, masked, and routed per destination. Here's the conceptual flow.
Server-side first, by default
All ad-platform events flow through the server before send. No data goes direct from browser to Meta or Google. That's what makes per-destination masking possible and what gives the algorithm clean signal regardless of browser limitations.
Brand domain isolation
The brand domain never carries Meta exposure. Meta-facing events live on a separate clean layer that absorbs any policy review. When a restricted compound's ad gets flagged, the main account doesn't see it.
Compliance gate
Restricted product context is stripped from payloads before they reach Meta or Google. What the ad platforms see is what they're supposed to see, identity match, click attribution, value, currency. What they don't see is anything that would trigger enforcement.
Redundant capture
Multiple parallel paths ensure every purchase reaches the algorithm regardless of browser, iOS restrictions, ad blockers, or consent state. Purchase event match quality reached 8.9/10, well above the 7.0 threshold where CAPI starts meaningfully improving performance.
Built on a proven framework. The same architecture, deployed and validated on the same product category the prior year, ran 11 consecutive months without an account restriction. I didn't invent this here. I replicated what I already knew worked.
Fig 1, the proxy-domain pixel · Feb 19 – Mar 18, 2026 · event match quality by event type
619.8K PageViews. 16.1K purchases. Purchase EMQ: 8.9/10 browser + 8.0/10 server CAPI. The match quality improves through the funnel, which is the correct pattern. Purchase attribution is the only event that actually matters for bidding, and 8.9/10 means near-zero signal loss at conversion.

Old pixel diagnostic · why it had to go
New pixel running clean. Legacy pixel was leaking conversions on every iOS user.
Fig 2, Meta purchase sampled activity · proxy domain (redacted) · product IDs and order value passing correctly
Sampled purchase events routed through the proxy domain. Parameters visible: content_type (product_group), content_ids (array of product IDs), value ($240.70), currency (USD), order_id (Shopify order ID). The URL shows the proxy domain, not the main brand domain. This is the proxy layer working exactly as designed.

What was broken before
The brand's original Meta pixel had a live diagnostic error from February 17, 2026: "Set up manual advanced matching. You have not set up manual advanced matching. This prevents you from sending Meta user data that is not publicly available on form fields and can negatively impact ad targeting and conversion tracking."
No advanced matching means Facebook can only match events to users via browser cookies, which iOS limits, and which ad blockers block. Every purchase from an iOS user or ad-blocker user was invisible to the algorithm. I diagnosed this, deprecated the legacy pixel for ad campaigns, and deployed a new pixel with full manual advanced matching, CAPI, and the proxy domain before any spend went in.
Compliance by architecture · staying in the grey zone by design
Stop playing hide-and-seek with Google. Stay in the grey zone, by design, not by accident.
Most advertisers in restricted categories do one of two things: they try to push everything through and get suspended, or they self-censor too aggressively and leave money on the table. Neither is the right answer. The right answer is a structural approach to exactly what you advertise, how it enters the platform, and what the platform sees when it crawls your environment.
This is not black-hat. There's no deception. Every element of the setup is within platform policy, it's simply intentional about the boundaries. We know which compounds pass and which don't. We know what the ad review system looks for. We know what a crawler sees versus what a human buyer sees. The architecture reflects that knowledge, built into infrastructure rather than managed manually on a campaign-by-campaign basis.
Compound-level policy mapping
Every SKU is assessed before it enters an ad environment. Some compounds are unrestricted. Some require careful framing. Some don't belong in paid ads at all. Mapping this precisely, rather than guessing, is what prevents one flagged product from cascading into an account-level suspension. The specific compound-by-compound map stays with engagements.
Compliance by architecture, not by luck
Ad platforms are AI systems with consistent, predictable scanning behaviour. The setup here is designed around that predictability and around clean structural separation between brand and advertising environments, not to circumvent platform rules, but to operate comfortably within them at scale. No constant firefighting.
This is legal. This is within platform policy. This is not black-hat. I map which compounds each platform approves, segment campaigns around that knowledge, and build the account architecture so a flag on one ad group stays contained. No deception, the platforms see exactly what they're supposed to see. The restricted compounds they flag are excluded. The approved ones run.
The specifics of the framework are proprietary. What I can say: one restricted compound got flagged at ad-group level and the account kept running. That's structure, not luck. If you want to see how it applies to your catalog, book a 30-min diagnostic.
The feed fix · unlocking US Shopping
The catalog had a product blocked in all US Shopping results, a $54 item showing $1 on the page.
Before campaigns could run at full efficiency, Merchant Center had a price mismatch on an active product: the feed submitted $54.00 as the price, but Google's crawler was reading $1.00 from the product page. That product was blocked from appearing in any US Shopping results. Google flagged it March 18, 2026, the same day I was diagnosing feed quality across the catalog.
Fig 3, GMC product price mismatch · "Provided value: $54.00 vs value on store: $1.00" · blocked from US Shopping

Shopping campaign structure, segmented by price tier
PLA high priority
High-margin products, tighter ROAS targets. $20K spend, 8.38× ROAS. These are the products worth fighting for in auction, they convert, they have margin, they justify aggressive bids.
PLA medium priority
Mid-range products, balanced ROAS target. $5K spend, 4.33× ROAS. Volume-building products, not the highest margin, but consistent converters that fill the funnel below high-priority.
PLA low priority
Lower-priced items, clicks-focused. $1.7K spend, 5.65× ROAS. Cheaper entry points that drive customer acquisition, some convert better than expected at this price point.
Fig 4, Google Merchant Center · product clicks · Ads + Organic · last 28 days vs prior period
22.17K product clicks (+47.9% vs prior period) across paid and organic. 33.52K online store clicks (+20.8%). Three approved-compound SKUs scaled +1,300% to +5,560% in the period. These are the products Google Shopping is comfortable with, and the data confirms they drive real traffic.

Restricted category in practice
One restricted compound got flagged. The account didn't.
Not every peptide compound has the same risk profile on Google. Most run without issue. One specific compound was flagged immediately as an "unapproved substance" the moment its ad went live. The ad was not eligible; the account was not suspended. The specific compound is visible on the screenshot below for documentation, the wider list of approved-vs-flagged compounds stays inside engagement.
Fig 5, Google Ads RSA · SLU-PP-332 ad group · "1 policy violation, Unapproved substances"

The separation between ad-group-level flags and account-level suspensions is not guaranteed, it requires the structural setup to be correct. When the entire account is clean except for one ad group, and that ad group is on a clean Shopping-dedicated domain with properly structured campaigns, the flag stays localised. The dual-domain strategy exists precisely to contain this kind of event. The flagged ad was paused. The other six campaigns kept running.
Month 1, The numbers
$58K in. 8.50× back. Zero prior history for the algorithm to work from.
Feb 9 – Mar 17, 2026. Brand-new account. All metrics showing (+∞) against the comparison period because there was no comparison period. The (+∞) is not an error, it's what a zero-to-live account looks like. The ROAS figures are from real conversion data.
Fig 6, Google Ads account overview · 9 Feb – 17 Mar 2026 · 26.3K clicks · ROAS 8.50× · $58K spend

Fig 7, Campaign breakdown · 7 campaigns · bid strategy by role
PLA high priority: 8.38× on $20K (Target ROAS). PMax CPA: 9.34× on $11.6K (Maximise conversions). PMax ROAS: 12.18× on $9.7K (Maximise conversion value, Target ROAS). PMax CPA secondary: 6.34× on $9.4K (Maximise conversions). PLA medium: 4.33× on $5K. PLA low: 5.65× on $1.7K. Running PMax on both CPA and ROAS logic in parallel finds different inventory across Google's surfaces, some placements respond better to CPA pressure, others to value pressure.

Fig 8, Google Merchant Center · visibility vs competitors · last 28 days · US Health & Beauty
Competitor visibility chart showing this brand against puritan.com, gethealthspan.com, libertypeptides.com, neuroganhealth.com, paramountpeptides.com, and others. Note the stability: neuroganhealth.com and paramountpeptides.com swing wildly (+80% to −50%) across the period. This brand stays near the zero line, a new entrant with a clean feed that doesn't spike erratically. Consistent Shopping presence over volatility.

Why 8.50× from a cold start, in a restricted category
Two things made this not look like a cold start at all. Both are operator-specific, not method-specific. They're why I take only 1-2 new restricted accounts per quarter.
Infrastructure before spend
Tracking, feed, pixel, compliance architecture fixed before the first ad ran. Every dollar of the $58K in month one went into campaigns already learning from high-quality, complete conversion signals. That's why cold start didn't mean slow start. Most operators do the opposite: they scale spend on broken setups and call the plateau "ad fatigue."
Prior category knowledge
I'd run Google Shopping for the same product category the prior year. Compound-level policy maps, ROAS benchmarks, bidding structure, PMax logic, all derived from a live account in the same vertical. Cold start didn't mean guessing, it meant deploying what I already knew worked. Most agencies learn at your expense. I bring the map.
If you're already at $30K+/month in restricted, the question is whether anyone you've talked to has actually built this before. I have.
Book a 30-min diagnostic →The affiliate angle they don't tell you
Even if the math were identical, you'd still want Google Ads.
The math above already shows paid ads beat 20% affiliate at this scale. But here's the part that compounds beyond month-one savings: ownership.
When you run paid ads with the right infrastructure, you own:
- Customer data. Names, emails, order history, lifetime value. Yours to remarket to forever.
- Retargeting audiences. Cart abandoners, product viewers, repeat buyers, all building compounding value month over month.
- The algorithm's full conversion history. Smart Bidding gets smarter every week. By month 12 it's a different account entirely.
- Zero platform-counterparty risk. Your affiliate network can change commission terms, drop you for a competitor, or lose platform access overnight. You can't change your own ad account on yourself.
With affiliates you rent reach. With ads done right you own the asset. The day you stop paying affiliates, you stop having a channel. The day you stop running ads, you still have the data.
Methodology
How to verify these numbers yourself.
Everything on this page is calculable from the screenshots. Here's the math and what's intentionally hidden.
Numbers are platform-native
All ROAS, spend, and purchase figures are pulled directly from Google Ads + Meta Ads Manager + GMC. Math: $493K revenue ÷ $58K spend = 8.50× ROAS, line up with the headline. Visible in Fig 6.
Event match quality is Meta-attested
8.9/10 purchase EMQ is Meta's own quality signal in Events Manager, not a third-party estimate. It's the score Meta gives when the CAPI payload contains enough valid Enhanced Matching parameters to attribute the event to a real user identity.
Brand identity is masked, performance data is not
Brand name, domain, GTM container IDs, pixel names, and the exact compound-by-compound policy map are anonymised. Every performance figure (spend, ROAS, EMQ, click growth, ad group flags) is the real account data. The masking is on identity, not results.
What's intentionally not shown
The exact infrastructure schema, server-side payload structure, compound-level policy mapping, and compliance interpretation stay inside paying engagements. This page shows the outcome, the conceptual flow, and the verification math, not the build manual. That's by design, my clients pay for that privacy.
What working with me looks like
From your first call to an account that scales without resets.
No deck, no procurement, no 6-month "discovery." This is what an engagement actually looks like, end to end.
Diagnostic & build plan
Live audit of your current account, Meta pixel, Merchant Center, and policy history. Compound-level risk assessment for your catalog. Written scope with build cost, ongoing cost, and timeline before any commitment.
Infrastructure build
Server-side tracking rebuild, proxy-domain pixel + CAPI, Merchant Center feed fixes, compound-level campaign segmentation. Ads start running where it's safe, so you don't lose weeks of pipeline to setup.
Scale phase
Algorithm learns from clean signal, ROAS ramps, PMax + Shopping structure compounds. Additional architecture layered in as the category demands: secondary protection patterns, deeper compliance work, advanced retargeting.
Ongoing partnership
Campaign management, creative testing, quarterly architecture reviews. New compound launches or markets added with the same playbook. You stop firefighting and start compounding.
Common questions before you book
The seven things every restricted-vertical operator asks me first.
Is the proxy domain setup against Google or Meta ToS?
No. It's the same family of cross-domain attribution pattern publishers, affiliates, and large e-commerce brands use for attribution. The pixel fires on a domain whose content is compatible with platform policy. The data goes server-side, where it's reconciled, encoded, and cleaned before send. No misrepresentation, no false claims, no ToS issue.
How long until I see results?
Infrastructure and account go live in 3-4 weeks. ROAS at scale takes 6-12 weeks as the algorithm learns. The account on this page hit 8.50× blended ROAS in its first five weeks of running because the foundation was right before the first dollar of spend.
What does it cost?
Build is one-time, scoped after the diagnostic. Ongoing management uses the Restricted Vertical Framework tier: from €6,000/month per channel (Google + Meta together from €12,000/month). Setup from €5,000, scoped after the diagnostic. Ad spend always billed separately direct to platform.
What if I'm in CBD, nootropics, hormones, or hemp, not peptides?
Same playbook with category-specific tuning. The architecture (proxy-domain pixel + server-side processing + compound-level mapping + compliance gate) is vertical-agnostic. Category-specific work is in policy interpretation and Shopping feed tuning. I've run this in peptides, CBD, vape, hemp, and adjacent restricted categories.
What if my account gets restricted anyway?
It happens, even with the best architecture. When it does, I know the appeal process, I keep backup account structure ready, and recovery is 1-2 weeks instead of 6+. The point of this work is not to claim immunity, it's to make restrictions rare and recovery fast.
If this works so well, why isn't every agency doing it?
Technical barrier is high. Most agencies optimise for ad spend, not for infrastructure that lives upstream of ads. Building this requires server engineering, compliance interpretation, and ongoing platform monitoring, which is not a 90-day learning curve for someone coming from generic DTC. The brands that need this can't afford agencies that don't know it.
What happens if we stop working together?
Full handoff documentation is part of every engagement. Architecture diagram, runbook, monitoring playbook, escalation contacts. Your in-house team or any future operator can pick up the work. Clients stay because they want to, not because they're locked in.
Operator's note
The client called my style "cowboy." I'll take it. In restricted verticals, "compliance theater" is what most agencies sell, layers of caution that mostly protect the agency from saying anything definitive while the brand keeps paying for ROAS that's half of what's possible.
I've been keeping restricted-category ad accounts alive since iOS 14.5 broke standard tracking. Seven years, 5+ active restricted accounts under management. I know which compounds Google flags, which Meta reviewers escalate what, where the default approach stops working.
To be clear: this is not a workaround. The architecture is the same family of cross-domain attribution publishers, affiliates, and large e-commerce brands rely on. Fully documented. Defensible under any audit. No misrepresentation, no policy violation waiting to surface.
Tell me your category and what you're running into. I'll tell you whether the same framework applies, what it would cost to build, and what it would cost to keep running. No pitch.
Brand anonymised: This client operates in a sensitive product category and has asked not to be named. All numbers and screenshots are from the real account. The brand is one of the leading peptide supplement retailers in the US market.
Selective by design · 1-2 capacity slots per quarter
Minimum engagement 3 months. Minimum spend $10K/month.
If you're below those numbers the economics don't work for either side. If you're at $30K+/month and watching half your potential ROAS leak into broken infrastructure, three ways to start the conversation.
Path 1 · Self-serve
Tracking health check
90-second diagnostic, automated score, top 3 findings. No call required. Best when you want a fast read before booking my time.
Run the check →Path 2 · Paid
Full Audit
Up to 3 marketing channels in one written report: structure, tracking, attribution, plus an AI opportunity layer. Delivered within 72 hours. €1,500 fixed.
See audit options →Path 3 · Direct
Strategy Call
30 minutes, your category, your situation, honest answer on whether the restricted framework applies and what it costs.
Book the Call →Or email contact@adpistols.com and describe your category and what you're running into.