Sample audit · fictional coffee D2C account · this is what your own audit looks like →
ACME Coffee · Unfair Performance Audit

One account made profitable by a single word.

The brand keyword delivers ROAS 15.2. Everything beside it, over €196,000 in ad spend across Google and Meta, runs on average below the profitability line. This is not a measurement problem. This is a ROAS problem.

Cross-Platform Deep Audit2026·07·06Google Ads · Meta · GA4Lifetime data basis
Google AdsMetaGA4 AttributionGTMGSCTikTokShopify
01 · The Core Diagnosis
Where the contribution margin really comes from

The brand carries everything, the rest loses money

Google · Brand (`acme coffee`)
ROAS 15.2

€3,140 spend → €47,700 value. Only ~7% of the Google budget. This is the entire profit core of the Google account.

Google · everything but the brand
ROAS 0.57

€41,060 spend → €23,300 value. Not all of it is dead, but most of it bleeds without return.

Meta · account average
around 1.05

€152,000 spend. Carried by a few retargeting and subscription campaigns, the bulk sits at or below break-even.

Take away that one brand keyword and ACME Coffee's paid acquisition is structurally in deficit. Across the whole Google account that is ROAS 1.61 (€44,200 spend, €71,000 value). That holds lifetime (non-brand ROAS 0.57) and it holds in the last 120 days. The core task is no longer reach, it is profitability: making the same channels profitable. And the good news is there is plenty to work with, a whole row of unscaled winners sits under this surface.

02 · Profit concentration
One word against all the rest

7% of the search budget, most of the profit

Brand search traffic makes up about 7% of the Google budget yet drives the majority of account value. The entire rest of the search apparatus, generic coffee and gift terms, ties up the budget and returns almost no contribution margin.

Brand · conversion value€47,700
Non-brand · conversion value (at ~13× the spend)€23,300

Same chart, different axis: the brand produces roughly ten times the return per euro that non-brand does, on a tenth of the budget. Every euro that moves from generic into brand and the many profitable pockets is the single most effective lever in the account.

03 · Google Ads · Keyword economy
The non-brand lanes with a signal

Occasion and subscription intent beat broad product intent

The generic product terms are the biggest losers, not the next best thing after the brand. The non-brand signs of life are subscription and gift-occasion searches, consistent across lifetime and the last 120 days. The catch: today they run on micro budget.

KeywordTypeSpendROASVerdict
acme coffeeBrand€3,14015.2Profit core
coffee subscriptionSubscription€7106.4Signal, micro budget
single origin ethiopiaOccasion€3305.1Signal, micro budget
specialty espresso beansOccasion€2804.3Signal, micro budget
coffee gift boxGift€1903.9Signal, micro budget
office coffee / espresso beansProduct€520+1.2-1.3Optimize, do not kill
coffee beans onlineProduct€6100.9-1.1Borderline
coffee (broad)Product-broad€1,1800.30Bleeder
nespresso compatible podsCompetitor€980+0.20Total loss

Only a handful of non-brand keywords sit above ROAS 1 lifetime, together about €500 spend. Statistically thin, but the pattern is unmistakable: concrete occasions (subscription, single origin, gift box) convert, broad product terms (coffee, nespresso compatible) burn. The non-brand growth vector is occasion and subscription, not catalog.

04 · The reallocatable loss
Where budget bleeds, cross-platform

Over €36,000 in campaigns with no return

The same logic on Meta: a few retargeting and subscription campaigns carry, while a large block of "traffic" and "giveaway" campaigns runs at ROAS near zero. Together with the generic Google losers, that is the budget you can reallocate immediately.

Channel · CampaignSpendROASAction
Meta · LINK-CLICKS CATALOG TEST€18,6000.16Stop / rebuild
Meta · Traffic, Engagement & Giveaway campaigns~€9,4000.00-0.12Stop immediately
Google · Generic search ("coffee" broad, competitor pods)~€6,8000.20-0.30Throttle
Google · Non-brand overall (longtail)€41,0600.57Focus on occasion & subscription intent
Meta · Subscription prospecting (Abo)€21,8001.60Hold & measure on LTV
Meta · Retargeting (IG + web)€9,2002.30Scale
Google · Brand + Demand Gen€3,4701.5-15.2Maximize

At least €36,000 of lifetime spend sits in clearly loss-making campaigns. No new budget is needed, it is redistribution: from the loss into brand, retargeting, subscription and the occasion-driven longtail.

