Sticky
AnalyticsStop guessing. Every send, offer, and shift, measured.

Know what'sactuallyworking.

Loyalty, offers, campaigns, journeys, even your budtenders, every dollar of marketing spend tied back to revenue at the SKU and the shift level. No CSV downloads. No "ask the analyst." Just answers.

Live POS attribution, not nightly batches
Revenue, not just opens & clicks
Export anywhere · CSV, Sheets, API
Marketing overview · Live
Attributed rev.
$842k
▲ 18.4%
ROAS
5.2×
▲ 0.6×
Redemption
34.8%
▲ 4.1pp
Subscribers
48.2k
▲ 2,144
Top budtenders this week
1
Maya R. · 142 signups
+$2,840
2
Devon K. · 128 signups
+$2,610
3
Priya S. · 119 signups
+$2,180
Full dashboard available on desktop, book a demo.
Built on POS revenue, not vanity opens

Reporting that ties every send to a swipe at the register.

Other ESPs end the story at "Opened." Sticky ends it at "Bought a Blue Dream eighth, Tuesday, 6:42pm, Maya at the register." Every dashboard, every drill-down, every export, anchored to the same POS event stream the loyalty engine runs on.

Revenue, not opens.

Every campaign card shows attributed revenue, ROAS, and SKU mix. The vanity metrics are still there if you want them, but they're not the headline anymore.

Live, not nightly.

Numbers update as customers walk out the door. Fridays look like Fridays before lunch, not on Monday morning when nobody can act on them.

Holdout & control groups, built in.

Every send auto-creates a holdout. The lift you see is real incremental revenue, not the customers who were going to come back anyway.

SKU-level attribution.

Slice a campaign down to "what did this send actually sell?" Flower vs. edibles vs. concentrates, by strain, by price tier, by margin.

Roll-up across every store.

11 stores in MI & OH? One dashboard. Drill into any single location. Compare them. Spot the laggard before the regional GM does.

Export anywhere.

CSV, Google Sheets, scheduled email, webhooks, API. Your data is yours. We hand it back in whatever shape your BI team likes.

40+ pre-built reports

A report for every question your GM will ask.

Pre-built, opinionated, and benchmarked against the 1,400 dispensaries on Sticky. Open one, save the filters, pin it to your dashboard, you're not building reports from scratch in a SQL notebook on a Friday afternoon.

Loyalty performance

· 9 reports
Member growth & churn

New signups, reactivated, lapsed, and churned, by store and by tier. Cohort survival curves included.

Time-series · Cohort · By store
Tier-up & tier-down velocity

How fast members climb your tiers, where they get stuck, and which tier-up campaigns actually move them.

Funnel · Sankey · Per-tier
Points liability

Outstanding points, projected redemption cost, and breakage. The number your CFO has been asking for.

Balance sheet · Aging
Redemption attribution

Which rewards drive the most repeat visits? Which ones are just margin-killers nobody bothers to claim?

Per-reward · ROI
LTV by acquisition source

QR signup vs. in-store budtender vs. website. Twelve-month LTV by source, with confidence intervals.

LTV · Source · Cohort
Visit frequency & recency

RFM grid for the whole base. See exactly who's drifting before they fall out of your 90-day window.

RFM · Heatmap

Offer & promotion performance

· 8 reports
Offer P&L

Gross revenue, discount spend, net margin, by offer. The "was this 20%-off weekend actually profitable?" report.

Margin · Discount load
Incremental lift

Holdout-based: how much revenue was new vs. cannibalized from customers who'd have bought anyway?

A/B · Holdout · Lift
Offer type benchmark

% off cart vs. $ off SKU vs. BOGO vs. free gift, head-to-head, on your own data and on the industry index.

Mix · Benchmark
Redemption funnel

Sent → opened → clicked → claimed → redeemed. Where is the drop-off, and which step needs the work?

Funnel · Per-step
Day & hour heatmap

When do your offers actually get redeemed in-store? Tune send time and quiet hours from real behavior.

Heatmap · Time-of-day
Stacking & abuse

Members hitting multiple offers per visit, multi-account signals, and other patterns that need a tighter rule.

Anomaly · Per-member

Campaign & journey reporting

· 11 reports
Revenue attribution

Last-touch, first-touch, and linear models. Tie every dollar of revenue to the send, journey, or offer behind it.

Multi-touch · Per-channel
Channel mix & ROAS

Email vs. SMS vs. wallet push vs. paid. Where every marketing dollar earned its keep last month.

Mix · ROAS · Trend
A/B test results

Subject, hero, CTA, send time, every test you've run, with statistical significance marked.

Variant · Confidence
Journey conversion

Step-by-step drop-off across every node in your journey: open, click, branch, delay, exit.

Per-node · Branch
Deliverability & reputation

Inbox placement, bounce, complaint, and carrier filtering rates, per send, per domain, per shortcode.

