Conversion tracking for cannabis dispensaries, within what is actually allowed
The first honest thing to say is that Google, Meta and most major platforms do not accept cannabis advertising, and accounts that try get suspended. So the measurement question is not how to optimise a Meta campaign — it is how to measure the channels that are actually available: local search presence, dispensary marketplaces, SMS, email and owned media. Anyone selling you a conversion API build for a banned channel is selling you an account suspension.
Free30 minutesNo obligation
Getting and tracking leads for dispensaries
Where a dispensary's online orders come from, and which ones were actually picked up
A dispensary's demand arrives as pickup and delivery orders through an embedded menu, orders placed on Weedmaps or Leafly, Business Profile visits and walk-ins. Google doesn't allow ads that facilitate recreational drug use, so the menu and the marketplaces carry most of the measurement. Count an order when it's completed in the POS, and record where it started.
The complaint we hear from dispensary owners: Weedmaps reports a stack of order clicks, Google Analytics shows almost no purchases, and the POS shows a busy month with no way to say what drove it. The usual cause is the menu. Dutchie's embedded menu and Jane's both run inside an iframe, so cart and checkout happen in a frame your tags can't see unless the site relays the events the frame posts. Orders placed on Weedmaps or Leafly never touch your site at all, and an online order isn't a sale until the customer shows ID and pays at the counter. So the spend you can still control, on marketplace placements, deals and texts, gets judged on clicks and placed orders, and the channels that bring customers who pick up get the same budget as the ones that bring abandoned carts.
The ten-minute check: place a test pickup order from your own site with ?utm_source=test on the address, then look for a purchase event in Google Analytics and for the order's source in the POS. With Dutchie embedded, purchase data reaches Google Analytics only if your site listens with DutchieEmbed's dataLayer or analytics listeners. Jane posts its events to the parent page the same way. Treez Ecommerce runs on your own domain and has a tag manager setting with purchase events. Then compare last month's online orders with orders actually completed in the POS, by source.
Fixed looks like this: one order event per completed order, carrying the order ID so the menu's event and the POS record can't count twice, the original source stored at checkout and sent server-side from your own domain, Weedmaps and Leafly orders reported as their own channels, and pickup rate tracked by source. With Google Search ads off the table, that first-party record is what tells you which marketplace placements, loyalty texts and Business Profile updates earn their cost. The free audit tests the menu, the POS handoff and the source fields.
Where the leads come from
| Channel | Role | Note |
|---|---|---|
| Business Profile | The main free channel: hours, menu link and directions | UTM tags on the website and menu links so profile orders don't disappear into organic; keep hours exact. |
| Weedmaps and Leafly | Marketplace listings where customers browse menus and order | Orders happen on their sites and apps; judge on completed pickups in the POS, not the marketplace's order clicks. |
| Google Search ads | Largely unavailable | Google's dangerous products policy doesn't allow ads for products marketed as facilitating recreational drug use. |
| Online menu | Dutchie, Jane, Treez or AIQ Ecommerce on your own site | Iframe menus need an event relay on the parent page; own-domain menus can send purchase events through tag manager. |
| SMS and loyalty | springbig and AIQ texts to existing customers | Tag every link; a regular ordering from a text isn't new demand. |
| Cannabis ad networks | Programmatic platforms such as Surfside and MediaJel | Their attribution dashboards are their own; compare against completed orders in your POS. |
Which calls count
- Count it when
- Most dispensary calls ask about hours, stock or prices; don't count them as conversions. Count the order when it's completed in the POS.
- Minimum duration
- No timer helps here. A call is worth tracking only if the store takes phone orders, and then the completed order is the count.
- After hours
- Orders placed after closing are picked up the next day; report them on pickup, so late-night menu traffic isn't judged as if every placed order became a sale.
Where each lead should land
- Embedded menu order
- POS order with the source and order ID passed from the menu, counted when the customer pays at pickup.
- Weedmaps or Leafly order
- POS order with the marketplace as source through the menu or orders integration.
- Business Profile visit
- Menu order with source Google Business Profile from the UTM on the menu link.
- SMS or loyalty text
- POS order tied to the loyalty profile and the campaign, reported as repeat business.
Cannabis dispensaries · what breaks
What cannabis dispensaries usually run into
- 01
Major platforms refuse the category
This is a policy fact, not a targeting problem to solve.
- 02
Marketplace platforms owning the customer
Menu platforms fill orders and keep the relationship.
- 03
In-store pickup dominating revenue
Most orders are collected, not delivered.
Cannabis dispensaries · the fix
What changes — Cannabis dispensaries
Completed orders as the conversion
From your POS, by fulfilment type.
Marketplace and direct orders separated
Different economics entirely.
Owned channels measured properly
SMS and email are where the measurable work is.
Cannabis dispensaries · architecture
The conversion map for cannabis dispensaries
Five events in a category where the channel list is the constraint.
- 1
Menu view
Frequently on a marketplace you do not own.
- 2
Order placed
Direct or marketplace, and the split matters.
- 3
Age verification at pickup
A real failure point.
- 4
Order completed
- 5
Repeat purchase
Where the loyalty programme earns its keep.
Cannabis dispensaries · diagnose
Where cannabis dispensaries tracking usually breaks
- 01
Attempting to run banned advertising
It ends in account suspension, and the suspension is usually permanent.
- 02
Marketplace orders credited to owned marketing
The menu platform found that customer.
- 03
Age verification failures at pickup
An order that cannot be collected is not revenue.
- 04
Compliance rules varying by jurisdiction
What is permitted differs by state and city, and changes.
Cannabis dispensaries · prove
How the work is proven — Cannabis dispensaries
Source of truth
The POS — completed and paid orders by date, split direct versus marketplace
- Completed orders reconciled at paid amounts against available channel reporting.
- Marketplace and direct orders reported apart.
- Unfulfilled and age-failed orders reversed.
- Only compliant channels measured, with the rest named as unavailable.
Cannabis dispensaries · free audit
What we check in the free audit
- Attempting to run banned advertising
- Marketplace orders credited to owned marketing
- Age verification failures at pickup
- Compliance rules varying by jurisdiction
Checked against
The POS — completed and paid orders by date, split direct versus marketplace
Free30 minutesNo obligation
Cannabis dispensaries · when not to buy
What lands in your monthly report — Cannabis dispensaries
- Completed orders and revenue by channel, direct and marketplace separated.
- Repeat purchase rate by acquisition channel.
- Marketplace commission as an explicit cost line.
- Which channels are available to you, restated as policy changes.
Cannabis dispensaries · what we deliver
The flow we build — Cannabis dispensaries
Click identifier captured where a compliant channel provides one
Which is a short list.
Carried into the POS or menu platform
Onto the customer record.
Completed order fires the conversion
At the amount actually paid.
Cancelled and unfulfilled orders reversed
Age verification failures happen at pickup.
Written guarantee
95%+ tracking accuracy
Measured against The POS — completed and paid orders by date, split direct versus marketplace. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Cannabis dispensaries questions, answered
No, not for the product. Attempting it risks losing the account entirely, including any other business assets attached to it. That is the honest answer and it is not the one most agencies lead with.
They produce real orders and they own the customer relationship and charge for it. Track them as a separate channel with their commission stated, and judge them on repeat rate rather than first order.
Owned channels — SMS, email, your own menu — plus local search presence. That is a smaller surface than most categories and it is measurable properly, which is better than a large surface measured badly.
It changes what data may be collected and retained, and the rules differ by jurisdiction. Get that reviewed locally before building anything, not after.
More on Cannabis dispensaries
- Google Ads · Cannabis dispensariesGoogle Ads conversion tracking for cannabis dispensaries
- Meta · Cannabis dispensariesMeta Ads conversion tracking for cannabis dispensaries
- TikTok · Cannabis dispensariesTikTok Ads conversion tracking for cannabis dispensaries
RELATED GUIDES
Funnels, reconciliation and tools for cannabis dispensaries
- Alcohol and wineConversion tracking for alcohol brands, past the age gate
- MarketplacesConversion tracking for marketplace sellers, and what is genuinely impossible
- Meta · Checkout → purchaseHow to track checkout to purchase for Meta Ads
- Google Ads · Checkout → purchaseHow to track checkout to purchase for Google Ads
- Google Ads × Ecommerce OrdersHow to reconcile Google Ads against your store's order table
- Crypto and tradingConversion tracking for crypto and trading, measured in funded accounts
- FirearmsConversion tracking for firearms retailers, on the channels available to you
- CannabisConversion tracking for cannabis, starting with what you cannot advertise on
Free · 30 min
Measure the channels you are actually allowed to use
Free30 minutesNo obligation
