How do I know which marketing channels are actually making my Shopify store money?
Tag every link with UTM parameters, read Shopify's sales-attributed-to-marketing reports, install your ad platforms' pixels (plus the Conversions API where supported), and run a post-purchase survey asking "How did you hear about us?" No single source tells the whole truth — compare them and look for agreement. For the truest read, run incrementality tests: briefly pause a channel and watch what happens to total sales.
The uncomfortable truth about marketing attribution is that every channel wants credit for the same sale. Your Meta ads dashboard claims the purchase, Google claims it too, and the customer actually heard about you from a friend. Add in Apple's privacy changes, which weakened pixel-based tracking, plus all the "dark social" — DMs, group chats, podcasts — that analytics can't see, and you get a picture that's always partly fiction. The fix isn't one perfect tool; it's triangulation: several imperfect sources compared against each other.
Start with UTMs. Every link you control — ads, emails, influencer bios, QR codes — should carry consistent utm_source, utm_medium, and utm_campaign tags. Source is who sent the traffic (for example, instagram), medium is how (for example, paid-social or email), campaign is which effort (for example, spring-launch). With disciplined tagging, Google Analytics and Shopify can break your sessions and orders down by channel. The caveat: UTMs are only as good as your discipline, and they say nothing about the customer who saw your ad but typed your URL directly.
Next, read Shopify's own numbers. Shopify Analytics includes sales-attributed-to-marketing reports that tie orders to your marketing activity. Treat these as a first-party check against what the ad platforms claim — when Shopify and Meta disagree, the gap itself is information.
Third, fix your tracking plumbing. Install the Meta, TikTok, and Google pixels, and where the platform supports it, connect the Conversions API — the server-side feed that sends purchase events from Shopify's servers rather than the customer's browser. Server-side events survive ad blockers and iOS opt-outs far better than browser pixels. Most platforms offer a native Shopify integration for this; it's usually a few clicks in their sales-channel setup.
Fourth, just ask. A post-purchase survey — "How did you hear about us?" on the order confirmation page — catches everything tracking misses: podcasts, word of mouth, Reddit threads, the friend's text message. Self-reported answers are vague and sometimes wrong, but this is still your best window into dark social, and it costs almost nothing.
Finally, the honest test: incrementality. Pause a channel's spend for a week, or hold it out of one region, and watch total revenue — not the channel's dashboard, total revenue. If pausing Meta ads barely moves your total sales, Meta was taking credit for sales that would have happened anyway. Geo-holdout tests are the gold standard once budgets allow.
To judge profitability per channel, do the simple math: attributed revenue minus ad spend, product costs, and fees equals contribution. Divide spend by the new customers from that channel and you have your customer acquisition cost. Compare that cost to what a customer is actually worth — and be skeptical of any channel whose story only looks good in its own dashboard.
Plainly: GetNoCut does zero attribution. It won't tell you which channel drove a sale, it does no UTM tracking, and it replaces neither Google Analytics nor Shopify Analytics — for those jobs, use the methods above. Where it touches this question at all is on the revenue side of the math: a post-purchase upsell raises average order value no matter which channel brought the customer, so every channel's economics get slightly better. If your problem is knowing where buyers come from, solve that with tracking first. If your problem is squeezing more revenue from buyers you're already paying to acquire, that's the job GetNoCut is built for.