True ROAS Marketing — Sample Audit

Cross-Channel Marketing Audit

Verified against: TripleWhale Channels covered: Google Ads, Meta, Klaviyo Window: 10 months
This is a composite sample built to demonstrate our audit methodology — the brand, figures, and dates are illustrative, not a real client engagement. The reporting logic and diagnostic approach shown here are the same ones we apply to live accounts.
Overview
Total revenue (latest mo.)
$34,210
Net profit (latest mo.)
$8,940
Blended ad spend
$7,290
Blended ROAS
3.71×
MER
21%
Channels reconciled
2 of 4
ChannelSpendConv. ValueROASTrend
Amazon (Google Ads)$4,180.40$10,868.102.60×Volatile — Feb ’25 trough (0.95×) tied to a 90-keyword purge; recovered, now fading again
Shopify (Google Ads)$1,510.20$10,829.607.17×Reactivated Feb ’25 after 13mo dormant; ROAS target loosened May 28, still settling
Meta$1,600.00$10,720.006.70×Strongest channel — steady 4.8–7.6× since the new agency took over in February
Klaviyo (email/SMS)$6,180.00Campaign conversion rate falling every month despite list growth
Google Ads — Two Accounts, One Business
Shopify Ads Account
DTC — cobalthome.com
Spend
$1,510
ROAS
7.17×
Conversions
64
CPA
$23.59
Conv. rate
4.50%
Clicks
1,422
Amazon Ads Account
Marketplace — Google Ads → Amazon Attribution
Spend
$4,180
ROAS
2.60×
Conversions
61
CPA
$68.53
Conv. rate
3.90%
Clicks
1,564

Shopify Ads — Daily Spend & ROAS (June)

30-day trend, most recent full month

Amazon Ads — Daily Spend & ROAS (June)

30-day trend, most recent full month
Shopify Account — Timeline
Jan ’24
Account set up by agency Anchor Digital — MCC structure and placeholder campaign, $0.01 budget. No real activity.
Jun ’24 Flag
Anchor Digital’s manager access goes inactive. No agency management on the account from this point.
Jul ’24
A second manager (Vantage Media) is granted access but no campaign activity follows — account stays dormant.
Jan ’25 Flag
The client’s in-house team briefly touches the account — creates a Demand Gen budget, removes stale sitelinks. No real spend results.
Feb 3 ’25
Current agency Northline Digital is granted manager access and builds real campaign structure — Brand Search ad group enabled, PMax budget created. This is when spend actually starts.
Feb 3 ’25 Flag
An original PMax campaign (“NLD | PMax”) was also created the same day, budget $18. It ran for a few weeks, then was paused for a Google Ads policy violation. No further activity is logged under that campaign — it was abandoned rather than fixed and resumed.
Feb–Mar ’25
Northline Digital scales Brand Search budget in steps: $22 → $35 → $65 → $120 (Mar 22), then pulled back to $48 (May 8) and eased further.
May 20 ’25
A brand-new PMax campaign is built from scratch (“NLD | PMax v2”) — not a resume of the original. Fresh performance history, no carryover from the paused campaign.
May 28 ’25 Flag
Target ROAS lowered from 600% to 350% on both Brand Search and PMax — a deliberate loosening of the bid target, days before this audit. Worth watching in the following month’s numbers.
Campaign Deep-Dive
Shopify — 2 campaigns
NLD | Brand Search
Reactivated Feb ’25 after 13-month dormancy → aggressive budget scaling → tight ROAS target capped volume → loosened May 28
Reactivated Feb 3, 2025 (after 13 months dormant) at a conservative $22/day, Maximize Conversions. Northline Digital scaled the budget hard over six weeks: $22 → $35 (Feb 20) → $65 (Mar 5) → $120 (Mar 22) — roughly 5.5× in a month, while ROAS held strong (9.40× in March).

Mar 25: switched to Maximize Conversion Value with an extremely conservative 900% Target ROAS — telling Google to only spend where it expects a 9× return. April’s ROAS came in even higher (14.47×), but on lower spend ($780 vs March’s $1,120) — a sign the target was capping volume even as efficiency stayed excellent.

That likely explains what came next: May 8, budget cut 60% ($120 → $48) — probably a correction once it was clear the tight ROAS target meant the bigger budget wasn’t being spent, not a vote of no confidence. May 15 eased the target to 600%, budget nudged up. May 28 (days before this audit) — a bigger move: Target ROAS cut to 350%, clearing room to spend more. June’s result — 7.17× ROAS on $1,510 spend — is that loosening showing up: lower ROAS than April, but the campaign is finally spending closer to its allocated budget.
NLD | PMax v2
Original PMax paused for a policy violation, no data ever recorded → rebuilt from scratch May 20, coordinated with Brand Search’s ROAS-target loosening
An original PMax campaign was created the same day as Brand Search (Feb 3, 2025) at $18 budget. It appears only once in the change log — no further logged activity, and no performance data anywhere in the report under that name. It’s worth getting the specific policy-violation reason directly from the client and agency, since a repeat violation would hit whatever inherits its targeting.

