
Open your marketing platform. Set a filter for campaigns sent in the last 90 days. Can you answer these questions?
How many contacts received it? How many opened it? How many clicked? How much revenue did it generate per channel, can you filter through strict vs broad attribution, for a time window you set?
The first three questions are engagement metrics. Every platform tracks them. They tell you people saw the message. They say nothing about whether the message made you money.
Campaign ROI should live in the same dashboard you're already in, calculated on your parameters, not something you export and figure out yourself.
Most cannabis marketing platforms were built to send messages and report on what happened to them. Opens, clicks, deliverability. That's the job they were designed for, and most of them do it well.
Revenue attribution is a different technical problem, and it requires different infrastructure.
To connect a campaign to an actual purchase, the platform needs a live POS integration capturing transaction data at the individual level, a way to map those transactions back to specific campaign sends, and logic that lets you define what counts as campaign-influenced based on your own rules. Strict attribution, broad attribution, custom windows. Without that full chain, all a platform can tell you is that a customer opened your email on Tuesday. What happened Thursday at the register stays invisible.
The first question retailers ask when they come to AIQ almost always comes back to the same thing. Show me what my campaigns made.
Attribution requires the marketing layer and the transaction layer to be connected. Most platforms were built with only one of those layers in mind. That's not a feature they can add in a product update. It's a foundational decision they made years ago.
Some platforms show a revenue number on campaign reports. Before you trust it, ask how it's calculated.
The most common method: take all the contacts who received the campaign, find all their purchases within a fixed window, say seven days, and add up the totals.
The problem with this is straightforward. A customer who buys every week, who never opened your email, who would have come in regardless, counts as a win. Every dollar they spent gets attributed to the campaign they happened to receive.
Estimated revenue measures correlation. It counts revenue that happened near a campaign, not because of one.
Real attribution is specific, timestamped, and triggered by an action. A purchase counts only if the customer received the campaign, engaged with it in a trackable way, and purchased within a window you defined. A window you set based on how your customers actually behave, not a fixed default baked into the system.
This distinction matters because your optimization decisions depend on it. If last month's top campaign looked good because high-frequency buyers happened to be on the send list, you'll keep running it. You'll keep spending on it. You'll never know it wasn't the campaign doing the work.
These aren't advanced features. They're the baseline for what ROI visibility should look like.
Custom attribution windows. Can you set the window yourself, 3 days, 7 days, 14 days, based on your campaign type? Or does the platform lock you into a fixed window?

Bulk campaign comparison. Can you pull all campaigns from the last 90 days into a single view, sorted by channel? Or do you open each one individually?
Can you define what a conversion actually means for each campaign? Purchases of a specific brand, SKU, or category. Customers who clicked a wallet pass, opened a landing page, or engaged with a specific touchpoint rather than just received the campaign.
A platform that can't answer these questions isn't giving you ROI visibility. It's giving you activity data with a revenue label on it.
You run a loyalty promotion on Tuesday. You set a five-day attribution window because that's how long your customers typically take to act on a deal. Friday you open the dashboard, sort the last 30 days by attributed revenue, and Tuesday's campaign is sitting at $18,400. You can see the 61 customers who purchased within the window, top converted products, and how much revenue it drove.
Last week's campaign had a better open rate. It drove $6,200. You know exactly what to cut.
That's the difference between a platform built around attribution and one that reports on sends. AIQ clients have attributed $4.9B in campaign revenue, tied to specific campaigns, segmented audiences, and attribution windows they set themselves.
The open rate was never the point. Revenue is. Your platform should be able to show you both, in the same place, on your terms. If it can't, you already know what the next step is.
See what your campaigns are actually making. Talk to our team today: Schedule a demo
