I have visibility into channel performance across a few dozen ecommerce stores, ranging from sub-$1M brands to ones doing eight-figure quarterly revenue. Different verticals, different price points, different customer bases. The interesting thing is how consistent the channel-level patterns are once you look across enough stores.
Here’s what I keep seeing.
Google Ads is almost always the top revenue channel. In 6 of the 8 stores I pulled data for over the last 90 days, Google Ads was the largest revenue contributor by a meaningful margin. We’re talking ranges like $1.1M, $2.1M, $2.9M, even $11M in 90-day revenue, depending on the store. The exceptions were a beauty brand whose revenue was disproportionately driven by organic social, and a smaller wellness brand still finding its footing. For most operators, the question isn’t whether Google deserves spend, it’s whether they’re capturing all the branded search demand they should be.
Email is the quiet workhorse. Email almost never tops the chart, but it’s in the top 3-5 channels in nearly every store I see, with zero direct spend attributed. Across the sample, email revenue ranged from 8% to 22% of total channel-attributed sales. The brands at the high end of that range invariably have a real flow architecture (welcome, browse abandonment, post-purchase, win-back) and a campaign cadence they actually stick to. The brands at the low end have flows they set up two years ago and haven’t touched since.
Bing Ads is the most underrated channel I see. The spend is always small. The ROAS is almost always strong. In one store it was 9.3x. In another, 8.85x. In a third, 3.13x. In a fourth, 59x (yes, really, on a small base). The pattern shows up store after store: low volume, high efficiency. Most operators don’t run Bing because the audience feels too small to matter, and they’re missing a channel that consistently punches above its weight.
Facebook Ads ROAS is structurally weaker than Google’s. Across the same set of stores, Facebook Ads ROAS came in around 0.95x, 1.24x, 1.36x, 1.47x, 2.3x, and 3.6x. Google Ads on the same accounts ranged from 1.43x to 17x, with most clustered in the 3-7x range. This isn’t an indictment of Meta as a channel. It’s a reminder that Meta-attributed revenue and incremental revenue are two different things, and brands optimizing only on platform-reported ROAS are usually overpaying there. The brands that get the most out of paid social are the ones treating it as a top-of-funnel acquisition tool and grading it on new customer ROAS instead of total ROAS.
Direct and organic search are proxies for brand strength. A high direct share, especially when paired with strong branded search organic traffic, is one of the cleanest signals that a brand has real demand outside its paid channels. The stores with the strongest direct + organic combined share tended to also be the ones with the highest absolute revenue. Causation runs both ways here, but as a quick read on brand health, the direct + organic share is one of the first numbers I’d look at if I were diligencing a store.
Organic social is bimodal. For most brands, it’s a rounding error. For a small number of brands with a genuine content engine, it can be the largest channel by a wide margin. One beauty brand in the sample was doing nearly 50% of revenue from organic social. The pattern is binary: either it’s working as a real acquisition channel or it’s just noise. The middle ground is rare.
A few takeaways for operators looking at their own mix:
If you’re not running Bing, you’re leaving money on the table. The setup time is a few hours, the spend is small, the ROAS is consistently the best in the account.
If your email channel isn’t in the top 3-5 by revenue, your retention engine isn’t built. Adding flows is among the highest-leverage moves available because the spend is essentially zero.
If your Facebook ROAS looks similar to your Google ROAS in the platform-reported view, it’s almost certainly worse than your Google ROAS once you control for incrementality. Pay attention to how each channel actually contributes to new customer acquisition rather than the headline number.
The aggregate channel mix isn’t the same conversation as your individual store. What’s worth pulling from the cross-store view is which channels reliably show up, which ones reliably overperform their reputation, and which ones reliably overstate themselves. The answers don’t change much from store to store.
This is the kind of cross-account view that gets a lot easier when channel data lives in a single place. I run mine in ThoughtMetric, which is where the numbers in this post came from.
Leave a comment