House of Spoils · Internal · Not for external sharing
Traffic Strategy Review
August 2026
What we changed in June, what it earned, and what to fix next.
All numbers: Shopify net revenue (ex-tax, paid orders) + GA4 traffic + Meta spend.
The problem — June 2026
Clickbait pages ate our traffic.
9 "clickbait" product pages pulled 10,820 pageviews a day — and sold almost nothing.
- Ads sent buyers to eye-catching pages, not to prints people buy.
- Best sellers got only 6.8% of product-page traffic.
- Result: lots of visits, weak revenue per visit — $1.03 per session.
"$ per session" = net revenue ÷ site visits. Our core quality measure.
The fix — June 23–24
All roads now lead to the 48 best sellers.
- Catalog ads (Meta + Google) re-pointed at the top-48 best-seller collection.
- Site traffic rerouted the same way.
- One collection = one source of truth: Shopify collection of 48 prints, mirrored to ad product sets.
We did not cut spend. We redirected where the spend lands.
Result — 61 days after the change
Yes. Revenue per visit doubled.
$ per session
$1.03 → $2.09
+103% — a doubling, and still rising
Revenue per day
+32%
$17,595 → $23,154
Sessions per day
−35%
Fewer visits, far better visits
Conversion rate
+92%
Orders ÷ sessions nearly doubled
Orders per day
+24%
18.4 → 22.8
Trajectory
$1.94 → $2.24
First 30 days vs next 31 — improving, not decaying
Mechanism
We redirected traffic. We did not cut it.
Clickbait pages
−95%
Daily pageviews: 10,820 → 516. The 9 named pages lost 91–99% of their traffic.
Best-seller pages
+331%
Daily pageviews: 1,323 → 5,701. Best sellers now get 69.9% of product-page traffic (was 6.8%).
Meta spend per day actually rose +25%. Session quality did the work — not budget cuts.
Case study — Horsepower (the print)
Dedicated campaigns don't beat the tide.
We ran a dedicated UGC ad campaign for one print for 4 weeks. It returned 0.68× — breakeven is 1.76×.
| Print | Dedicated campaign? | Revenue lift (4 wk) |
| Horsepower | Yes — $17,455 spend | +72.1% |
| Porsche Surf | No | +79.1% |
| Sitewide baseline | — | +14.7% |
The comparator with no campaign grew faster. A seasonal tide lifted all boats — the campaign added roughly nothing. Meta itself attributed only 3 purchases to it. Verdict: pause it; no new dedicated print campaigns.
Watch-out
Junk carousel traffic distorts our numbers.
- Aug 16–17: the catalog carousel flooded the site with 43,163 near-zero-value sessions in 2 days.
- For Horsepower alone, that flood = 29.9% of its entire 60-day pageview count.
- Everyday carousel traffic bounces at 78%; every other source bounces at 13–28%.
"Bounce" = visitor leaves without doing anything.
- Root cause: the carousel's hero card is a favorite-variant issue on Horsepower.
Fix is manual, in Meta Commerce Manager (Clay/Kylie) — still outstanding.
The roster — all 48 best-seller slots, last 60 days
$652.6k earned on $192.1k Meta spend.
Keep — clearly earning the slot
7
$130,892 · 20.1% of revenue
Watch — holding, something off
31
$420,043 · 64.4% of revenue
Weak — swap-out candidates
10
$101,673 · 15.6% of revenue
Top earners: Porsche Surf $62.6k · Horsepower $51.4k · Risky Business $32.5k.
Key finding
The problem is not weak prints.
It is misallocated ad spend.
The weak 10 earn
15.6%
of roster revenue ($101,673)
…but consume
36.5%
of tracked ad spend ($70,208)
| Print | L60 ad spend | Gross ROAS |
| Birdies — worst slot on the roster | $23,753 | 0.68× |
| Letting Go | $15,108 | 1.56× |
| Escape Riva | $11,220 | 1.62× |
All three sit below the 1.76× breakeven. That is $50,081 of spend returning $57,978 — blended 1.16×.
ROAS = revenue ÷ ad spend. Below 1.76× we lose money on the sale.
Proposed actions
Pending approval — nothing changed yet
Swap 3. Cut spend on 2. Protect 1.
- Swap out → in: Birdies → High Class · Sunset Dip → Get In · French Riviera → Land Of The Free.
Replacements all earn $11–12k L60 at 4–6× the roster's median $ per pageview.
- Cut spend, keep the prints: Letting Go + Escape Riva — healthy prints being over-fed ($26,328 at ~1.6×). Clay conversation, not a collection change.
- Do NOT remove Horsepower: the dashboard flags it, but its metric is polluted by junk carousel traffic — on real Shopify revenue it is the #2 print (4.29× ROAS).
- No new dedicated print campaigns — the Horsepower test failed (0.68× vs 1.76× breakeven).
How to judge campaigns · Fairing post-purchase survey
How we should measure success.
Fairing survey, all-time (May 2024–Aug 2026) · 2,128 responses · 56% response rate
Q: "When was the first time you heard about House of Spoils?"
Heard of us >1 year before buying
44%
Nearly half of buyers knew us over a year before they purchased
Knew us >2 weeks before buying
~62%
Most buyers had a long consideration window before converting
Bought the week they discovered us
~17%
Only 1 in 6 buyers converts in the platform's 7-day attribution window
AOV — long-consideration buyers
$1,042–$1,089
Buyers who waited months or years spend more per order
AOV — same-week buyers
$921
Impulse buyers spend less
Takeaway: 7-day platform ROAS can't see most of our buyers. Judge campaigns on months, not weeks — and re-measure Horsepower in October before killing anything.
Caveats — read before deciding
Know the limits of these numbers.
- Meta-only spend. Google Ads spend is not counted (no API access). All ROAS figures overstate true efficiency.
- 4-week window on the Horsepower campaign test. Directionally strong, but short for a high-price, slow-decision product.
- Attribution limits. Meta's dedicated adset is invisible in GA4; incremental figures credit the campaign generously — reality is likely worse, not better.
- Unequal windows. Pre = 34 days, post = 61 days; all comparisons are per-day. Summer seasonality is not controlled for.
Next steps
Four decisions on the table.
- 1. Max approves / rejects the 3-print swap.
- 2. Clay: reduce spend on Letting Go + Escape Riva; pause the Horsepower UGC adset.
- 3. Clay/Kylie: fix the Horsepower carousel hero variant in Commerce Manager (outstanding since Aug 18).
- 4. Review again at the next swap window — cadence stays 1–2× per month.
Sources: bestsellers-deepdive-2026-08-27.md · roster-review-2026-08-27.md — full evidence trails inside.
← → or click to advance