Confidential · 121 Group Internal Findings

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.

Period
17 Feb – 17 May 2026 (90 days)
Accounts in scope
3 AU — Canine, Equine, GOPO/Human
Total spend reviewed
$1,094,370 AUD
Prepared by
Adam Ducquet · 121 Group
Audience
Russell · Slade · Justin (Adam-approved share only)
Executive Summary

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.

$1.094M
90-day Meta spend (AU)
All 3 accounts combined
$2.653M
Platform-attributed revenue
Meta-reported, pre-deduplication
2.42×
Blended ROAS
Thought-Metric will read ~1.7–2.0
6
Ad sets drive 80% of revenue
Out of 141 that spent in 90 days

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.

Distribution: Adam Ducquet, Russell, Slade, and Justin only. Not for Growth Hunter or Pri without your express go-ahead.
Top Findings · Ranked

The five things to know

01

Catastrophic frequency on Equine retargeting

One single ad set — 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.
Estimated reclaim if frequency is capped + window shortened: $20k–$30k revenue per 90 days.
02

Competition campaigns lose money on Meta — confirmed at the channel level

Every comp campaign across all three accounts ran at under 1.0× ROAS. The AU Canine Competition (May 2026) burned $6,545 to return $3,472. The strategic justification (database building, post-comp nurture revenue at 60–180 days) is sound and Annie's nurture-flow work will eventually realise that LTV — but the way comps are currently reported in WIP, blended into the same ROAS table as acquisition campaigns, makes the channel look broken when it isn't. This is a reporting problem, not a campaign problem.
Fix: separate comp campaigns onto a lead-gen KPI line. Stop measuring them on ROAS until 90-day post-comp purchase data is in.
03

Equine is the best account, not the weakest

Pri's report this morning that Equine NCAC is $259 (vs. $55 forecast) is true for the current week. The 90-day picture is materially different: Equine ran at 3.50× ROAS with $43 CPA. Weeks 10 and 11 of this calendar year hit 8.98× and 5.23× ROAS — when Equine works, it works hard. The recent volatility is driven by (a) the high-frequency 180d retargeter (Finding 01), and (b) a single underperforming creative concept in the master campaign that needs replacing.
The current "Equine is the problem" framing is wrong on a 90-day basis. Equine is the most fixable of the three.
04

Massive account bloat — but it's not the headline problem

Across the three AU accounts there are 972 historical campaigns, 2,421 ad sets, and 15,007 ads. Only 3–4% of each spent a dollar in the last 90 days. This isn't directly hurting performance, but it slows the Growth Hunter team's velocity in Ads Manager, makes naming conventions inconsistent across the operator base, and creates risk of paused-and-restarted ad sets losing learning. Worth a 1-day archive sweep — easy win, low risk.
Not urgent, but worth addressing in the next 2 weeks while broader fixes settle.
05

Audience Network is leaking budget

Audience Network placements consumed ~$53k across the three accounts and returned 1.03–1.65× ROAS. The CTRs on these placements range from 16.6% to 31.0%. For context, real Facebook Feed CTR sits at 0.8–1.5%. CTRs above 15% on Audience Network are nearly always rewarded-video accidental taps (children playing games tapping ads to dismiss them). This isn't real intent.
Easy fix. Exclude audience_network from placement settings on all acquisition campaigns. Estimated reclaim: $10k–$15k of wasted spend redirected to working placements per 90 days.
Performance by Account · 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.

Where The Money Is Actually Working

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.

Where The Money Is Leaking · Ranked

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

AccountAN placementSpendROASCTRVerdict
Caninean_classic$17,0061.03×16.6%Accidental taps
Equinean_classic$19,3151.65×20.2%Accidental taps
Equinerewarded_video$12,6031.36×31.0%Almost certainly bots/kids
GOPO/Humanan_classic$4,0112.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 setFreqROAS
Equine · 2.Re ATC/WV 180d49.32.33×
GOPO · 2.Re ATC/WV 180D27.81.65×
GOPO · 2.Re WV 30D19.82.14×
Canine · 2.Re Engaged Socials 180D18.91.50×
Canine · 3.Pp GH Customer Lists16.36.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.

Mobile vs Desktop

The biggest leverage point isn't on Meta

"Desktop conversion 7.83% vs mobile 3.17%."
— Slade Sherman, Rose-Hip Vital WIP, 18/05/2026

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
Canine88%2.0×2.10×−5%
Equine88%3.6× (avg)3.56×+1%
GOPO/Human85%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.

Audience Reality

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
Canine55-64 F · 45-54 F · 65+ F47%~2.0×
Equine55-64 F · 45-54 F · 65+ F58%~3.7×
GOPO/Human65+ F · 55-64 F · 45-54 F60%~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.
Attribution Hygiene

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:

AccountModern 7d-click + 1d-viewOlder / mixed specsEffect
Canine460 ad sets462 ad setsInconsistent
Equine341 ad sets461 ad setsInconsistent
GOPO/Human268 ad sets429 ad setsInconsistent

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).

Recommended Actions

What 121 would action — ranked by impact and urgency

This week

Growth Hunter
Pause the Equine 49× frequency retargeter (2.Re - ATC/WV - Equine URL - 180d - AUS - Copy) until frequency capped + window shortened.
Growth Hunter
Pause or rebuild the Canine Engaged Socials 180D retargeter ($98k burning at 1.50×).
Growth Hunter
Exclude Audience Network placements from all 1.Aq acquisition campaigns across all 3 accounts. Single setting change.
Growth Hunter
Apply a 5/7-day frequency cap to all 2.Re retargeting ad sets (except the Customer Lists ad set, where it's working).
121 / Slade
Separate competition campaigns from the ROAS table in the weekly WIP report. Move to a lead-gen KPI line.

Within 2 weeks

Growth Hunter
Archive ~800 dormant campaigns (zero spend in last 180 days).
Growth Hunter
Standardise attribution to 7d-click + 1d-view across all ad sets.
Annie / Rose-Hip
Bring forward the post-comp nurture flow + 60-day touch-base flow. This is what makes comps "work" on a 90-day basis.
Growth Hunter
Audit creative inventory — 5,829 Canine ads, only 436 spent in 90d. Build a "champion creative library" document of the 10 ads that drove 60%+ of revenue.

Within 1 month

Russell / Justin
Grant 121 Group access to the US Meta ad accounts so we can run the same audit there. Same playbook will likely apply.
121 / Slade
Build a weekly Thought-Metric × Platform reconciliation report. Slade already has the data — this should be automated.
Growth Hunter
Test facebook_reels_overlay with more budget — currently highest-ROAS placement after FB Feed in Equine and GOPO.
Strategic Moves · Bigger Conversations

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.

Scope, Method & Caveats

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, with ads_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