Rose-Hip Vital
Meta Audit — AU Accounts
90 days of platform-attributed data across Canine, Equine, and GOPO/Human ad accounts. Pulled live from the Meta Graph API on 18/05/2026. This document is 121 Group's outside view of where Meta is working, where it is leaking, and the changes we'd action this week if it were our channel.
What the data actually shows
Headline: Over the last 90 days the AU Meta program spent $1.094M and returned $2.653M of platform-attributed revenue at a blended 2.42× ROAS. But 80% of that revenue came from just six ad sets. The remaining ~115 ad sets either return marginally above cost or burn cash outright. Russell's frustration on this morning's WIP is mathematically justified — but the problem is structural, not catastrophic. There is a clean, defensible path back to a 3.0+ blended ROAS by fixing five specific things.
The audit was triggered by Russell's commentary on the 18/05/2026 WIP that Meta spend is "taking a match to $100 notes" and that Equine NCAC has run at $259 versus a $55 forecast. The numbers in this audit largely support that view at the campaign and ad-set level — but the 90-day picture is more nuanced than the weekly snapshot. Equine is actually the strongest of the three AU accounts on a 90-day basis (3.50× ROAS). The recent spike in Equine CPA is a creative-and-retargeting-window problem, not a structural one.
This is 121 Group's outside read. The Meta channel is managed by Growth Hunter; 121 manages Google. We pulled this data ourselves via the Meta Graph API because the conversation on the WIP suggested a deeper look would be useful to you. Use it as you see fit.
The five things to know
Catastrophic frequency on Equine retargeting
2.Re - ATC/WV - Equine URL - 180d - AUS - Copy — has run at frequency 49.3 across the last 90 days with $53,663 in spend at a 2.33× ROAS. A 180-day retargeting window on a small audience (Australian horse owners who have added to cart or viewed the Equine URL) with no frequency cap means the same people are seeing the same ads 50 times. This single ad set is the largest mathematical drag on the entire Equine account's blended ROAS.
Competition campaigns lose money on Meta — confirmed at the channel level
Equine is the best account, not the weakest
Massive account bloat — but it's not the headline problem
Audience Network is leaking budget
audience_network from placement settings on all acquisition campaigns. Estimated reclaim: $10k–$15k of wasted spend redirected to working placements per 90 days.The 90-day truth
| Account | Spend | Revenue | ROAS | CPA | Purchases | Read |
|---|---|---|---|---|---|---|
| Canine | $615,805 | $1,238,159 | 2.01× | $49 | 12,474 | Largest account, weakest ROAS. Carrying the most retargeting fat. |
| Equine | $261,584 | $914,678 | 3.50× | $43 | 6,042 | Best ROAS — but most volatile week-on-week. Highly fixable. |
| GOPO / Human | $216,980 | $500,237 | 2.31× | $39 | 5,520 | Lowest CPA, mid ROAS. Quietest account, most stable. |
| TOTAL AU | $1,094,370 | $2,653,074 | 2.42× | $46 | 24,036 | Apply ~0.75× modifier for Thought-Metric reality |
Why the numbers don't match Thought Metric
Meta's platform-attributed numbers double-count revenue that is also claimed by Klaviyo, Google, and direct traffic. Thought Metric de-duplicates, which is why Slade's morning report typically shows lower numbers. Expect the real blended Meta ROAS to read 1.7–2.0× in Thought Metric — which matches what Slade reported on the 18/05 WIP.
Six ad sets carry ~80% of the profitable revenue
| Account | Ad set | Spend | ROAS | Function |
|---|---|---|---|---|
| Canine | 3.Pp - GH Customer Lists - AUS | $53,258 | 6.68× | Purchaser retargeting |
| Equine | 3.Pp - GH Customer Lists - AUS | $25,147 | 9.61× | Purchaser retargeting |
| Equine | 3.Pp - March Madness (sale event) | $5,487 | 28.15× | Sale push to existing list |
| GOPO/Human | 3.Pp - GH Customer Lists - AUS | $18,306 | 7.15× | Purchaser retargeting |
| GOPO/Human | 1.Aq - Creative concepts push | $37,621 | 2.20× | Top-of-funnel acquisition |
| Canine | 1.Aq - Concept Push - AUS | $140,499 | 1.68× | Top-of-funnel acquisition |
The pattern
The 3.Pp - Customer Lists retargeting campaigns are the consistent 6–9× ROAS performers across all three accounts. These are existing-customer retargeting using the GH customer database. The acquisition campaigns sit at 1.4–2.3× ROAS — which is the genuine cost of buying new customers on Meta in 2026. Russell should be aware: 2× ROAS on cold acquisition is normal in this category, not a sign of failure.
The fixes, in priority order
🔴 FIX 01 · Pull the Equine 49× frequency retargeter
Ad set: 2.Re - ATC/WV - Equine URL - 180d - AUS - Copy
Metrics: 49.3 frequency · 2.33× ROAS · $53,663 spent in 90 days
180-day retargeting window on a small audience (Australian horse owners) with no frequency cap. The maths is brutal: a small ATC/WV pool seen 49× over 90 days. Action options:
- Cap frequency at 4–5 impressions per 7 days
- Shorten the retargeting window to 30–60 days
- Add a hard exclusion: "purchased in last 90 days"
Estimated value: $20k–$30k revenue per 90 days at current spend, if the ad set lifts from 2.33× to a more typical 4–5× retargeting ROAS.
🔴 FIX 02 · Kill or rebuild the Canine "Engaged Socials 180D" retargeter
Ad set: 2.Re - AUS - Canine - Engaged Socials - 180D
Metrics: 18.9 frequency · 1.50× ROAS · $98,650 spent in 90 days
This is the single largest cash drain in the entire AU program. Soft engagement signal (page like, post engagement) over a 180-day window is too broad to retarget profitably at this spend level. The audience signal is weak, the frequency is too high, and the return barely beats break-even.
- Either shrink the window to 30-day video viewers + ATC only, OR
- Shut it off entirely and redirect budget to
3.Pp - GH Customer Lists(6.68× ROAS, currently spend-capped)
Estimated reclaim: $20k+ per 90 days redirected to working retargeting.
🟠 FIX 03 · Stop reporting comps inside the ROAS table
The competition campaigns serve a legitimate strategic purpose (database building) but they will never return ROAS > 1 inside the comp window — by design. As long as they sit alongside acquisition campaigns in the blended ROAS table, they will:
- Drag the headline number down 0.1–0.2× ROAS week-on-week
- Make Russell think Meta is broken (per the 18/05 WIP)
- Cause the "did this comp pay for itself?" debate every WIP
Recommendation: report comp campaigns on a separate KPI line — cost per lead, leads acquired, projected 90-day LTV from prior cohorts. The post-comp nurture flow Annie is building is the right answer to the underlying question. Until that exists, comps shouldn't be evaluated on ROAS at all.
This is a 121 + Growth Hunter conversation, not a campaign change. Slade can adjust the reporting template.
🟠 FIX 04 · Kill Audience Network across all 3 accounts
| Account | AN placement | Spend | ROAS | CTR | Verdict |
|---|---|---|---|---|---|
| Canine | an_classic | $17,006 | 1.03× | 16.6% | Accidental taps |
| Equine | an_classic | $19,315 | 1.65× | 20.2% | Accidental taps |
| Equine | rewarded_video | $12,603 | 1.36× | 31.0% | Almost certainly bots/kids |
| GOPO/Human | an_classic | $4,011 | 2.18× | 19.3% | Suspect |
Exclude audience_network from placement settings on all 1.Aq campaigns. One change, applied at the campaign level, saves ~$50k of inefficient spend per 90 days — reclaim and reallocate to Facebook Feed (where 60%+ of profitable purchasing actually happens).
🟡 FIX 05 · Cap retargeting frequency globally
Five ad sets across the three accounts run at frequency > 10:
| Ad set | Freq | ROAS |
|---|---|---|
| Equine · 2.Re ATC/WV 180d | 49.3 | 2.33× |
| GOPO · 2.Re ATC/WV 180D | 27.8 | 1.65× |
| GOPO · 2.Re WV 30D | 19.8 | 2.14× |
| Canine · 2.Re Engaged Socials 180D | 18.9 | 1.50× |
| Canine · 3.Pp GH Customer Lists | 16.3 | 6.68× |
Frequency above 5–7 weekly impressions delivers diminishing returns. Note the Customer Lists ad set holds 6.68× ROAS even at 16.3 frequency — for that audience, the math works. Everywhere else, cap at 5/7-days.
🟡 FIX 06 · Archive 800+ dormant campaigns
972 historical campaigns across the three accounts. Only 34 spent in last 90 days. 96% are dormant.
- Slows Ads Manager UI for the Growth Hunter operators
- Makes naming convention drift worse — same concept named 3 different ways across years
- Risk of accidentally re-activating an old, broken campaign mid-learning
Suggested approach: archive (not delete) any campaign with zero spend in the last 180 days. ~800 campaigns to archive. One-time clean-up, not ongoing maintenance.
The biggest leverage point isn't on Meta
Meta's own data confirms it from the other side: 85–88% of Meta-paid traffic is mobile, and the site converts that mobile traffic at less than half the desktop rate.
| Account | Mobile share of spend | Mobile ROAS (avg iPhone+Android) | Desktop ROAS | Gap |
|---|---|---|---|---|
| Canine | 88% | 2.0× | 2.10× | −5% |
| Equine | 88% | 3.6× (avg) | 3.56× | +1% |
| GOPO/Human | 85% | 2.3× (avg) | 2.87× | −20% |
The strategic read
Meta is delivering the volume of mobile traffic the business needs. The constraint is mobile checkout conversion on rosehipvital.com — and that's a website problem, not a Meta problem. The single highest-leverage improvement in the entire program (across all paid channels, not just Meta) is mobile conversion rate. The new website is converting better than the old one, but there is still a 2× gap between mobile and desktop on Rose-Hip's own data.
On the creative side: facebook_reels_overlay placement is the dark-horse winner — 6.71× ROAS Equine, 6.13× ROAS GOPO, 3.67× ROAS Canine — currently under-funded. Instagram Reels + Stories under-perform vs Facebook in all three accounts, suggesting either creative-format mismatch (vertical-first vs square) or weaker IG audience quality.
The customer is older and female. Treat the data accordingly.
Across all three accounts the buyer profile is consistent: female, 45–65+. This isn't a guess — it's what 90 days of $1M+ in Meta spend has revealed.
| Account | Top 3 age × gender buckets (by revenue) | Combined share of revenue | Avg ROAS in those buckets |
|---|---|---|---|
| Canine | 55-64 F · 45-54 F · 65+ F | 47% | ~2.0× |
| Equine | 55-64 F · 45-54 F · 65+ F | 58% | ~3.7× |
| GOPO/Human | 65+ F · 55-64 F · 45-54 F | 60% | ~2.3× |
Implications for creative direction
- Creative built around a 25–34 aesthetic (younger influencer faces, club-adjacent styling, fast-cut TikTok aesthetics) is being shown to an audience that doesn't buy at the same rate.
- The 18–24 cohort converts but represents under 1.5% of spend in all three accounts. Not worth chasing.
- The Equine 55-64 F bucket buys at 3.99× ROAS at $39 CPA — that's the single highest-quality cohort in the entire AU program.
- For GOPO/Human, the 65+ F bucket alone delivered $119,746 of revenue at 2.15× ROAS. There's headroom to scale spend here specifically.
Six different attribution windows in use — should be one
Ad sets are split across six different attribution-window configurations. The modern Meta default (7d-click + 1d-view) covers the majority, but significant slices are running on older or incorrect specs:
| Account | Modern 7d-click + 1d-view | Older / mixed specs | Effect |
|---|---|---|---|
| Canine | 460 ad sets | 462 ad sets | Inconsistent |
| Equine | 341 ad sets | 461 ad sets | Inconsistent |
| GOPO/Human | 268 ad sets | 429 ad sets | Inconsistent |
This won't dramatically change blended numbers, but it does mean ad-set-vs-ad-set comparisons in optimisation reviews can be apples-to-oranges. Recommendation: standardise to 7d-click + 1d-view across the board (modern Meta default).
What 121 would action — ranked by impact and urgency
This week
Within 2 weeks
Within 1 month
Three bigger plays — 121 Group recommendations
A · Mobile site conversion sprint
Meta is delivering 85% mobile traffic; the site converts that traffic at half the desktop rate. This is the single biggest leverage point in the entire paid-media program — and it has nothing to do with Meta or Google. It's the rosehipvital.com checkout funnel on mobile.
121 Group can run a focused mobile-conversion audit + sprint on the new website. Recommended scope: 2-week diagnostic (heatmaps, session recordings, checkout-funnel cohort analysis) → prioritised list of 5–10 mobile UX changes → implementation. Estimated impact: 30–50% lift in mobile conversion rate, which translates to roughly +20% across all paid channels.
B · The 1.5kg landing page problem
Russell on the 18/05 WIP: "We've never been able to actually get a landing page that works effectively with the 1.5kg."
The data explains why. The 1.5kg buyer profile is not the cold-acquisition audience — it's the second-purchase upgrader. They buy 500g, get comfortable, then upsize. The right channel for 1.5kg conversion is subscription retargeting (Skio's 50% subscriber pool), not cold Meta acquisition.
Recommendation: stop trying to sell 1.5kg cold on Meta. Instead, build a Klaviyo + Meta retargeting nurture sequence specifically for 500g buyers at the 30-day, 60-day, and 90-day marks, with a 1.5kg-only landing page tuned for "you've tried it, now save by buying bigger." 121 can scope this with Annie + the Growth Hunter team.
C · 121's custom AI model — applied to US Meta when access is granted
The 2pm conversation between Adam and Russell covered the use of 121's custom AI model (10+ years of agency data) on the US Google account. The same logic applies to US Meta:
- US Meta is currently performing at sub-1× ROAS per Pri's 18/05 WIP report
- Russell signalled openness to a "throw it in the bin and start again" approach
- 121's AI model is well-suited to a clean-slate rebuild on an account that's not currently working
This requires US ad account access first. Russell or Justin can grant via Meta Business Manager — happy to send a step-by-step request when you're ready.
How this audit was built
Data source
Meta Graph API v21.0, live pull on 18/05/2026. All numbers are Meta's own platform-attributed figures.Access
Long-lived user access token issued under the "121 Group Portal" app, withads_read, ads_management, business_management, and read_insights scopes. Tied to adam@121group.io.
Accounts pulled
3 AU accounts in the Rosehip Specialists BM (413211245499165): Canine (act_687918984695055), Equine (act_687919484695005), GOPO/Human (act_687919738028313).
Accounts NOT pulled
3 US accounts — not visible under current access. They sit in a separate Business Manager (presumably Growth Hunter's). Access request pending Russell/Justin go-ahead.Time period
Last 90 days · 17 Feb – 17 May 2026 · daily granularity available where useful, summary-level in this document.Breakdowns analysed
Publisher × platform position, device, impression device, age × gender, region, country, weekly trend (13 weeks), attribution window distribution.Caveats
- Platform attribution — all ROAS / revenue numbers in this audit are Meta's own platform-attributed figures. Real ROAS in Thought Metric will be ~0.7–0.8× of these numbers due to deduplication with Klaviyo, Google, and direct traffic.
- Snapshot, not history — this is a 90-day snapshot pulled on one day. Some week-to-week volatility (especially in Equine) is real and not captured fully in 90-day averages.
- Outside-in — 121 Group does not manage Meta for Rose-Hip and has not been part of the day-to-day campaign decisions. Some recommendations may already be in flight or have context we're not aware of. Where that's the case, this audit should be treated as a second opinion, not a critique.
- Political framing — see the confidential note at the top of this document. This audit is for Adam, Russell, Slade, and Justin only.