LoopBudz
Revenue attribution

Not clicks. Register receipts.

One campaign: $4,843 of POS-verified revenue inside the 7-day window. The first buyer completed their ticket 6 minutes after the send. That is what attribution looks like when it comes from the register instead of a tracking pixel.

Figures measured on one live store. Available on supported POS integrations: Treez today.

Synced last night

Campaign → POS revenue · Your Store

Completed tickets only · totals deduplicated

Attributed revenue

$17,060

Tickets

376

Fastest buyer

6 min after send

In-store Pickup
Weekend BOGO$5,120 attributedfrom 112 completed tickets · 7 days window
Attributed POS revenue by campaign, 7 days window
CampaignIn-store revenuePickup revenueTickets
Weekend BOGO$3,890$1,230112
Payday Flash$3,260$1,05096
New Drop: Live Resin$2,410$1,07074
Loyalty Win-Back$1,620$64051
Back-in-Stock: Kush Mints$1,370$52043

Simulated product UI · illustrative campaign data from a demo store

How POS revenue attribution works

Every night, we sync completed tickets from your POS. The first export at one store pulled 22,085 customers and 59,406 tickets in about ten minutes. Each ticket carries the customer, the line items, and the completed total. That feed becomes the ground truth every campaign is measured against.

Open any campaign and you get an attribution panel instead of a vanity chart: buyers, tickets, revenue, and the match rate for 1, 7, and 14-day windows after the send. Rows are named: you can see exactly which customers bought, alongside flags showing whether each one opened or clicked before purchasing. Revenue splits into in-store versus pickup, because knowing that a campaign drove foot traffic is worth more than knowing it drove taps.

Only completed tickets count. No abandoned carts promoted to "influenced revenue," no pending orders, no double counting of voided sales. If the panel says $4,843, that money crossed the counter. And because the same ticket feed powers our purchase-based segments and auto-generated campaigns, the loop closes: real purchases decide who gets the next email, and real purchases grade it afterward.

An honesty note about windows

Attribution windows overlap by design: a customer who got two campaigns this week legitimately appears in both 7-day windows. That is fine per campaign, but it becomes a lie the moment a platform sums those windows into a "total revenue generated" figure. We deduplicate to distinct tickets before showing any total. When we tested the naive sum on real store data, it inflated revenue by more than 8x. If your current platform shows one big attributed-revenue number, ask them exactly this question.

How attribution approaches compare

The short version: click-based tools measure engagement, POS-based attribution measures money.

Attribution capabilities: our platform vs Alpine IQ vs general email tools
FeatureUsAlpine IQKlaviyo / Mailchimp
Revenue sourceCompleted POS ticketsPlatform attribution modelsEcommerce click conversions
In-store purchases countedYesDepends on POS syncNo
Named buyers per campaignYesAggregate reportingNo
Deduplicated totalsDistinct tickets, alwaysNot disclosedN/A (click-based)
Data freshnessNightly ticket syncReported sync latency up to ~24hNo POS data at all
In-store vs pickup splitYesNoNo

vs Alpine IQ: reporting is their reviewers' complaint

Alpine IQ's marketing is genuinely attribution-forward: its email page promises to "track link clicks and revenue down to item level purchases," its Flows product ships "flow analytics that show business impact," and their strict-versus-broad attribution toggle is a thoughtful touch. But reporting is a recurring theme in their own G2 reviews: users ask for customizable reports, clearer dashboards, and faster load times, and reviewers report POS data taking up to 24 hours to appear. When your Friday campaign's results arrive Saturday afternoon in a dashboard you cannot reshape, the numbers stop driving decisions.

Our answer is narrower and sharper: a per-campaign panel of POS-verified revenue with named buyers and deduplicated totals, refreshed nightly from the register. If you are weighing the two platforms end to end, the full Alpine IQ comparison covers pricing, deliverability, and where they still win.

vs general tools: clicks are not a cash register

Klaviyo and Mailchimp attribute revenue by connecting clicks to online checkouts. That works for a Shopify brand. It collapses for a dispensary, where the majority of purchases happen at the counter: a customer reads your email at lunch, walks in after work, and pays at the register. To a click-attribution model, that campaign earned nothing. Google Analytics has the same blind spot: it can see your menu traffic, but it has never seen your register.

POS attribution flips the problem: instead of asking "which clicks became orders," we ask "which recipients completed tickets." The register answers with names, timestamps, and totals. It is the difference between measuring your email program by engagement and measuring it by revenue, and it is why attribution sits at the center of our Treez integration rather than bolted on as an analytics add-on. It also changes what you pay for: results you can verify against your own books, priced flat on our public pricing page.

Frequently asked questions

See a campaign graded by your register

Book a 20-minute demo. We'll show a live attribution panel from a real store's data: named buyers, deduplicated revenue, in-store vs pickup.