05 · Efficiency levers
Silent misallocation

Where already-profitable budget is distributed wrong

Google · ROAS by device
Desktop · €7,120
1.90
Mobile · €36,960
1.40
Connected TV · €120
0.00

Desktop delivers 36% more ROAS and gets a sixth of the budget. CTV is pure scatter.

Meta · CTR by placement
IG Stories · €31,900
3.90%
FB Feed · €88,300
3.10%
IG Reels · €6,820
1.20%

IG Stories has the highest click rate at a quarter of the FB-Feed budget. Core audience: coffee lovers 28-45, with the 55+ segment as the most efficient, underinvested edge.

06 · The strategic question
Why "more budget" isn't the answer

The brand is capped - three ways forward

Profit hangs on brand search, but brand search is volume-limited: only so many people google "acme coffee". Profitable growth needs one of these three levers, not more budget poured onto loss-making broad search.

Lever 1 · Feed the brand

Top-funnel social (the winning creatives) creates new people who know the brand, and later buy profitably through brand search. Meta prospecting gets measured on brand-search lift, not on direct ROAS.

Lever 2 · Occasion over catalog

The one non-brand pocket with signal is intent: gifting and subscription. Dedicated campaigns for coffee gift box, starter set, "coffee subscription" and "gift for X" with matching landing pages, instead of broad "coffee" terms.

Lever 3 · Margin, AOV & LTV

ROAS = revenue per euro. The subscription campaigns (Abo-prospecting @ 1.6, high LTV) point to repeat purchase. First-order ROAS underrates the real value. Bid on LTV instead of first order, bundle and subscription upsell raise the profitability threshold.

All three are measurable and automatable. None requires more budget, each shifts the account's economics structurally.

07 · Cross-channel attribution · the truth
What Meta and Google can't see

The deduplicated truth exposes hidden channels

Since the cross-channel attribution layer went live in March 2026, the whole customer journey is stitched together across every channel and deduplicated, instead of each platform crediting itself the same sale. The result shows revenue sources that never appear in the Meta and Google accounts at all.

Real revenue (since March 2026)
€88,400

2,140 orders, €41 average basket. Run-rate around €22k per month, deduplicated across every channel.

Ad-driven vs. direct
58 / 42

58% of purchases clicked an ad first. 42% come direct or from repeat purchase, a strong brand signal.

Channels the paid audit missed
3

Affiliate, Organic (Google + Instagram) and a creator/subscription-code program, together five figures, invisible in the ad accounts.

Source (attribution tag)TypeTouch revenueRead
Brand search homepageGoogle Paid€19,320Profit core, confirmed
Affiliate networkAffiliate€7,860Not visible in the ad audit
Google organicOrganic€4,580Free channel, underrated
Gift & subscription (several)Meta Paid€10,390Occasion intent works, as suspected
Retargeting (IG + web)Meta Paid€4,260Solid, scalable
Demand-Gen videoGoogle Paid€2,900Working
Creator & subscription codesCreator€2,500+Own channel, invisible in ads
Instagram organicOrganic€1,510Free channel

Touch revenue is multi-touch (one journey can touch several sources), so the rows sum beyond total revenue. The core takeaways are unambiguous regardless: first, the attribution layer confirms the brand as the profit core from an independent view. Second, Affiliate, Organic and the creator/subscription-code program are three real revenue channels that stay invisible in a pure Meta/Google audit, that's where attention and budget belong. Third, 42% direct purchases is a brand and repeat-purchase signal, not a tracking hole.

✂   chapters 08–10 hidden   ✂
The fixes are in the full audit
Locked in the full report: 08 · the automation engine that shifts budget between Google and Meta hour by hour, the War Room allocator draining the losers into the hidden champions; 09 · the prioritized four-project roadmap, each a sellable next step; and 10 · the full measurement and tracking analysis.
11 · Low Hanging Fruits · 20 clear actions
Ready to execute now, sorted by impact

Twenty moves that lift the ROAS

Concrete actions straight from the data, not a strategy paper. Green = high euro impact, yellow = medium. The thread running through it: protect the brand, stop the generic loss, surface the hidden channels.

