skills/data-analytics/marketing-spend-analysis/SKILL.md
Track and analyze marketing spend across all channels with ROAS calculation, diminishing returns analysis, and budget reallocation recommendations by platform
npx skillsauth add finsilabs/awesome-ecommerce-skills marketing-spend-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Marketing spend is typically the largest variable cost in a DTC ecommerce business — often 15–40% of revenue. Unlike most costs, marketing spend is directly controllable in near-real-time: you can increase or decrease budgets on paid channels within minutes. This creates both opportunity (scale what works) and risk (waste capital on what does not).
The core goal is to maximize total contribution profit from your marketing investment — not just revenue. A channel with high ROAS but thin margins, high return rates, or low AOV may generate less actual profit than a channel with lower ROAS and stronger unit economics.
This skill guides you through building a unified view of marketing spend and performance across all channels, using tools designed specifically for ecommerce merchants.
The biggest problem in marketing spend analysis is that each platform (Meta, Google, TikTok) reports its own ROAS using its own attribution window — and they all claim 100% credit. You need a tool that pulls data from all platforms into one view and compares against your actual order data.
| Platform | Recommended Tool | What It Does | |----------|-----------------|-------------| | Shopify | Triple Whale or Polar Analytics | Connects Shopify orders + all ad platforms; shows blended ROAS, MER, and channel-level true ROAS side by side | | Shopify (budget option) | Shopify Analytics + Google Analytics 4 | Free; last-click attribution only; no cross-platform comparison | | WooCommerce | Metorik + GA4 | Metorik adds UTM attribution to WooCommerce orders; GA4 provides channel-level conversion reporting | | BigCommerce | Glew.io or Rockerbox | Both connect BigCommerce orders to ad platform spend data | | All platforms | Northbeam or Rockerbox | Platform-agnostic; provide first-party multi-touch attribution across all channels with spend pacing |
Key metrics to track in your chosen tool:
| Metric | Definition | Why It Matters | |--------|-----------|---------------| | Platform ROAS | Revenue attributed by each platform / spend on that platform | What the ad platform claims (typically inflated) | | First-party ROAS | Revenue attributed by your own pixel / spend | More accurate; corrects for view-through over-attribution | | Blended MER | Total revenue / total marketing spend across all channels | Overall marketing efficiency; harder to game | | True ROAS | Gross profit attributed to channel / spend | Accounts for COGS; the right metric for profitability decisions | | CAC (new customers only) | New customer acquisition spend / new customers acquired | Separate from retargeting/retention spend | | ROAS break-even | 1 / (1 - COGS rate - fulfillment rate) | Minimum ROAS needed to not lose money |
Triple Whale setup (recommended for $50K+/mo ad spend):
Polar Analytics setup (mid-market, more affordable):
Metorik + GA4 setup:
Alternative: Northbeam or Rockerbox
Before analyzing whether a channel is performing well, calculate your minimum viable ROAS.
ROAS break-even formula:
Break-even ROAS = 1 / (1 - COGS rate - variable cost rate)
Example:
COGS rate: 45% of revenue
Fulfillment + payment fees: 12% of revenue
Break-even ROAS = 1 / (1 - 0.45 - 0.12) = 1 / 0.43 = 2.33x
Any channel with true ROAS below 2.33x is losing money on every sale.
Target ROAS by channel type:
| Channel Type | Target ROAS Multiplier Above Break-Even | Why | |-------------|----------------------------------------|-----| | Prospecting (new customers) | 1.5–2x break-even | Acquiring new customers has higher long-term value than single-order ROAS suggests | | Retargeting (existing visitors) | 2–3x break-even | Lower cost; higher conversion rate; but be careful of incrementality | | Brand search (Google Branded) | 5x+ | High ROAS but low incrementality; customers were coming anyway | | Non-brand search (Google Generic) | 1.5–2x break-even | True incremental; valuable for new customer acquisition | | Email/SMS | 10x+ | Low cost per send; high ROAS but measures existing customer retention, not acquisition |
Set up a weekly review with this structure. Pull data from your analytics tool (Triple Whale, Glew, GA4):
CHANNEL PERFORMANCE SCORECARD (Last 7 Days vs. Prior 7 Days)
─────────────────────────────────────────────────────────────
Channel | Spend | 1P Revenue | 1P ROAS | vs LW | Status
Meta Ads | $12,400| $38,400 | 3.1x | +0.3x | OK ✓
Google Ads | $8,200 | $31,100 | 3.8x | -0.2x | OK ✓
TikTok Ads | $3,100 | $5,700 | 1.8x | -0.8x | REVIEW ⚠
Amazon Ads | $4,500 | $19,800 | 4.4x | +0.1x | OK ✓
Email/SMS | $800 | $22,000 | 27.5x | +2.0x | OK ✓
─────────────────────────────────────────────────────────────
Total | $29,000| $117,000 | 4.0x | | MER: 4.0x
Break-even ROAS: 2.33x | Monthly Budget: $125,000 | Paced to spend: $126,500 (+$1,500)
TikTok is flagged: ROAS dropped from 2.6x to 1.8x (below 2.33x break-even). Action: Investigate creative fatigue; pause underperforming ad sets; hold budget before cutting entirely.
Use this decision framework when channels are over/under-performing:
When to reduce spend on a channel:
When to increase spend on a channel:
Before cutting spend, investigate:
| Problem | Solution | |---------|----------| | Each platform claims credit for the same order | Use a first-party attribution tool (Triple Whale, Northbeam) to de-duplicate; platform-reported ROAS always double-counts | | Cutting spend during a temporary ROAS dip | Investigate root cause before cutting; algorithmic learning phases (post-creative refresh) look like performance drops but recover; allow 50+ optimization events before evaluating | | Not separating branded from non-branded search ROAS | Google Branded campaigns have very high ROAS but low incrementality; analyze separately or you will overestimate Google's true contribution | | Running ads for out-of-stock products | Connect inventory status to your ad platforms; use rules-based automation in Meta/Google to pause campaigns when SKUs hit 0 stock | | Ignoring email and SMS in ROAS calculations | Email/SMS spend is very low relative to revenue attributed; their MER looks incredible but remember they largely serve existing customers — they are retention tools, not acquisition tools |
tools
Let shoppers save products to a wishlist, share it with friends, and get notified when saved items come back in stock or drop in price
development
Build a themeable storefront with design tokens and CSS custom properties that supports white-labeling, multi-brand variants, and dark mode
development
Speed up product discovery with instant search suggestions, fuzzy typo matching, and category-aware results powered by Algolia or Elasticsearch
development
Build a mobile-first storefront with thumb-friendly navigation, sticky add-to-cart buttons, and touch-optimized components for high mobile conversion