Per-domain · Reputation
Unsubscribe & opt-out reasons

Why people leave, by reason and by source. So you can fix the ones that are signal, ignore the noise.

Reason · Source

Customer & store

· 12 reports
Customer LTV cohorts

Cohort grids by first-visit month, with cumulative revenue, basket size, and visit count.

Cohort · LTV
Basket & SKU mix

What's in the bag when a marketed customer walks out, vs. organic. Margin and category mix both reported.

Per-SKU · Per-cat.
Repurchase windows

Median days between purchases, by category. Flower runs out fast. Edibles, not so fast. Tune your winback timing accordingly.

Median · Per-cat.
Store-vs-store comparison

Rank stores on AOV, repeat rate, loyalty depth, and ROAS. The regional GM's favorite report.

Rank · Per-store
Geographic heatmap

Where do your best customers live, and where are the underserved zip codes you could push into?

Zip · Density
Wallet card adoption

Apple vs. Google Wallet install rate, retention, and revenue per installed pass.

Adoption · Retention
Internal leaderboards

Your budtenders sell loyalty. Now you can see who's winning.

Every loyalty signup, offer pushed, wallet card installed, and review left, attributed to the budtender who made it happen. Hang a leaderboard in the break room. Run a monthly bonus. Watch your retention climb.

Attribution at the register.
When a budtender signs a customer up or applies an offer, the POS captures their ID. We link it back to revenue, automatically.
Ranked, shareable, postable.
Daily, weekly, monthly leaderboards. Filter by store or roll up the chain. Drop a TV in the break room and we'll auto-cycle the top performers.
Goal-tracking & spiffs.
Set monthly signup targets per store or per rep. Track progress in real time. Export to payroll for spiff payouts.
Beyond signups.
Track which staff push the highest-margin SKUs, surface upsells, and pull the best Google reviews. The full picture of who's actually moving the needle.
Budtender leaderboard · May 2026
Live
All 11 stores
Month-to-date
Loyalty signups
Cast to TV
#
Budtender
Signups
Redemptions
Attributed
1
MR
Maya Rodriguez
Kendall · Ann Arbor
142
38
$2,840
▲ 24%
2
DK
Devon Kowalski
Kendall · Cleveland
128
41
$2,610
▲ 11%
3
PS
Priya Sharma
Kendall · Detroit-East
119
28
$2,180
▲ 18%
4
CT
Chris Tanaka
Kendall · Toledo
102
24
$1,920
▲ 7%
5
JR
Jordan Reyes
Kendall · Flint
94
31
$1,810
▼ 3%
6
SL
Sam Liu
Kendall · Akron
88
22
$1,680
▲ 14%
7
AB
Aisha Brown
Kendall · Columbus
76
19
$1,420
▲ 6%
Chain-wide signup target · May
1,418 / 2,000
71% to goalPace: on track · 11 days left
Wallet card installs

Track which staff actually walked customers through scanning the QR and installing the Apple or Google Wallet card.

Priya S.82 wallet installs
Exports & integrations

Your data, inyourwarehouse, in your shape.

Pin a dashboard. Schedule a weekly CSV to your inbox. Stream every event over webhooks, or pull it from the API. Every byte the platform sees, you can have, with or without us.

Scheduled exports
CSV, XLSX, Sheets. Daily, weekly, monthly. Filtered by any cut you like. Delivered to email, Slack, or SFTP.
Warehouse sync
Reverse-ETL to whatever warehouse your data team runs. Your analyst can join Sticky data with the rest of the business.
Reporting API
Every metric exposed via REST. Build your own dashboards in Looker, Metabase, Mode, or a homegrown Streamlit app.
Event webhooks
Push every send, open, click, redemption, and POS-attributed sale to your endpoint. Real-time, idempotent, signed.
Role-based access
Per-store, per-role visibility. Your Toledo GM can't see Ann Arbor's numbers unless you let them.
Full history retention
Five years of event data, queryable. Year-over-year, holiday-over-holiday, never rolled up into a fuzzy summary.
Scheduled exports
6 active
Weekly campaign report
Mon 9:00am · Email · CSV · 4 recipients
Warehouse · raw events
Every 15 min · sticky_prod · 14.2M rows
Webhook · purchase.attributed
Live · https://api.kendalls.co/sticky/...
Monthly budtender leaderboard
1st of month · Sheets · Payroll team
Slack · #marketing-daily
Daily 7:30am · KPI summary
"We finally know which weekend drops are profitable, and which were just discounting customers who'd have shown up anyway. The holdout group on every sendchanged how our team thinks about marketing."
JM
Julian Mateos
VP Marketing · Kendall's Cannabis · 11 stores, MI & OH

See the dashboardonyour data.

Book a 30-minute demo. We'll plug a sample of your POS in and walk you through the exact reports your team would use on day one, attribution, loyalty health, budtender leaderboard, the works.