Full audit of the 9-brand DTC portfolio, built in phases: feed and organic (Aug 31), Google Ads accounts and Brand Search (Sep 1), brand × channel matrix with Triple Whale ACQ ROAS and geographic focus (Sep 2), 24-month change history (Sep 3), and targets confirmed in the Sep 3 kickoff. Everything is API-verifiable — no figure comes from a screenshot.
USD 1.16M/month in Google, 96.9% of it in the United States. Measured against the targets confirmed on Sep 3, four findings hold almost all the actionable value.
Brand PMax returns 216–296% of its 1.6 target in Ledisa, Cleantra and Nervalley — and receives 2.4% of the budget. Meanwhile Cleantra Non-Brand Search sits at 78% of its 1.3 target on USD 437k, and Ledisa Non-Brand at 75% on USD 171k. This is an allocation problem, not an execution one.
Ledisa's brand traffic, sorted cheapest query to most expensive, tops out at 1.79 on ledisa alone at a $2.87 CPC. Cutting bids lifts ROAS only until the cheap clicks run out, and they run out at 1.79. What lower bids do achieve is ceding the auction on our own brand term — partly to our own metabolicreviews account, which buys the same exact keywords. The real question is whether 5–6× is measured on first order or on subscription LTV. See §03.
They unblock 24 of 65 item IDs (37%) in the asset group that spends USD 68,786/month at the brand's best channel ROAS. The copy is the problem, not the product — and the eleven safe variants are already written and approved.
Wellanova, RejuvaPaw and GL-ME have no brand campaign at all. Cleantra has six, funded at 0.7% of the brand's spend while returning ACQ ROAS 2.97 against 1.02 for its non-brand. Brand PMax is already capturing 9,310 brand clicks a month with no per-term bid control.
The split into accounts (Brand - Search, Brand - Shopping / PMAX, Brand - DGEN) is billing plumbing, not a decision unit. What gets decided is brand × channel. The in-house naming convention already makes that cut machine-readable: ONB = own brand · COMP = generic and competitor · PMAX_BRAND vs PMAX_GENERIC · MR_* = campaigns from the metabolicreviews.com comparison site.
Purchase-only ROAS — Google Ads, with conversions_value decomposed by segments.conversion_action_name and summed over purchase actions only. Google's own attribution, last click within Google.
ACQ ROAS — Triple Whale, literal column new_customer_order_revenue / spend on pixel_joined_tvf (the metric TW calls new_customer_roas). This is the acquisition ROAS the team steers on. It appears twice because TW returns a different number per model: TA = Triple Attribution, 7_days window — the operating metric — and LC = Last Click, same window, the honest floor. Query TW without pinning the model and it silently returns Triple Attribution.
Targets confirmed Sep 3, all on ACQ ROAS · TA: Non-Brand Search 1.3 · Shopping and PMax 1.6. Brand is under review — see §03. Demand Gen has no stated target. The vs target column is ACQ TA divided by that number.
| Brand | Channel | Spend 30d | Purchase-only ROAS Google Ads | ACQ ROAS TW · TA · 7d vs target | ACQ ROAS TW · LC · 7d | Read |
|---|---|---|---|---|---|---|
| Cleantra $502,493 | Search Brand | $2,964 | 2.36 | 2.97 54% | 2.18 | exists but starved: 0.7% of the brand’s spend |
| Search Non-Brand | $436,899 | 0.84 | 1.02 78% | 0.82 | $437k at 78% of target — the single largest gap | |
| PMax Brand | $14,010 | 3.44 | 3.46 216% | 2.69 | best ACQ in the portfolio | |
| PMax Non-Brand | $45,531 | 1.50 | 1.25 78% | 0.93 | ||
| Demand Gen | $3,088 | 0.25 | — | — | no rows in TW | |
| Ledisa $348,697 | Search Brand | $74,211 | 1.39 | 1.57 29% | 0.97 | 53% goes to “reviews” queries — §03 |
| Search Non-Brand | $170,760 | 1.04 | 0.98 75% | 0.64 | ||
| PMax Brand | $11,973 | 4.22 | 3.50 219% | 2.24 | best ACQ in the brand | |
| PMax Non-Brand | $68,292 | 1.55 | 1.38 86% | 0.72 | 37% of targeted inventory disapproved — §04 | |
| Demand Gen | $23,460 | 0.63 | 0.26 | 0.13 | paused on policy · no geo set | |
| Nervalley $134,087 | Search Brand | $6,620 | 3.36 | 4.55 83% | 3.49 | |
| Search Non-Brand | $122,564 | 1.21 | 1.38 106% | 1.10 | inflated report — §05 | |
| PMax Brand | $1,284 | 2.69 | 4.73 296% | 3.50 | 296% of target on $1.3k | |
| PMax Non-Brand | $3,619 | 1.36 | 1.84 115% | 1.48 | ||
| Wellanova $51,314 | Search Non-Brand | $51,314 | 1.04 | 1.15 89% | 1.04 | no brand campaign |
| Rejuvapaw $44,423 | Search Non-Brand | $44,423 | 0.98 | 1.16 89% | 1.10 | no brand campaign · inflated §05 |
| Blueforce $20,683 | Search Brand | $1,851 | 4.68 | 6.10 111% | 4.65 | above target |
| Search Non-Brand | $18,832 | 0.96 | 0.84 64% | 0.66 | ||
| metabolicreviews $14,182 | Search Brand | $14,182 | 1.01 | 2.40 44% | 1.33 | the comparison site — buys other brands’ review terms |
| Celmor $12,466 | Search Brand | $228 | 2.54 | 6.81 124% | 3.32 | |
| Search Non-Brand | $12,238 | 1.16 | 1.37 106% | 0.03 | ACQ LC 0.03 · pixel, not performance | |
| GL-ME $9,928 | Search Non-Brand | $9,928 | 0.26 | 0.26 20% | 0.25 | feed suspended, still spending |
| Serabel $6,322 | Search Brand | $205 | 2.31 | 1.79 33% | 0.77 | |
| Search Non-Brand | $6,117 | 1.18 | 1.41 109% | 1.27 |
$779,928 a month — 70% of the spend that has an ACQ reading — runs below 85% of its own target. $164,029 sits close (85–99%) and $173,657 is on or above. The two cells furthest above target, brand PMax in Ledisa and Cleantra, together carry $25,983.
Shopping Brand and Shopping Non-Brand are absent for every brand, and that is not neglect. Selmore and BlueForce are built and waiting on shopping images. More fundamentally, Shopping does not accept subscription offers under Google policy — it requires a genuine one-time purchase — which is the real constraint on every subscription-first brand in the portfolio, and the root of the BlueForce Merchant Center notice in §06.
Measured on each campaign's actual location criteria (campaign_criterion.location), not on the name.
| Market | Spend 30d | Share | Who serves there |
|---|---|---|---|
| United States | $1,109,224 | 96.9% | all nine brands plus the comparison site |
| Canada | $8,085 | 0.7% | Cleantra and Ledisa only, Non-Brand Search only |
| Australia | $3,826 | 0.3% | Cleantra and Ledisa only, Non-Brand Search only |
| No location criterion | $23,460 | 2.0% | 7 Ledisa Demand Gen campaigns |
No geo bid modifiers, no ad-group segmentation: each market is a separate campaign with a single location criterion and the country token in the name — _US_, _CAN_, _AUS_. This is the right architecture: budget, bids and creative stay isolated per market.
_US_ and carried no country restrictionThe name says US, the location criterion does not exist, so they served worldwide on $23,460. All seven are paused today — for policy reasons, per the Sep 3 kickoff — and a 0.63 purchase ROAS with 0.13 ACQ Last Click is consistent with out-of-market traffic. Set the geo as part of the funnel rebuild, not before it.
Outside the United States the portfolio is marginal (1.0% of spend) and exclusively Non-Brand Search: no international market has a brand campaign, PMax, Shopping or Demand Gen. The bottleneck is execution speed — getting Canada and Australia URLs for Ledisa took roughly a week when the only change needed was currency.
metabolicreviews.com ($14,182/30d — the comparison site), plus FaithValley APP, Monier, Patch4U, VIORY and the Honest Care sub-MCC. The 24-month history adds Serabel Advertorial, GL-ME GIGI Advertorial and GL-ME GIGI PDP: the editorial funnel architecture is long-running and deliberate, not an experiment.
The Shopping/PMAX accounts for BlueForce, Celmor, GL-ME, RejuvaPaw, Serabel and Wellanova all exist and none is used. Part of it is the subscription-vs-Shopping policy constraint; part is Wellanova, which has 199 healthy products in 26 countries and simply is not linked to Ads.
Bars run Jun 8 → Aug 24 (the partial week of Aug 31 is omitted). Red = week below ROAS 1.0. Google Ads series, purchase conversions only.
The decline is broad — Search and PMax, two brands — which fits seasonality plus creative fatigue plus competition rather than one discrete mistake. Creative fatigue has a specific cause here: ads have been paused on policy grounds since July, so iteration stopped (§07).
All 22 enabled brand campaigns lose impression share, and the loss is entirely to rank — 0% to budget (the one exception is 0.5% on LD_GLP_ONB_US_mCPC). That is by design: brand CPCs were reduced deliberately in pursuit of a higher brand ROAS. This section is about whether that target is reachable.
| Brand | ACQ ROAS TW · TA · LC | Campaign · bidding | Spend 30d | CPC | Purchase ROAS Google Ads | Impr. share |
|---|---|---|---|---|---|---|
| Ledisa | 1.32 · 0.79 | LD_GLP_ONB_US_Search_REVIEW tROAS | $49,377 | $4.16 | 1.21 | 68.1% |
| Ledisa | 2.07 · 1.32 | LD_GLP_ONB_US_mCPC Manual CPC | $24,834 | $2.83 | 1.73 | 60.6% |
| metabolicreviews | 1.05 · 0.49 | MR_LD_GLP_ONB_US_Search_REVIEW_tROAS_Portfolio tROAS portfolio | $9,793 | $2.64 | 1.32 | 42.5% |
| Nervalley | 4.55 · 3.49 | NV_MAGCR_ONB_US_Search tROAS | $6,620 | $1.92 | 3.36 | 73.9% |
| metabolicreviews | — · — | MR_CL_LYMPH_ONB_US_Search_REVIEW Manual CPC | $2,843 | $2.16 | 0.23 | 52.1% |
| Blueforce | 6.10 · 4.65 | BF_FUSION_ONB_US_Search Manual CPC | $1,851 | $1.60 | 4.68 | 32.9% |
| Cleantra | 4.29 · 3.13 | CL_ONB_GENERAL_US_Search_mCPC Manual CPC | $1,387 | $1.27 | 3.99 | 59.8% |
| Cleantra | 1.76 · 1.66 | CL_PARA_ONB_US_Search_mCPC Manual CPC | $771 | $3.09 | 0.68 | 61.5% |
| Cleantra | 2.21 · 1.14 | CL_LYMPH_ONB_US_Search_mCPC Manual CPC | $616 | $1.34 | 1.16 | 25.3% |
| metabolicreviews | — · — | MR_NV_MAGCR_ONB_US_Search_REVIEW Manual CPC | $606 | $1.25 | 0.67 | 51.0% |
| metabolicreviews | — · — | MR_SB_BALM_ONB_US_Search_REVIEW Manual CPC | $530 | $1.55 | 0.38 | 49.3% |
| Celmor | 6.81 · 3.32 | CL_Oil_ONB_US_Search Manual CPC | $228 | $1.27 | 2.54 | 47.6% |
| Serabel | 1.79 · 0.77 | SB_BALM_ONB_US_mCPC Manual CPC | $205 | $1.15 | 2.31 | 51.2% |
| metabolicreviews | — · — | MR_BF_FUSION_ONB_US_Search_REVIEW Manual CPC | $169 | $1.24 | 0.35 | 66.7% |
| metabolicreviews | — · — | MR_CL_OREG_ONB_US_Search_REVIEW Manual CPC | $91 | $1.47 | 0.00 | 40.0% |
| metabolicreviews | — · 0.00 | MR_CL_Oil_ONB_US_Search_REVIEW Manual CPC | $89 | $1.23 | 0.00 | 35.2% |
| Cleantra | 0.00 · 0.00 | CL_SOUR_ONB_US_Search_tCPA Max Conv | $86 | $2.16 | 0.00 | 50.0% |
| Cleantra | 2.23 · 2.23 | CL_ASTA_ONB_US_Search_mCPC Manual CPC | $55 | $1.28 | 3.99 | 32.3% |
| Cleantra | 0.00 · 0.00 | CL_OREG_ONB_US_Search_mCPC Manual CPC | $50 | $1.28 | 0.00 | 31.8% |
| metabolicreviews | — · — | MR_CL_ASTA_ONB_US_Search_REVIEW Manual CPC | $41 | $1.28 | 0.00 | 23.1% |
| metabolicreviews | — · 0.00 | MR_CL_PARA_ONB_US_Search_REVIEW Manual CPC | $15 | $1.27 | 0.00 | 29.1% |
| metabolicreviews | 0.00 · 0.00 | MR_CL_SOUR_ONB_US_Search_REVIEW Manual CPC | $4 | $1.24 | 0.00 | 36.2% |
Ledisa's brand traffic, mined from 30 days of actual search terms and sorted from the cheapest query to the most expensive. The last column is the ROAS that would remain if everything below that row were removed.
| Query type | Example | Clicks | Spend | CPC | Purchase ROAS | ROAS if you cut here |
|---|---|---|---|---|---|---|
| Core | ledisa | 2,853 | $8,176 | $2.87 | 1.79 | 1.79 |
| Products | ledisa patches, does ledisa patches work | 7,168 | $21,493 | $3.00 | 1.54 | 1.61 |
| Where to buy | ledisa website, ledisa patches amazon | 394 | $1,098 | $2.79 | 1.72 | 1.61 |
| Coupons | ledisa coupon code, how much is ledisa | 70 | $198 | $2.82 | 0.52 | 1.61 |
| Reviews | ledisa reviews, is ledisa legit | 7,596 | $35,094 | $4.62 | 1.21 | 1.39 |
ledisa on its own, at a $2.87 CPC, returns 1.79. Everything above that price returns less. Lowering bids raises ROAS only until the cheap clicks run out, and they run out at 1.79 — so a 5–6× brand target is not reachable through the bid lever at any level. What lower bids do accomplish is ceding auction share on our own brand term, part of it to our own metabolicreviews account, which buys the same exact keywords at a $2.64 CPC.
That turns "get brand to 5–6×" into two questions, and both belong to leadership rather than to the account: is 5–6× measured on first order or on subscription LTV? And if it is first order, does 5–6× mean spending less on brand and accepting the lost auction share? Either answer is workable. What does not work is holding a first-order target the traffic cannot produce.
Today Core (1.79 at $2.87) and Reviews (1.21 at $4.62) share a campaign and a bid target, so they cannot be priced differently. Split, the core term is defended cheaply and the expensive tier gets its own ceiling. This is the only route to a higher brand ROAS that does not involve giving away the brand term.
| Proposed campaign | What it captures | Why it deserves its own bid |
|---|---|---|
| Core | the brand alone — ledisa, cleantra | Highest return, lowest CPC. Bid to hold near-total impression share. |
| Products / Modifiers | brand plus product or doubt — ledisa patches, ledisa patches side effects | Largest click volume. Mid return, mid CPC. |
| Reviews | ledisa reviews, is ledisa legit | 53% of brand spend at the worst CPC and the worst ROAS. Needs its own ceiling — and its own landing page. |
| Where to buy | ledisa website, ledisa costco | Near-core return, tiny volume. Cheap to own outright. |
| Coupons / Discounts | ledisa coupon code, ledisa cost | 0.52 ROAS. Either a margin decision or a candidate to stop buying. |
Cleantra's brand mirrors the point from the other side: Core returns 3.96 on 958 clicks while Reviews has only 15 clicks — not because the demand is absent, but because the campaign is not pursuing it on 0.7% of the brand's budget.
Brand PMax campaigns are capturing brand queries today, with no per-term bid control, no negatives and no way to separate intent. That is exactly the inventory that should migrate into the new structure, on exact match.
| PMax campaign | Clicks 30d | Own-brand clicks | % brand | Conversions from brand |
|---|---|---|---|---|
| LD_GLP_PDP_US_PMAX_BRAND_tROAS | 6,360 | 4,749 | 74.7% | 679 |
| CL_LYMPH_PDP_US_PMAX_BRAND_tROAS | 6,779 | 3,553 | 52.4% | 428 |
| CL_OREG_PDP_US_PMAX_BRAND_tROAS | 832 | 401 | 48.2% | 35 |
| CL_ASTA / CL_SOUR / CL_PARA PMAX_BRAND | 1,266 | 352 | 27.8% | 33 |
The six GENERIC PMax campaigns | 30,673 | 255 | 0.8% | 18 |
The GENERIC campaigns are clean at 0.8% brand leakage, so the brand negatives are correctly placed. The work is in the BRAND campaigns: 4,788 brand clicks in Ledisa and 4,522 in Cleantra bought blind. The categories returned by campaign_search_term_insight fall straight into the five buckets — ledisa patches (2,916), cleantra lymphatic drainage (1,324), ledisa glp 1 patches reviews (267), cleantra reviews (325).
Method note: campaign_search_term_insight returns aggregated categories, not raw queries, and accepts only one campaign_id per request. It is good for sizing and for seeding the exact-match set; fine negatives get tuned afterwards from Search terms. The reverse leak is already controlled: Cleantra's and Ledisa's COMP campaigns spent $16 in 30 days on brand queries.
Cleantra runs six enabled ONB campaigns spending $2,964 against $436,899 of non-brand — 0.7% — while returning purchase ROAS 2.36 and ACQ Last Click 2.18 against 0.84 and 0.82 for non-brand. Wellanova, RejuvaPaw and GL-ME have no brand campaign at all.
Ledisa's account: $49,377 at 68.1% IS. The MR account: $9,793 at 42.5% IS, on the same exacts. With roughly 90% of portfolio spend flowing through top-five editorial comparison funnels, this is near-certainly intentional dual SERP presence. What is worth confirming is who sets the split, and that the eight non-Ledisa MR campaigns — running between 0.00 and 0.67 purchase ROAS — are meant to.
The asset groups are "Feed Only" and hand-pick product item IDs. If an ID is disapproved for the DisplayAds destination — the one that feeds PMax — the group is bidding on inventory it cannot serve. Google reports this as ordinary auction loss; Merchant Center reports it as a feed statistic; nobody joins the two.
| Asset group | Spend 30d | ROAS | Targeted IDs | Disapproved |
|---|---|---|---|---|
| Ledisa · GLP-1 Feed Only | $68,786 | 1.52 | 65 | 24 · 37% |
| Ledisa · NAD+ Patches | $0 | — | 7 | 0 — healthy and switched off |
| Cleantra · LYMPH Feed Only | $11,064 | 3.46 | 10 | 0 |
| Cleantra · SOUR Feed Only | $540 | 2.06 | 10 | 3 · 30% |
| Cleantra · OREG Feed Only | $1,168 | 3.21 | 10 | 2 · 20% |
| Cleantra · ASTA Feed Only | $1,125 | 3.20 | 10 | 1 · 10% |
| Cleantra · PARA Feed Only | $352 | 3.37 | 10 | 0 |
In Ledisa the cause is copy, not product: the same physical SKU appears in around 30 title variants, and Google blocks only the ones using body-outcome language (personal_hardships_policy_violation). The same five to nine variants repeat across US/UK/CAN/AUS — fixing nine titles unblocks all 24 IDs.
Words present only in the blocked set: glp-1 (hyphenated), fat, burn, cravings, berberine. The eleven safe variants are already written and approved — nothing needs drafting, only withdrawing. Cleantra's six blocks follow no title pattern and need manual review.
In two accounts, Advertorial Click (fixed $1 value) counts inside conversions and conversions_value. The biddable account-level goal is purchase only, so the algorithm optimises correctly. The damage is human: tROAS targets look met when they are not. Both ROAS columns in this table are Google Ads, not Triple Whale — see §09.
| Account | tROAS target | Reported ROAS Google Ads, as-is | Purchase-only ROAS Google Ads | Status |
|---|---|---|---|---|
| Nervalley - Search | 1.40 | 1.49 | 1.35 | 88% of the count is advertorial click |
| RejuvaPaw - Search | 1.20 | 1.08 | 0.99 | below 1.0 real against a 1.20 target |
| The other 12 accounts | — | reported value = purchase value | clean | |
With editorial funnels carrying roughly 90% of spend, an advertorial-click signal may well be deliberate — but if so it belongs outside conversion value. Either way the targets need recalibrating: to demand a real 1.40 in Nervalley the tROAS would have to read about 1.55. Also worth stating plainly: zero bleeding — no search term above $300 with 0 purchases in 30 days, verified counting purchases only — and one primary conversion per account.
Summary of the Aug 31 phase, re-read against what the Sep 3 kickoff clarified.
Google flagged the account for Unsupported Shopping content (Recurring billing). The mechanism is now clear: Shopping requires a genuine one-time purchase and does not accept subscription offers. Every visible CTA on the sales page routes to CheckoutChamp's recurring branch with no visible disclosure, and someone hid the disclosure with CSS (display:none on the subscription row). Hiding it converts a policy notice into Misrepresentation — the same cause that already took down CELMOR and GL-ME. The fix is a real one-time purchase path with clear disclosure, not better concealment.
GL-ME: 165 products, 0 active, 8 countries — which explains the Aug 20 blackout; its Search still spends $9,928/month at ROAS 0.26. CELMOR: all 38 products arrive without a link attribute from the Shopify app, and the declared domain is not the indexed one. Every account in the portfolio has been suspended at least once; there is a dedicated policy owner and a Google rep meeting every 14 days.
The largest catalogue in the portfolio cannot serve anywhere. The Wellanova - Shopping / PMAX account already exists and sits at zero — link it and test.
Not one generic query in the top results of any property — it is all "ledisa login", "cleantra customer service number". The double domains are one Shopify store with no redirect (same shopId): on trycleantra.com, "cleantra" ranks p10 competing against its own twin. The comparison sites are not in Search Console, so the "it builds an organic asset" thesis remains unevidenced.
Coverage gaps confirmed with the team on Sep 2: there is no Search Console property for Nervalley, BlueForce, RejuvaPaw or GL-ME, and no Merchant Center account for RejuvaPaw, Serabel or Nervalley. These are not pending permissions — the properties do not exist. That reframes one finding: Nervalley runs PMax on $4,902/30d with no Merchant Center account of its own, which needs understanding before it is scaled.
Two overlapping readings: the 28 days the API returns (Aug 4 → Sep 1) and the 24 months of the full export (21,144 changes, Sep 2024 → Sep 2026). The second corrects the first on important points, and the Sep 3 kickoff corrects both.
| Month | Changes | Active days | Keyword bids | Bid targets / strategy | Ads and assets |
|---|---|---|---|---|---|
| 2026-03 | 992 | 29 | 206 | 121 | 11 |
| 2026-04 | 2,942 | 29 | 513 | 241 | 282 |
| 2026-05 | 2,310 | 24 | 314 | 141 | 474 |
| 2026-06 | 2,315 | 26 | 412 | 300 | 197 |
| 2026-07 | 876 | 26 | 108 | 213 | 15 |
| 2026-08 | 1,292 | 25 | 233 | 409 | 12 |
24 to 30 active days every month for thirteen months, never below 24 — the "19 of 28 days" from the short window was simply the normal rhythm. And bid-target changes peak at 409 in August, the highest of the thirteen months, while keyword bids fall from 412 in June to 108 in July. In a portfolio almost entirely on tROAS, moving the target is the lever that works and the keyword bid is not.
Ad and asset changes fall from 474 in May to 15 in July and 12 in August. The cause is Google policy: ads are flagged and paused on landing-page copy, quiz funnels and native-style creative. Every account has been suspended at least once. This is an external constraint on the account, not an omission by it — and it is the strongest available explanation for the creative-fatigue half of the portfolio decline.
The strategic response landed roughly six weeks after the decline began, and there is no written record of it being communicated — the lead operator has not posted in Slack since May 9, and his entire Slack footprint (Apr 20 – May 9) is MCC architecture and tracking rather than performance. In the 28-day window, 83% of changes went to one account while Cleantra, at 39% of spend, received 6%. The Aug 25 batch of 2,624 keyword bids sat inside tROAS campaigns where they are inert, running against his own July shift. Cleantra's fourteen COMP campaigns still carry a flat tROAS of 0.9 while returning between 0.40 and 1.11 — and against a stated non-brand target of 1.3, the written objective is below the real one. And there is no automation of any kind across a USD 1.16M/month portfolio.
Defensible, and more of it than the short window suggested: thirteen months at 24–30 active days, no weak month; zero bleeding in search terms; one correctly configured primary conversion per account; the COMP/ONB/PMAX-brand separation and the brand negatives in generic campaigns are deliberate, clean architecture; the MCC-per-brand proposal with shared conversion learning was his and it was right; and in August he moved to the lever that actually operates under tROAS. He also inherited these accounts from another agency fourteen months ago.
What the audit cannot see, and should be asked rather than inferred: whether proposals were made and not approved, and whether the creative stop was a block imposed elsewhere. Both would change the reading, and neither is derivable from the data.
display:none on the disclosure, and expose a genuine one-time purchase path. Shopping does not accept subscription offers, so this is the structural fix, not a workaround. Check whether Ledisa and Cleantra share the funnel pattern — that is where USD 140k/month of PMax is exposed._US_ and served worldwide. The geo fix travels with the funnel rebuild, since the pause is a policy pause.Three systems measure the same thing and return three numbers. None is wrong; they answer different questions. This table fixes the name of each so there is no ambiguity — and where a figure comes from Triple Whale, it is named with Triple Whale's literal column.
| Name used here | Source | Exact definition | What it is for |
|---|---|---|---|
| Reported ROAS | Google Ads API | metrics.conversions_value / metrics.cost_micros, unfiltered. Includes every conversion action inside the account goal. | What anyone opening the interface sees. In Nervalley and RejuvaPaw it includes a $1 Advertorial Click, which is why it inflates. |
| Purchase-only ROAS | Google Ads API | Same data, with conversions_value decomposed by segments.conversion_action_name and summed over purchase actions only. | Real performance as the platform sees it. Still Google's attribution, last click within Google. |
| ACQ ROAS · TA | Triple Whale | SUM(new_customer_order_revenue) / SUM(spend) on pixel_joined_tvf, with model = 'Triple Attribution' and attribution_window = '7_days'. TW calls this metric new_customer_roas. | The acquisition ROAS the team steers on, and the basis of the 1.3 and 1.6 targets. Allows overlap between channels, so it is generous by design. |
| ACQ ROAS · Last Click | Triple Whale | Identical, with model = 'Last Click', same 7-day window. | The honest floor — zero overlap, one channel per order. |
Rules needed to reproduce the TW figures: spend repeats identically across the ~35 model × window combinations, so a query that does not pin both multiplies it. Derived metrics (roas, new_customer_roas, ncpa, mer) exist in the UI but not in the API's column space — compute them from the measures. Google's channel in TW is google-ads, not google. And the join between TW and Google Ads is on campaign_id, never on name.
Celmor Non-Brand Search: ACQ Last Click 0.03 against 1.37 on Triple Attribution and 1.16 purchase ROAS. A 40× gap between models is pixel coverage, not performance — and it matches an open request to exclude organic overlap from Celmor's attribution. Cleantra Demand Gen returns no TW rows at all despite spending $3,088.
BlueForce and Nervalley LiveIntent spend was routed to Ledisa's TW from their launches (Aug 12 and Aug 25) until the fix on Sep 1. It does not affect this audit — every TW read here filters channel = 'google-ads' and LiveIntent arrives as custom spend — but it invalidates any blended Ledisa ROAS from those dates.
The Acentecom token now covers Google Ads, Merchant Center, Search Console, Drive and Sheets. GA4 returns no accounts. Separately, the OAuth client lives in an external GCP project in Testing mode, where Google expires refresh tokens every 7 days — that needs moving to an Acentecom Workspace project with User Type = Internal before any daily automation depends on it.
Who sets the SERP split between Ledisa and metabolicreviews · why Cleantra's fourteen COMP campaigns carry a written tROAS of 0.9 against a real target of 1.3 · whether the advertorial click is a deliberate bidding signal · and whether the creative pause was a policy block or a resourcing one.