A replacement was built from scratch on May 20 (new campaign, fresh history) — budgeted $40, cut same-day to $18, set to the same conservative 600% Target ROAS pattern as Brand Search. May 24 — after 4 days of data — budget raised more than 2.5× to $52, suggesting early results justified more spend. May 28 brought the same Target ROAS cut to 350% as Brand Search, in the same session, by the same user — a coordinated call across both Shopify campaigns, not an isolated PMax tweak. June finished at 6.85× ROAS on $410 spend — good, but it’s early days of a rebuilt campaign, not a trend yet.
Amazon — 3 campaigns
French Press Exact
Steady 12-month run → 90-keyword purge trough (0.95×, Feb ’25) → recovered → fading again (2.60×, Jun)
The account’s largest single campaign by spend. Held a healthy 3–5× ROAS range through most of the window, then dropped to 0.95× in February 2025 — directly following a 90-keyword purge across an 8-day window (Feb 8–14) that hit this campaign hardest. Recovered to 4.1× by April as keywords were gradually re-enabled, but has faded again through May–June with no major structural change logged — most likely normal seasonal softening rather than a new execution problem.
SKAG — pour-over filters
Went 6 weeks with zero conversions despite continued spend, worth a tracking check
Launched steadily but went completely dead for six weeks in March–April — zero conversions despite $60–90/week in continued spend. No status or keyword change in the log explains the dead spell; worth confirming this was a tracking or attribution gap rather than a real demand problem before writing the SKU off.
SKAG — gift bundles
Newest campaign, still hasn’t found consistent traction
The most recently launched Amazon campaign and the weakest so far. Opened below breakeven, improved modestly through May, still hasn’t cleared 2× ROAS in any full month. Smallest and least proven of the three Amazon campaigns.
Meta

Meta — Monthly ROAS Trend

10 months on record — Sep ’24–Jan ’25 under prior creative approach, Feb ’25–Jun ’25 under Northline Digital
BEST
Meta is the strongest-performing channel in this audit. ROAS has held 4.8–7.6× every month since Northline Digital took over in February, well above what either Google Ads account is running.
DRIVER
“NLD | Advantage+ Catalog” is the account’s workhorse — it’s run every month since February and drove about half of June’s total conversion value on its own.
PATTERN
Campaign count swings a lot month to month (8 in April, down to 3 in June) — Northline Digital cycles through test campaigns quickly rather than running a stable structure. That’s consistent with the reactive, short-cycle management style seen on the Google Ads side.
Klaviyo (Email & SMS)
MonthRecipientsCampaign Conv. RateFlow Revenue Share
Mar ’254,1200.091%84%
Apr ’2511,8600.024%81%
May ’2519,3400.031%79%
Jun ’2528,1100.015%83%
FLAG
Campaign conversion rate has fallen every month — 0.091% → 0.024% → 0.031% → 0.015% — despite recipient growth from 4.1K to 28.1K. List-quality problem, not a volume problem.
Cross-Channel Reconciliation (TripleWhale)
MonthTripleWhaleShopify onlyShopify + AmazonDelta vs. combined
Mar ’25$5,120.00$1,120.00$3,940.00+$1,180.00
Apr ’25$3,980.00$780.00$4,290.00−$310.00
May ’25$6,010.00$1,340.00$5,510.00+$500.00
Jun ’25$5,340.00$1,510.00$5,690.00−$350.00
TRUST
Meta tracking is fully trustworthy — TripleWhale’s numbers match the Meta Ads platform exactly across all months checked, down to the cent.
FLAG
Google Ads is the opposite story. TripleWhale’s reported spend doesn’t match Shopify’s account alone or Shopify+Amazon combined in any month checked — and the direction of the mismatch flips month to month. That inconsistency rules out a simple “only tracks one account” explanation.
FLAG
Klaviyo attribution in TripleWhale broke around mid-May — tracked within a reasonable margin through April, then collapsed to a large undercount, then stopped reporting altogether in June. Whoever reads the TripleWhale dashboard for a full-funnel view has been blind to email/SMS performance for weeks, even though Klaviyo itself shows the channel performing normally.
Key Findings
AMAZON
February’s 0.95× ROAS trough directly follows a 90-keyword purge in an 8-day window — the account’s swings are management-driven, not structural decay.
AMAZON
The pour-over filter SKAG went six weeks with zero conversions despite continued spend — worth checking for a tracking gap before assuming weak demand.
SHOPIFY
Brand Search wasn’t a new campaign — it was dormant for 13 months after the prior agency went inactive, reactivated by Northline Digital in February.
SHOPIFY
PMax was rebuilt from scratch in May after the original was paused for a Google Ads policy violation — get the specific reason before scaling it further.
META
Meta is Northline Digital’s clearest win — ROAS jumped from a 1.1–1.9× range under the prior creative approach to a steady 4.8–7.6× the same month the agency took over all three channels.
KLAVIYO
Campaign conversion rate has fallen every month despite list growth — a list-quality problem, not a volume problem.
TRACKING
TripleWhale’s Google Ads numbers don’t reconcile with either Google Ads account in any consistent direction. Its Klaviyo tracking broke in May and stopped reporting in June.
Recommended Next Steps
#ChannelAction
1TrackingFix the measurement problem before optimizing anything else — TripleWhale’s Google Ads numbers are unreconciled and Klaviyo attribution has been broken since May. Don’t make budget calls on top of broken measurement.
2ShopifyGet the specific PMax policy violation reason before scaling v2 further — fix at the root if it’s fixable, otherwise the rebuilt campaign risks the same fate.
3AmazonInvestigate the pour-over filter SKAG’s six-week dead spell (zero conversions, real spend) before writing off the SKU.
4KlaviyoAudit campaign segmentation behind the falling conversion rate — the one metric getting steadily worse every month with no sign of stabilizing on its own.
5CreativeRefresh Meta creative that hasn’t changed since the handoff — several months of the same assets is real fatigue risk heading into peak season.