The Walled Garden Problem
Meta will reject your ad, ban your account, and block your appeal — all within 72 hours. Google Ads will shadow-filter your campaigns so they technically run but reach nobody. TikTok will approve you Monday and ban you Thursday.
This isn’t news to anyone in cannabis. The question is: what do you do instead?
Most operators either give up on paid entirely (leaving revenue on the table) or keep burning budgets trying to sneak through Meta’s review process (a game you will eventually lose). Neither is a strategy.
The Cannabis Paid Stack
Programmatic display. Fyllo, Mantis, and direct DSP buys through cannabis-friendly inventory. Geo-fenced to legal markets, brand-safe inventory only. CPMs are higher than Meta ($8-15 vs. $3-5), but you’re not getting banned. And the targeting is surprisingly good — dispensary proximity, cannabis interest signals, age-verified audiences.
Connected TV (CTV). Streaming ads on Roku, Hulu (where accepted), and cannabis-friendly CTV networks. 15-30 second spots with geo-targeting. CTV is underpriced for cannabis right now because most operators don’t know it exists.
Native and contextual. Outbrain, Taboola, and cannabis-specific networks. The key is creative that doesn’t trigger content filters — education-first messaging, lifestyle imagery, no product shots. Think “wellness content” that happens to be from a dispensary.
Audio and podcast. Spotify (in legal markets), SiriusXM, and host-read podcast spots. Cannabis podcast audiences are highly engaged and convert well. Host-read spots outperform pre-produced audio 3-4× on conversion.
Attribution: The Hard Part
None of this matters if you can’t tie ad spend to revenue. The attribution problem in cannabis is real — most POS systems don’t talk to ad platforms natively.
The solve: POS-to-ad matching through Alpine IQ, Happy Cabbage, or custom data pipes. Match ad exposure (by device ID or geo-fence entry) to transaction data. It’s not pixel-perfect like Meta’s attribution was, but it’s 10× better than “we ran ads and sales went up, probably.”
Our clients average 3.9× ROAS across the cannabis paid stack after 90 days. The best performer hit 5.1× on an influencer-seeded programmatic campaign. The worst was 1.8× — we killed that channel and reallocated.
What Not to Do
Don’t waste time on Meta workarounds. “CBD-only” accounts that accidentally show THC products, cloaked landing pages, creative that’s technically compliant but clearly cannabis — Meta’s AI is getting better and your ban risk increases every month.
Don’t buy cheap programmatic inventory without brand safety filters. Your dispensary ad next to conspiracy content or explicit material is worse than no ad at all.
Don’t run paid without attribution. If you can’t measure it, you can’t optimize it, and you’re guessing with real money.
Build the stack right. Measure everything. Scale what works. Kill what doesn’t. That’s it.