01
GoogleProtect the brand keyword, maximize impression share (ROAS 15.2)
high
02
GoogleThrottle generic terms (broad "coffee", nespresso compatible pods) (ROAS ~0.2)
high
✂   18 more moves hidden   ✂
18 more moves in the full audit
All twenty actions come ranked by euro impact in the full report: stop the losers, feed the hidden champions, then hand the whole account to the cross-platform ROAS allocator.
12 · Timeline · Execution
Sequence over 90 days

The roadmap

Week 1 · Immediate

Protect the brand, stop the loss

Brand impression share up, generic keywords and Connected-TV down. Meta losers (LINK-CLICKS, traffic, giveaways) off. Reallocate around €36,000 to brand, retargeting and occasion.

Actions 01-07, 14 · effect: account economics tip into the positive

Week 2-3 · Winners & hidden channels

Scale what the attribution confirms

Pull retargeting and subscription-prospecting up, winning creatives and IG Stories, and activate the channels the ad audit never saw: affiliate, organic, creator.

Actions 08-13 · unlocks revenue beyond the brand

Week 4-6 · Margin & AOV

Customer value over first order

Build out the occasion longtail, move subscription/repeat onto LTV bids, bundle and starter-set upsell to raise the cart.

Actions 03, 15-16 · lifts the profitability threshold

Month 2-3 · Automation

Budget self-steering, tracking retro-fitted

Cross-platform ROAS allocator, brand-protection floor, creative-winner loop. Last, deliberately secondary, server-side GTM and CAPI for the clean signal.

Actions 17-20 · makes the gains permanent

ACME Coffee grows on a single profitable word. The task is no longer reach, but profitability: pull €36,000 out of the loss, feed the brand, build the occasion.
Appendix

Auto-Audit · Campaign Teardown

The automated campaign audit our system generates, appended to every report. Here are the first two findings.

Executive Summary

ACME Coffee is a profitable account hiding in plain sight. The real engine is brand search "acme coffee" at ROAS 15.2 on just €3,140, a mere 7% of the Google budget, so your single strongest campaign is your most starved. Around it sit a whole roster of unscaled winners: a coffee subscription at 6.4, single-origin and specialty terms above 4, retargeting at 2.3, subscription-prospecting at 1.6. These champions are throttled while roughly €36,000 bleeds into clear losers, led by a Meta catalog test at ROAS 0.16. That €36,000 is not lost, it is reallocatable: money sitting in the wrong campaigns instead of the proven ones. The cross-channel attribution layer confirms €88,400 of real revenue at a €41 AOV and surfaces three channels the paid audit never saw. The biggest lever by far is cross-platform ROAS-shifting: a bandit allocator that reads attributed ROAS hourly and moves budget between Google and Meta toward the highest returns, with protection floors on brand and retargeting and a hard cap on generic auctions. With this many hidden champions and this large a block of losers, the allocator has enormous room to work, draining waste into winners hour by hour.

Hidden Champion

Brand Search "acme coffee" Is Starved

Low Effort High Impact

ROAS 15.2 on €3,140 spend, returning €47,700 in value, yet only ~7% of the Google budget. This is the single most profitable campaign in the account and it is budget-capped. Every euro held back here is a euro left on the table.

Potential: €6,500/month
Action

Lift the budget cap and move brand search to target-ROAS bidding, then let the cross-platform allocator feed it automatically. Brand is on the protection floor, so it scales first and never gets starved by generic auctions.

brand-scaling
ROAS Killer

Meta "Link-Clicks Catalog Test" Is Bleeding

Low Effort High Impact

€18,600 spent at ROAS 0.16. For every euro in, sixteen cents comes back. This single campaign is the largest chunk of the ~€36,000 in reallocatable loss and it is actively draining budget from your proven champions every day it runs.

Potential: €2,400/month
Action

Stop it now. Let the cross-platform allocator shift that budget straight into the champions, brand search, subscription and retargeting, so recovered spend lands on ROAS above 2 instead of 0.16.

budget-optimization
✂   10+ more findings hidden   ✂
10+ findings in the full audit
Also in the full report: every hidden champion and every ROAS-killer as its own card, with spend, ROAS and a concrete action, plus the prioritized sellable-projects roadmap.
Your own complete audit

The full audit for your account

This is a sample on a fictional coffee account. For your account we read Meta, Google, GA4 and cross-channel attribution down to keyword, placement, device and campaign, ending in 20 ranked fixes, a 90-day roadmap and the full auto-audit, delivered as a private, password-protected report.

€4,950€950
Launch offer · limited time only
Book the full audit →

Live in a few days · you send us the access, we deliver the report