You're spending money on Google Ads, Meta, email marketing, maybe an influencer or two. Revenue is coming in. But can you tell which channel is actually responsible for which sales? And more importantly, which channel is profitable after accounting for all costs?
Most merchants can't. They look at platform-reported metrics — Google says it drove $20,000 in revenue, Meta says it drove $18,000, email says it drove $12,000 — and the numbers add up to more than their total revenue. Every platform takes credit for the same sales. Nobody knows the truth.
This is the attribution problem, and it's not going away. But there are practical approaches that work for small and mid-size merchants without enterprise-grade tooling or data science teams.
Why attribution is hard
Attribution is hard for three specific reasons, and understanding them prevents you from chasing a perfect solution that doesn't exist.
Multi-touch journeys
A customer sees your Instagram ad on Monday. Googles your brand name on Wednesday. Clicks an email campaign on Friday. Buys on Saturday through a direct visit. Which channel gets credit?
Instagram showed them you exist. Google helped them research. Email reminded them. The direct visit is where the transaction happened. Every platform in this chain will claim the sale. None of them individually caused it.
Cross-device behavior
The same customer might discover you on their phone during a commute, browse your site on their work laptop, and purchase from their home computer. Unless they're logged in across all devices, analytics tools see three different people. The touchpoints are fragmented.
Privacy and tracking erosion
iOS privacy changes, cookie deprecation, and ad blockers mean that click-based tracking misses an increasing share of the customer journey. Meta and Google are increasingly relying on modeled conversions — estimates, not measurements. The data you're basing decisions on is less precise than it was a few years ago, and the trend is accelerating.
Practical attribution models for SMB merchants
You don't need a perfect model. You need one that's consistent, directionally accurate, and simple enough to actually use. Here are three options, ordered by complexity.
First-touch attribution
Credit goes to the channel that first brought the customer to your site.
How it works: Track the source of each customer's first visit (via UTM parameters, referral data, or platform analytics). All future revenue from that customer is attributed to that initial channel.
When it's useful: When you're primarily trying to understand which channels bring new customers into your funnel. It's especially relevant for brands in growth mode where acquisition is the priority.
Limitation: It ignores everything that happens after the first touch. A customer acquired through a blog post who converts six months later after clicking a retargeting ad — the blog gets all the credit, the ad gets none.
Last-touch attribution
Credit goes to the last channel the customer interacted with before purchasing.
How it works: Look at the referring source or campaign for each conversion. That source gets full credit for the sale.
When it's useful: When you want to understand what's closing sales. This is what most analytics platforms report by default, so you may already be using it.
Limitation: It overvalues bottom-of-funnel channels (retargeting, brand search, email) and undervalues top-of-funnel channels (social, content, display) that introduce customers to your brand in the first place.
Simple weighted attribution
Distribute credit across multiple touchpoints using a fixed weighting.
A common approach:
- First touch: 40% credit
- Last touch: 40% credit
- Any touches in between: 20% split evenly
When it's useful: When you want a more balanced view that acknowledges both acquisition and conversion channels. It requires slightly more tracking but provides a significantly more accurate picture.
Limitation: The weights are arbitrary. But arbitrary-and-consistent beats precise-and-nonexistent. Pick weights, apply them uniformly, and use the results for relative comparisons between channels rather than absolute measurements.
Calculating true customer acquisition cost by channel
Most merchants calculate CAC wrong. They take their total marketing spend and divide it by total new customers. That gives you a blended average that hides enormous variation between channels.
True CAC by channel requires:
Step 1: Isolate spending per channel. Include everything — not just ad spend, but creative production costs, agency fees, software subscriptions (email platform, SMS tool), and your time or your team's time managing the channel.
Step 2: Count new customers acquired per channel using your chosen attribution model.
Step 3: Divide. Channel CAC = Total channel cost / New customers acquired via that channel
Here's what this often reveals:
| Channel | Monthly Cost | New Customers | CAC |
|---|---|---|---|
| Google Search Ads | $4,200 | 140 | $30.00 |
| Meta (FB/IG) Ads | $3,800 | 95 | $40.00 |
| Email Marketing | $800 | 60 | $13.33 |
| Influencer Partnerships | $2,500 | 35 | $71.43 |
| Organic Social | $1,200 (labor) | 25 | $48.00 |
Those numbers look different from what the ad platforms report, because the ad platforms don't include your full costs and they inflate their attributed conversions.
ROAS vs. profit-based ROI
Return on Ad Spend (ROAS) is the standard metric reported by ad platforms. It's calculated as revenue generated divided by ad spend. A 4x ROAS means $4 in revenue for every $1 in ads.
The problem: ROAS says nothing about profit. A 4x ROAS with a 25% net margin means you generated $1 in profit per $1 in ad spend. A 4x ROAS with a 10% net margin means you generated $0.40 in profit per $1 spent — you're losing $0.60 on every ad dollar.
Profit-based ROI is what actually matters:
Profit ROI = (Revenue from channel x Net margin %) - Total channel cost) / Total channel cost
Using the Google Search Ads example above:
- Revenue generated: $14,000
- Net margin (15%): $2,100
- Total channel cost: $4,200
- Profit ROI: ($2,100 - $4,200) / $4,200 = -50%
That 4x ROAS channel is actually losing money on first orders. This is where the next metric becomes critical.
Connecting marketing spend to customer LTV
A channel that loses money on the first order can still be your most profitable channel — if the customers it acquires have high lifetime value.
This is the analysis most merchants skip. They evaluate marketing spend against first-order revenue and make cut/keep decisions based on that single transaction. It's like evaluating an employee based on their first day of work.
Here's how to connect marketing to LTV:
Step 1: Tag customers by acquisition channel (using first-touch attribution).
Step 2: Calculate the average lifetime value of customers from each channel over 6, 12, and 24 months.
Step 3: Compare channel CAC to channel LTV.
| Channel | CAC | 12-Month LTV | LTV:CAC Ratio |
|---|---|---|---|
| Google Search Ads | $30.00 | $185 | 6.2x |
| Meta Ads | $40.00 | $120 | 3.0x |
| Email Marketing | $13.33 | $210 | 15.8x |
| Influencer | $71.43 | $95 | 1.3x |
Email marketing's LTV:CAC ratio is extraordinary because email primarily converts people who already know your brand — they're predisposed to become repeat customers. Influencer marketing has a poor ratio not because the customers are bad, but because the acquisition cost is high relative to their purchasing pattern.
A healthy LTV:CAC ratio is generally 3:1 or higher. Below 3:1, the channel may not be sustainable. Below 1:1, you're paying more to acquire customers than they'll ever return to you.
When to cut a channel
Cutting a marketing channel is one of the hardest decisions merchants face. Here's a framework:
Cut immediately if:
- LTV:CAC ratio is below 1:1 after 12 months of data
- The channel has been declining for three consecutive months with no clear external cause
- You've optimized creative, targeting, and offers with no improvement
Reduce but don't cut if:
- LTV:CAC is between 1:1 and 2:1 — the channel is marginal but may improve with optimization
- The channel serves a brand awareness purpose that's hard to measure (organic social, content marketing)
Increase investment if:
- LTV:CAC is above 4:1 and you haven't hit diminishing returns on spend
- The channel consistently acquires high-LTV customer segments
The key is making these decisions with data, not intuition. Platforms like Spark by MishiPay help by analyzing your store's customer data across acquisition channels, calculating actual LTV by cohort, and surfacing which channels produce the most profitable customers — not just the most customers. When you can ask "what's the average lifetime value of customers who came from Meta ads versus Google ads" and get an answer grounded in your actual data, attribution becomes a practical exercise rather than a guessing game.
No attribution model is perfect. But a consistent, imperfect model that you actually use will outperform no model at all. Pick one, apply it, and start making marketing decisions based on profit, not platform-reported vanity metrics.
See which channels actually drive profit
Spark connects your store data to show customer lifetime value by acquisition source — so you invest in channels that pay back.