We keep hearing the same thing from people running Shopify stores. They send campaigns through their email platform. Orders come in through Shopify. And then someone sits down with two CSVs and tries to connect the dots.
Did the email actually drive purchases, or did people just buy anyway?
That's the Shopify email attribution problem, and it doesn't get solved inside either tool on its own. Your email platform tells you opens and clicks. Shopify tells you who bought. But matching campaign recipients to actual orders by email address, then tying revenue back to a specific send? That happens in a spreadsheet. Or it doesn't happen at all.
Why Email Campaign Attribution Is So Painful on Shopify
The core issue is simple: no single platform holds both sides of the data. Your email tool knows who received the campaign. Shopify knows who placed an order. To see which campaigns actually converted, you need to merge those two datasets by email address and compare timing.
This is true whether you're on Klaviyo, Mailchimp, Omnisend, Drip, or anything else. The platforms all report their own version of attributed revenue, but they're using their own models and their own attribution windows. If you want to cross-reference against what Shopify actually recorded as orders, you have to do the match yourself.
Most agencies do this manually. Export recipients from the email platform. Export orders from Shopify. Open both CSVs. VLOOKUP or INDEX MATCH by email. Filter by date window. Calculate revenue per campaign.
It works, but it takes 30 to 60 minutes per client, per month. For agencies managing ten or twenty Shopify stores, that's a full day of spreadsheet work just to answer "which emails made money?"
What We Actually Tested
We tested it. Pulled the Shopify orders straight into a sheet and uploaded the Klaviyo campaign export from the store. One prompt: match recipients against orders by email, show me which campaigns converted and how much revenue they drove.
The store was running Klaviyo, but the method works the same with any email platform that lets you export a recipient list.
Four campaigns, broken down in seconds:
- Winter Sale: 950 recipients, 176 converted, $123K MXN in revenue
- Valentine's Guide: 1,050 recipients, zero conversions
- Spring Collection Preview: 820 recipients, 94 converted, $67K MXN
- Flash Sale Weekend: 640 recipients, 211 converted, $148K MXN
That Valentine's Guide number is the kind of thing that changes your strategy. Over a thousand recipients and not a single purchase traced back to it. Without merging the data, you'd never know. The email platform might show decent open rates and clicks, but none of that turned into Shopify revenue.
How Shopify Email Attribution Works in Superworker
The method is straightforward, and it works the same regardless of which email platform you use:
- Pull your Shopify orders directly into a Superworker sheet (the Shopify integration handles this, no export needed)
- Upload your campaign recipient CSV from your email platform (email addresses + campaign name)
- Match on the key criteria (email address in this case)
- Any recipient who also placed an order within your attribution window is a conversion
- Sum the order values per campaign
That's it. The match key is the email address. The attribution window is whatever makes sense for your business, usually 3 to 7 days after send.
The Shopify side is already connected. You're not downloading a CSV from Shopify admin and re-uploading it somewhere else. The orders data comes straight into the sheet. The only file you need to bring is the campaign export from your email platform, one CSV or as many as you need if you're comparing across multiple sends.
The difference is that doing this by hand takes real time. Doing it with a prompt against both datasets takes seconds. Same logic, same output, fraction of the effort.
Works With Any Email Platform
As long as your email tool lets you export a list of who received a campaign, this works. Upload the CSV and you're set. That includes:
- Klaviyo (what this store was on)
- Mailchimp
- Omnisend
- Drip
- Shopify Email
- ActiveCampaign
- Brevo (Sendinblue) The export format varies slightly across platforms, but the core data is the same: email addresses tied to a campaign. That's all you need on the email side.
Who This Is Actually For
If you're running email campaigns on Shopify and spending time every month trying to figure out which ones actually drove sales, the data is already there. This just makes the matching fast.
FAQ
Q: Can't my email platform already tell me this? Sort of. Platforms like Klaviyo, Mailchimp, and Omnisend all report attributed revenue, but they use their own attribution models (usually last-click within a window they define). Matching raw exports yourself lets you apply your own logic and cross-reference against actual Shopify order data, which sometimes tells a different story.
Q: What file formats do I need? You just need a CSV export of campaign recipients from your email platform. The Shopify orders data pulls directly into Superworker through the integration, so no export needed on that side. Both datasets include email addresses, which is the key you match on.
Q: What about SMS campaigns? Same principle applies. Export SMS campaign recipients and match against Shopify orders. The match key shifts from email to phone number, which Shopify also captures on orders.