Jump to section
Section 1 of 18

The Spa Dr — Weekly Performance Report On Track

Week A Aug 24–30 vs Week B Aug 17–23  ·  Google Ads 966-279-5380 + Microsoft Ads 141948660  ·  Bing weeks are Sun–Sat (Aug 23–29 vs Aug 16–22)  ·  Generated Sep 02, 2026 10:58
All revenue / orders / ROAS / CPA / AOV are CDP (Redash q2635, revenue_1dc / conversions_1dc). Platform data is used only for impression share, networks and asset diagnostics.

Executive Summary

⚠ Read this before the performance section: the account was SUSPENDED on Sep 2

Google Ads 966-279-5380 currently returns customer.status = SUSPENDED. This is a Sep 2 event and does not touch any number in this report — the reporting week closed Aug 30 and delivery was normal through Sep 1 ($341.75 of spend). What it does change is what happens next:

📊 The headline: this was the best week in the seven-week window, and it was won on conversion rate rather than on spend. Core paid orders 55 → 77 (+40.0%), revenue $3,958 → $5,339 (+34.9%), ROAS 4.77x → 5.83x — on only +10.4% more spend. Blended CVR went 6.34% → 7.93% and CPA $15.10 → $11.90. Every single core segment posted more orders than the week before.

And the store grew with it, so this is not credit redistribution. Store-wide CDP paid revenue $32,211 → $37,660 (+16.9%) on 435 → 524 paid orders (+20.5%); Shopify net $105,371 → $110,971 (+5.3%) on 1,492 → 1,606 orders. When the pie grows and Google's slice grows faster, the gain is real. Both weeks in the window that looked this good on Google alone were redistribution; this one is not.

Search Brand's +26% is one campaign, and the other one went backwards. The segment reads 34 → 43 orders at 6.11x → 7.53x on flat spend (-1.0%). Underneath: SR_US_BR_SpaDr_Products went 10 → 19 orders and $574.41 → $1,437.38 at 12.87x, while SR_US_BR_SpaDr_CPC_Core went the other way — 24 → 22 orders, $1,854.61 → $1,335.58, 5.66x → 4.77x on $327.45 → $280.10. Products served a clean full week this time (last week's read was contaminated by a 4-day pause), impressions 380 → 593 at 81.1% → 85.1% IS. That is the campaign Google paused today.

Bing's zero week was noise, exactly as this report predicted. 0 → 6 orders, $413.07, 9.41x — on -23% less spend. Last week's action item was “watch for a second week before doing anything”; there was no second week. Close the item. No UET investigation needed.

Demand Gen remains the one loss-maker, and it is now the only thing standing between this account and a 5.8x blend. $1,292.83 this week ($185/day) for 1 CDP order / $34.99 = 0.03x against a 0.50x target. It is 141% larger than the entire core-paid budget that produced 77 orders. Lifetime: $5,853, 13,880 clicks, 12,678 users landed, 4 orders, $240.94 (0.041x). The tracking-gap defence is now dead: 3,539 users, 56 ATC and 19 checkouts were all recorded on offer.thespadr.com this week — the events fire, the people just do not buy. See the Demand Gen section, including the YouTube Feed placement result.

✓ What Improved

  • Core paid: orders 55 → 77 (+40.0%), ROAS 4.77x → 5.83x on +10.4% spend. CPA $15.10 → $11.90, CVR 6.34% → 7.93%. Best week of the window.
  • SR_US_BR_SpaDr_Products: 19 orders at 12.87x on $111.72 — impressions +56% at 85.1% IS and only 14.9% lost to rank. A clean full week, no pause artefact this time.
  • Shopping Brand held its new level: 9.82x, CPA $6.86 against a $13 target, orders 15 → 17. Fourth straight week above 9x after three months in the 2s. What changed, and how to keep it — a dedicated section this week.
  • Search NB (Reviews) turned the corner: ROAS 1.55x → 2.27x, CPA $46.13 → $32.94 against a $90 target, orders 6 → 11. The marginal $85.57 of extra spend returned $392.97 — a 4.59x marginal ROAS, which reverses last week's “the expansion is not paying”. See the new Reviews impression share section.
  • Bing Search Brand recovered on its own: 0 → 6 orders, 9.41x on $43.91 (-23% spend). Predicted; confirmed; closed.
  • Store-wide best week of the window: CDP paid revenue $32,211 → $37,660 (+16.9%), Shopify net $105,371 → $110,971. Google grew faster than the store, on a growing store.

✗ What Needs Attention

  • ⚠ ACCOUNT SUSPENDED (Sep 2) and the account's best campaign is paused with ads disapproved. Nothing in this report can be executed until the appeal clears. This outranks every other item.
  • Demand Gen: $1,292.83 for 1 order (0.03x). Lifetime $5,853 → 4 orders. ATC rate 1.05% vs Search Brand's 18.8% — 18x weaker, with events firing normally. Third week a decision has been requested.
  • The YouTube Feed placement added Aug 26 has delivered essentially nothing: 23 impressions, 0 clicks, $0.05 across Aug 26–31, against 25,298 impressions on Discover. And in the one window it did serve (Aug 20–23, on AG3) its CTR was 1.82% against Discover's 15.6%. Full result.
  • SR_US_BR_SpaDr_CPC_Core went backwards while the segment rose: revenue $1,854.61 → $1,335.58 (-28.0%), ROAS 5.66x → 4.77x, clicks 394 → 367 on more impressions. IS slipped 95.5% → 94.0%. It is do-not-touch, so this is a watch item — but a second down week turns it into a diagnosis.
  • Shopping Brand is back in BIDDING_STRATEGY_LEARNING after the Aug 27 CPC ceiling change ($0.70 → $0.80). AOV also fell $73.41 → $67.32. Give it two weeks before reading the result, and do not stack another change on top.
  • Upper-funnel exposure was flat (+1.3% impressions) while brand demand rose +26.1% (2,900 → 3,656). Demand moved without exposure moving, which means this week's brand gain is downstream of the click — conversion rate, not new demand. Do not re-baseline brand targets on it. See Halo Effect.

Shopify Revenue Validation

MetricAug 17–23Aug 24–30WoW
Gross Revenue (Shopify)$115,977$121,438+4.7%
Refunds$10,605$10,466-1.3%
Net Revenue (Shopify)$105,371$110,971+5.3%
Orders (store-wide)1,4921,606+7.6%
AOV (Shopify)$70.62$69.10-2.2%
CDP revenue, all paid sources$32,211$37,660+16.9%
Paid-attributed share of store revenue30.6%33.9%—
Read — the store had its best week in the window, and Google grew with it

On the scope difference first: CDP q2635 only counts revenue it can attribute to a paid source on a 1-day-click window (Google, Bing, Meta, AppLovin, Rakuten). Shopify counts everything — organic, email, direct and returning customers. The gap is expected and is not the >15% data-quality flag the runbook warns about. Paid-attributed share was 30.6% → 33.9% of the store.

The direction is unambiguous this week. Shopify net revenue rose +5.3% ($105,371 → $110,971) on +7.6% more orders (1,492 → 1,606) at a flat AOV ($70.62 → $69.10) — so it is genuine volume, not basket inflation. CDP paid revenue store-wide agrees, +16.9%, on paid orders 435 → 524. Refunds moved -1.3%, roughly in line with volume (9.1% → 8.6% of gross), so nothing to flag there.

Unlike last week, Google moved with the store rather than against it. Google core paid orders 55 → 71 (+29.1%) into a store that grew +7.6% — roughly matching pace. The W33 report described the opposite pattern (Google losing share of a growing store) and the correction it predicted has landed. The only segment moving the other way is Bing, at $43.91 of spend.

Note on method: these Shopify figures are paginated over the full week (1,606 and 1,492 orders). The standard fetcher (scripts/generate_wow_report.py) caps at the 250-order GraphQL page — a ~5x understatement. This report uses a paginated pull; that bug is still open in the fetcher.

Google Ads CDP Account Overview — Core Paid (Aug 24–30)

Spend
$916
+10.4% WoW
Revenue (CDP)
$5,339
+34.9% WoW
Orders (CDP)
77
+40.0% WoW
ROAS
5.83x
+22.2% WoW
CPA
$11.90
-21.2% WoW
AOV
$69.34
-3.6% WoW
CPC
$0.94
-1.4% WoW
CTR
3.98%
+7.9% WoW

Scope: Search Brand + Search NB + Shopping Brand + Bing Search Brand. Excludes NB PMax and Demand Gen (own sections below) and the deprecated Shopping NB / Bing Audience segments.

7-Week Trend — All Channels Combined (incl. NB PMax + Demand Gen)

All PPC Blended · Jul 13–19 → Aug 24–30
▮ Orders (left)— CVR% (right)
▮ Revenue$ (left)— CPA$ (right)
▮ Spend$ (left)— ROAS (right)
▮ Clicks (left)— CTR% (right)
▮ AOV$ (left)— ROAS (right)
▮ CPC$ (left)— CTR% (right)

The blended Total here is a superset of the KPI cards and WoW table above: it adds NB PMax and Demand Gen. Demand Gen ran a full week ($1,292.83 for $34.99), which is why this Total's ROAS falls off a cliff in the last week and sits far below the core-paid KPI figure. All-Google spend went $314/day → $309/day at 1.82x → 2.29x — -2% more money for +24% more revenue. The last two weeks of this chart are a live experiment in what buying non-brand volume currently costs at this account.

WoW Comparison — All Channels vs Targets

Segment Spend Orders (CDP) Revenue (CDP) ROAS CPA Target
ROAS / CPA
BAWoW BAWoW BAWoW BAWoW BAWoW
Search Brand$397$393-1.0%3443+26.5%$2,429$2,961+21.9%6.11x7.53x+23.1%$11.69$9.15-21.7%6.00x / $13
Search NB$277$362+30.9%611+83.3%$428$821+91.8%1.55x2.27x+46.5%$46.13$32.94-28.6%0.40x / $90
Shopping Brand$99$117+17.8%1517+13.3%$1,101$1,144+3.9%11.12x9.82x-11.8%$6.60$6.86+3.9%6.00x / $13
Bing Search Brand$57$44-23.2%06+100.0%$0$413+100.0%0.00x9.41x+100.0%—$7.32—6.00x / $13
Demand Gen (own section)$1,426$1,293-9.3%11+0.0%$35$35+0.0%0.02x0.03x+10.3%$1,425.72$1,292.83-9.3%0.50x / $120
Core Paid Blended$830$916+10.4%5577+40.0%$3,958$5,339+34.9%4.77x5.83x+22.2%$15.10$11.90-21.2%—
All Google + Bing (incl. PMax + Demand Gen)$2,199$2,165-1.5%5672+28.6%$3,993$4,961+24.2%1.82x2.29x+26.2%$39.26$30.07-23.4%—

B = Aug 17–23 · A = Aug 24–30. Spend WoW is grey — a rise or fall is not good or bad on its own. CPA WoW is inverted (a fall is green). ROAS and CPA in the A column are coloured against target, not against last week. All Google + Bing adds NB PMax and Demand Gen, which is why its ROAS sits below Core Paid — it carries the $1,426 of week-B spend that returned $0.

⭐ Halo Effect — why Search Brand ROAS moved without us touching it

The thesis: brand search does not create demand, it collects it. Facebook, AppLovin, YouTube and Demand Gen push people who later search "the spa dr" and buy. So Search Brand's ROAS is partly a readout of what upper-funnel is doing — and because CDP attributes on a 1-day-click window, which channel gets credited moves with it too.

Measure the halo on exposure, not on budget. Spend is an input, not reach: a channel can spend more and be in front of fewer people if CPM rises. That is exactly what happened this week — upper-funnel spend +12.5% but impressions +1.3% — and reading spend alone would have pointed the wrong way, as it did in the opposite direction three weeks ago. The two exposure metrics matter for different halves of the halo: impressions drive demand generation (do people go and search the brand at all), clicks drive attribution credit (only a click creates a 1-day-click touchpoint that can win the order). Note that clicks held far better than impressions this week (+15.0% vs +1.3%), which is why demand barely moved.

What actually changed, by channel — Aug 17–23 → Aug 24–30

Channel SpendImpressions CPMClicks CTROrders (CDP)
BAWoW BAWoW BAWoW BAWoW BAWoW BAWoW
Facebook$34,180$42,367+24.0%703K729K+3.6%$48.60$58.12+19.6%15.4K18.5K+20.1%2.19%2.54%+15.8%225254+12.9%
AppLovin$18,766$17,515-6.7%190K192K+0.9%$98.69$91.27-7.5%11.9K12.9K+8.8%6.24%6.73%+7.8%130162+24.6%
Google Search$674$756+12.1%2.6K3.2K+24.6%$260.66$234.47-10.0%620684+10.3%23.98%21.22%-11.5%4054+35.0%
Google Shopping$99$117+17.8%19.8K18.9K-4.4%$5.00$6.16+23.2%201224+11.4%1.02%1.18%+16.5%1517+13.3%
Rakuten$142$185+30.7%00————00————2232+45.5%
Bing Search$55$48-12.9%1.2K2.5K+100.1%$44.40$19.34-56.4%5269+32.7%4.18%2.77%-33.7%24+100.0%
Google Discovery$1,426$1,293-9.3%37.4K22.5K-39.9%$38.15$57.56+50.9%3.3K3.8K+13.9%8.92%16.92%+89.6%11+0.0%

Google rows highlighted. CPM WoW is inverted (cheaper = green). Rakuten is an affiliate source with no impression or click data in CDP, so those cells are blank.

The halo chain — upstream exposure → brand demand → brand clicks → orders

ROAS is a poor halo metric: it moves with AOV, product mix, attribution and basket size as much as with demand. Search volume is the clean signal — how many people went looking for this brand. So the chain below is measured on volume at every step, and "brand" here means brand campaigns + SR_US_NB_SpaDr_Reviews: Reviews is named _NB_ but its queries ("the spa dr reviews", "is the spa dr legit") are brand-research intent — people already interested in the brand — so it belongs in a demand measure.

Link in the chainAug 17–23Aug 24–30WoW Correlation with
upper-funnel impressions
Upper-funnel impressions 930,807943,293 +1.3% —
Brand search demand (impr ÷ IS) 2,9003,656 +26.1% r = +0.55 (r² 0.30)
Brand clicks 620684 +10.3% tracks UF clicks, not UF impressions
Brand orders (CDP) 4054 +35.0% r = +0.51 (r² 0.26)
Store-wide paid orders (control) 435524 +20.5% r = +0.57 (r² 0.33)
Search Brand ROAS — the noisy one 6.11x7.53x +23.1% r = +0.61 (r² 0.37)

Correlations are Pearson r over the 7 weekly points in this window — directional evidence, not a significance test, and the channels are collinear. Read them as "which metric tracks upper-funnel exposure", not as a causal estimate.

The halo chain — 7 weeks
▮ Upper-funnel impressions (left) — Brand search demand (right)
▮ Brand search demand (left) — Brand orders (right)
▮ Upper-funnel clicks (left) — Upper-funnel CPM $ (right)
▮ Upper-funnel spend $ (left) — Search Brand ROAS (right)

Upper funnel = Facebook + AppLovin + YouTube + Demand Gen + NB PMax + Pinterest. "Brand search demand" = brand-interest impressions ÷ impression share — the full addressable query pool, so it is not distorted by our own bid changes. The bottom-right chart is the one NOT to plan from: spend vs ROAS is the weakest relationship in the set (r² 0.37), and it is the pairing most people reach for by default.

⚠ Exposure was FLAT while brand demand jumped 26% — so this week's brand gain is not upstream

Upper-funnel spend rose +12.5% ($54,372 → $61,174) and impressions moved only +1.3% (930,807 → 943,293). Almost the whole spend increase went into price: blended CPM $58.41 → $64.85 (+11.0%). Anyone quoting “upper-funnel investment is up 13%” this week would be describing a week in which reach did not move at all — which is exactly why the runbook forbids reading the halo off spend.

The engagement half did move, and it moved a lot more than exposure. Upper-funnel clicks 30,637 → 35,238 (+15.0%) — eleven times the impression change — because CTR improved on both large channels. Facebook spent +24.0% ($34,180 → $42,367) for +3.6% impressions at a CPM +19.6%, but its CTR went 2.19% → 2.54% (+15.8%) — the three-week slide this report escalated in W33 has now reversed for a second week. AppLovin spent -6.7% for +0.9% impressions at a CPM of $91.27, and its CTR also rose 6.24% → 6.73%.

And brand search demand jumped: 2,900 → 3,656 queries (+26.1%), with brand orders 40 → 54 (+35.0%). Read the chain: exposure flat, clicks up 15%, demand up 26%. Demand rose without exposure rising, which is the pattern the runbook flags as downstream of the click — better engagement and last-click credit rather than a wider net. It is consistent with the whole 7-week window, where upper-funnel clicks track brand demand far better than impressions do, and it is why the standing rule applies: do not re-baseline brand bids, budgets or targets on this week. Plan on the 7-week median Search Brand ROAS (6.11x), not on 7.53x.

One structural note worth carrying forward. AppLovin is now 29% of upper-funnel spend for 20% of the impressions, and blended CPM has risen in 2 of the last three weeks. The account is paying progressively more per unit of reach. That does not hurt while engagement is improving, but it is the thing that turns a flat-exposure week into a falling-demand week if CTR slips back.

🔧 CORRECTION — the W33/W34 "halo recovered" reading was an artefact. The campaign was PAUSED.

This report's first build said the W33 prediction had come true. It had not, and the error is worth spelling out because it would have repeated every week. W33 saw SR_US_BR_SpaDr_Products impressions halve (612 → 301), read it as the lagged halo decaying after Demand Gen went dark, and predicted a recovery in W34. W34 came in at 380 (+26.2%) and that looked like confirmation.

It was a serving-days artefact. SR_US_BR_SpaDr_Products was paused and served 0 impressions on Aug 14, 15, 16 and 17; the change log shows it going PAUSED → ENABLED on 2026-08-18 13:11 from the Google Ads web UI, which is why Aug 18 posted only 22 impressions at 45.9% IS. So the two weekly totals being compared were 4 serving days vs 5½, not 7 vs 7.

WeekImpressions Serving daysImpressions per serving dayReading
Aug 3–9612787 both channels dark
Aug 10–16301475 paused from Aug 14
Aug 17–233805½69 re-enabled Aug 18 mid-day

Per serving day the series is 87 → 75 → 69 — falling every week, including the week Demand Gen was live for all seven days. The "+26% recovery" was six days being compared with four. Both the W33 halving and the W34 recovery were the pause, and the standing prediction resolves negative.

Rule added to the tooling: never compare a campaign's weekly impressions without first counting the days it actually served. scripts/tsd_halo_dgen_test.py now emits serving_days and dark_days for every campaign and prints a warning; it is what caught this.

⭐ So: does Demand Gen feed Search Brand? Tested properly — the answer is no.

The theory (Carlos, 2026-08-25): people who read the Demand Gen advertorial and do not buy through that funnel go on to search the brand and convert on Search Brand. If that is true, brand-search demand must rise when Demand Gen is on and fall when it stops. That is testable on 85 days of daily data across two independent on-switches and one off-switch. "Demand" throughout is impressions ÷ impression share — the addressable query pool, so our own bids cannot contaminate it.

Test 1 — period means, per serving day

PeriodDG DG $/dayPMax $/dayCore brand
demand/day
Reviews
demand/day
Products
demand/day
SB orders
/day
SB revenue
/day
2026-06-01 -> 2026-07-16off$0$2718612756 (46/46d)4.09$246
2026-07-17 -> 2026-07-27ON$202$3119416686 (11/11d)3.82$264
2026-07-28 -> 2026-08-12off$0$018717097 (16/16d)5.38$342
2026-08-13 -> 2026-09-01ON$201$019119891 (16/20d)5.15$363

Demand Gen rows highlighted. Products counts only days the campaign actually served (shown in brackets).

The all-dark period (Jul 28 – Aug 12) has the highest Products demand, the highest Search Brand orders per day and the highest new users per day of any period in the window. Nothing upstream was running. That is the opposite of what the theory predicts.

Test 2 — the switch tests: 7 days before vs the period after

Event Core brand demandReviews demandProducts demand
DG switched ON
2026-07-17
154 → 194
+25.7%
139 → 166
+19.4%
66 → 86
+31.9%
DG switched OFF
2026-07-28
219 → 187
-14.6%
183 → 170
-7.1%
96 → 97
+1.0%
DG switched ON
2026-08-13
189 → 191
+1.1%
171 → 198
+16.1%
105 → 91
-13.4%

The first switch-on looks supportive; the second, which is the clean one, does not. Turning Demand Gen on in July lifted every series 19–32% — but PMax was live for six of those eleven days, so that window cannot separate the two channels. Turning it on again on Aug 13, with nothing else running, moved Core brand demand +2.3%, Reviews +8.0% and Products −22.6%. That is the test with no confound, and it is close to nothing.

The switch-off is genuinely ambiguous, and the ambiguity is itself the finding. Measured against the 7 days immediately before the pause, Core brand demand fell 14.6% and Reviews 7.1% after Demand Gen stopped — which is the direction the theory predicts. But those 7 days were the peak of the July stint and the tail of PMax. Measured against the whole Jul 17–27 Demand-Gen period instead, Core goes 194 → 187 (−4%) and Products goes 87 → 105 (+21%) over the following fortnight. A result that flips sign depending on which seven days you pick as the baseline is not a result. With one usable off-switch and n=11 days of pre-period, this test cannot resolve an effect of the size we are looking for — which is why the differenced correlation below carries more weight.

Test 3 — correlation, and what survives a control

Brand series r with DG spend
(3-day lag)
r with Facebook
+ AppLovin
partial r for DG
holding FB+AL constant
r on FIRST
DIFFERENCES
n days
Core brand demand+0.28+0.43+0.23+0.1990
Reviews demand+0.52+0.13+0.51+0.1190
Products demand+0.39+0.02+0.40-0.0586

Read the last column, not the first. In levels, Demand Gen spend correlates with brand demand at +0.30 to +0.42, and that survives controlling for Facebook and AppLovin exposure. But both series drift upward across June→August for reasons that have nothing to do with each other — the account grew. Differencing removes the shared trend, and the relationship collapses to +0.19 / +0.11 / −0.05 — indistinguishable from zero. A day-over-day change in Demand Gen spend does not produce a day-over-day change in brand search demand. That is the decisive test, and it agrees with the switch-off test.

Test 4 — the on/off week comparison

Across the 13 full weeks in the window there are 5 Demand-Gen-on weeks (Jul 13-19, Jul 20-26, Aug 10-16, Aug 17-23, Aug 24-30) and 8 off weeks (Jun 1-7, Jun 8-14, Jun 15-21, Jun 22-28, Jun 29-Jul 5, Jul 6-12, Jul 27-Aug 2, Aug 3-9). Search Brand averaged 32.2 orders/week with Demand Gen on versus 31.0 with it off (+3.9%), and revenue $2,173 vs $1,925 (+12.9%). No measurable lift.

Verdict: the theory is not supported by anything we can measure. Of the five tests, three come back flat or negative (period means on serving days, the clean Aug-13 on-switch, the differenced correlation and the on/off week comparison), and the fourth — the July off-switch — flips sign depending on the baseline window. The one series with any signal is Reviews demand (+7.9% on the clean Aug-13 switch, partial r +0.41), which is at least the right series for the mechanism: someone who reads an advertorial and hesitates searches "is the spa dr legit", not "the spa dr hair serum". Worth keeping an eye on, far too small to fund the campaign. And note this is a test of Demand Gen specifically, not of the halo in general — the upper-funnel halo from Facebook and AppLovin is a separate and much better-supported effect, measured in the table at the top of this section.

✅ And the median rule held for a third week

Search Brand ROAS landed at 7.53x against a 7-week median of 6.11x — the planning figure the last two reports told us to use. The full series is 3.62x, 6.35x, 4.40x, 6.71x, 5.75x, 6.11x, 7.53x: a 3.62x–7.53x range around a stable centre, on a campaign nobody has touched. Brand orders over the same weeks ran 20, 39, 36, 51, 37, 40, 54 while brand demand ran 2,342, 3,367, 3,242, 3,170, 3,080, 2,900, 3,656 — a 170% swing in orders on a 56% swing in demand.

Set bids, budgets and targets off the median, never off the week. Three consecutive weeks of out-of-sample confirmation is now enough to treat this as an operating rule rather than an observation.

📊 The blended view: what Search Brand + Demand Gen looks like as one P&L

Even though the halo does not test out, the blended view is the right way to frame the decision — it is what the account looks like if you credit Demand Gen with everything Search Brand earns while it is running. It is the most generous possible accounting for Demand Gen, and it still does not work.

Week Search Brand alone Demand Gen alone BLENDED (SB + DG) +Reviews
blended ROAS
SpendOrdersRevenueROAS SpendOrdRevenue SpendOrdersROASCPA
Jun 1-7$33635$1,9795.88x$00$0$336355.88x$9.613.98x
Jun 8-14$31025$1,7425.61x$00$0$310255.61x$12.414.12x
Jun 15-21$31829$1,4594.58x$00$0$318294.58x$10.983.58x
Jun 22-28$35628$1,5464.34x$00$0$356284.34x$12.713.42x
Jun 29-Jul 5$28129$1,7406.20x$00$0$281296.20x$9.684.37x
Jul 6-12$25329$2,1338.42x$00$0$253298.42x$8.745.74x
Jul 13-19$28417$1,0293.62x$7910$0$1,075170.96x$63.250.94x
Jul 20-26$37735$2,3946.35x$1,3580$0$1,735351.38x$49.581.40x
Jul 27-Aug 2$43931$1,9334.40x$690$0$509313.80x$16.413.16x
Aug 3-9$42742$2,8686.71x$00$0$427426.71x$10.175.27x
Aug 10-16$35732$2,0545.75x$9162$171$1,274341.75x$37.461.78x
Aug 17-23$39734$2,4296.11x$1,4261$35$1,823351.35x$52.091.38x
Aug 24-30$39343$2,9617.53x$1,2931$35$1,686441.78x$38.321.86x

Demand-Gen weeks highlighted. All figures CDP (revenue_1dc / conversions_1dc). The last column adds SR_US_NB_SpaDr_Reviews to the blend, since brand-research queries are the likeliest place an advertorial reader would land.

The pattern is unmistakable and it repeats on all four Demand-Gen weeks. Search Brand on its own runs 6.11x (7-week median). Blend Demand Gen into it and the combined line lands between 0.96x and 1.75x every single time, while the CPA goes from roughly $10 to $1,686 / 44 = $38.32 this week against a $13 target. Demand Gen does not dilute the brand line a little — it multiplies its cost by roughly five while adding one order.

The break-even the theory has to clear

Turn the question around. Suppose the halo is real and simply invisible to a 1-day-click window. How much of it would there have to be for Demand Gen to pay for itself? Week Aug 24-30: Demand Gen spent $1,293 and returned $34.99 directly. At Search Brand's $68.86 AOV:

For Demand Gen to reach… Halo revenue needed / wkExtra brand orders / wk as a share of ALL 43 Search Brand orders
blend leg reaches 1.00x$1,25818.342%
blend leg reaches 1.50x$1,90427.764%
blend leg reaches 2.50x$3,19746.4108%

To merely break even at 1.0x, Demand Gen would have to be causing 18 extra brand orders a week — about 42% of every order Search Brand produces. The measured effect is +3.9%. To clear the account's core-paid 4.77x it would need to be causing more brand orders than Search Brand records in total. The gap is not a measurement-precision problem — it is two orders of magnitude.

What this does and does not settle. It does not prove the halo is exactly zero; a small effect is entirely consistent with this data, and the Reviews series hints at one. What it settles is the decision: no plausible size of hidden halo rescues a campaign that needs to be generating over half of all brand orders just to break even. If you want to keep testing the mechanism, the ~$50/day capped version in the Demand Gen section keeps the measurement alive at a quarter of the burn — and the clean way to prove it would be a geo holdout, not another on/off week.

So what do we do with it

1. Track the halo on impressions AND clicks, never on spend — a third week of the same lesson. Spend rose +12.5% while reach moved +1.3% and clicks moved +15.0%. Three weeks ago spend fell while reach rose; last week the signs reversed; this week spend rose into price rather than into reach. The spend line has now given the wrong answer three weeks running, and the exposure lines the right one each time.

2. Clicks are the better predictor at this account — start leading with them. Over the 7-week window upper-funnel clicks track brand demand at r = +0.83 (r² 0.69) versus r = +0.55 (r² 0.30) for impressions. This week is the cleanest illustration yet: impressions +1.3%, clicks +15.0%, demand +26.1%.

3. Watch AppLovin's CPM, not its spend. $98.69 → $91.27 (-8%) is a window high, and AppLovin now absorbs 29% of upper-funnel budget. It still converts (130 → 162 CDP orders at 0.47x), so this is a monitoring item and not an alarm — but rising CPM with flat CTR is how a channel quietly stops generating brand demand.

4. The Demand Gen halo argument is now closed — it was the last thing keeping this campaign alive. Four tests, one of them a switch-off, all come back flat or negative, and the break-even is two orders of magnitude away. Decide the direct-response question on its own merits in the Demand Gen section without a halo credit. If anyone still wants to defend the mechanism, the only honest way to settle it is a geo holdout — hold Demand Gen out of a matched set of states for four weeks and compare brand-search demand. On/off weeks at this volume cannot resolve an effect this small, and we have now spent $5,853 learning that.

⭐ Home Change — the site was re-focused on Hair Serum on 2026-08-20

Read this as a first look, not a verdict. The change went live on 2026-08-20 (Thursday); this report has 12 complete days after it, compared against the same 12 weekdays one and two weeks earlier. At this account's volume that window can only detect a very large effect. Nothing below should move a budget or a bid — re-run scripts/tsd_site_change_impact.py at +2 and +4 weeks.

Three other things happened within four days, and that is the real obstacle to attributing anything. SR_US_BR_SpaDr_Products was re-enabled Aug 18 after four dark days; the Demand Gen creative, tCPA and tracking template were all changed Aug 17–19; the home changed Aug 20; and two new RSAs went live in SR_US_BR_SpaDr_CPC_Core on Aug 21. Any brand improvement after Aug 20 has at least three candidate causes and 12 days of data still cannot separate them.

⚠ The clearest finding: deploy day broke Search Brand order tracking

On 2026-08-20 — the day the new home went live — Search Brand recorded 70 clicks, 64 users, 6 add-to-carts and 3 checkouts, and then 0 orders / $0.00. Platform delivery that day was completely normal — 237 impressions, 70 clicks, 93.2% impression share — and Google Ads' own conversion column recorded 2.0 conversions. The traffic and the sales were there; CDP's order leg was not.

This is not a plausible zero. Search Brand's baseline conversion rate over the other 25 days in the window is 7.63%, so 70 clicks should have produced about 5.3 orders. The probability of landing on exactly zero is 0.48% — about one day in 209. Add-to-cart and checkout both fired; only purchase did not. A demand collapse takes the whole funnel down with it.

But the 7-day-click window tells us where the orders went, and it narrows the diagnosis. On the same day CDP's conversions_7dc records 2 orders / $234.10 against 0 on conversions_1dc — and Google Ads' own column also shows 2.0. So the orders attributable to Aug-20 brand clicks do exist; none of them landed the same day. Every other day in the window has 1dc and 7dc within about one order of each other; Aug 20 is the only one with a clean gap.

That leaves two live explanations and this window cannot separate them: either the same-day purchase signal was lost on the deploy (a tag or gclid/UTM handoff problem in the new template), or the new home genuinely delayed purchase — people arrived, engaged, and came back to buy a day or two later. The second is a real and interesting possibility for a redesigned page, and it is not the one anyone would assume. Both are worth the same ten-minute question to web-eng, and the tell for next time is simple: if the next deploy shows the same 1dc/7dc split, it is the tag; if it does not, Aug 20 was behavioural.

This corrects yesterday's report. The W34 build filed Aug 20 under "the known TSD zero-conversion-day pattern" and asked for a routine GA4/Shopify check. It is the deploy day, and it is not random. The money at stake is small — one day of brand orders is ~$400, and 7dc suggests most of it was recovered later. The reason to chase it is that Smart Bidding and Meta CAPI feed on the same-day signal: a deploy that reliably blanks it for a day is a recurring, invisible tax on every algorithm in the account.

Test 1 — product mix: six days in, the mix has NOT moved toward Hair Serum

This is the most direct test available and it needs no attribution at all: if the home now pushes Hair Serum, the hair category's share of revenue should rise. Shopify line items, all traffic, $0 gift lines (FREE Scalp Massager, Chance to Win Dyson Airwrap) excluded — they outnumber real products, and counting units instead of revenue makes the mix read backwards.

Product family pre2 (12d)pre (12d)post (12d)
RevenueShareRevenueShareRevenueShare
Face Serum (Lift&Tight)$55,97639.9%$74,71246.5%$72,42343.2%
Hair Serum$54,07938.5%$55,44434.5%$62,71037.4%
Kit/System$8,5856.1%$8,4425.2%$7,0404.2%
Hair Mask$4,7473.4%$5,6513.5%$6,9534.2%
Shampoo/Cond$4,7073.4%$4,0452.5%$4,5392.7%
Night Cream$2,5521.8%$3,1261.9%$4,5402.7%
Moisturizer$2,4391.7%$2,1031.3%$2,5131.5%
Cleanser/Glow$2,6111.9%$2,3311.4%$1,9681.2%
Eye Cream$1,2060.9%$1,3920.9%$1,9241.1%
Other$1,8611.3%$1,6841.1%$1,4120.8%
Neck & Chest$7310.5%$5460.3%$8250.5%
Hormone Balance$9760.7%$1,2960.8%$7310.4%

Hair-category rows highlighted.

Measurepre2 (12d)pre (12d)post (12d)
Hair category share of revenue45.2%40.5%44.3%
Orders containing a Hair Serum42.7%36.9%39.6%
Orders (store-wide)1,8462,1792,298
Gross revenue$145,948$168,150$175,562
AOV$79.06$77.17$76.40

Hair share of revenue went 45.2% → 40.5% → 44.3% — flat across the change, and well below where it sat two weeks ago. Orders containing a Hair Serum went 42.7% → 36.9% → 39.6%. The merchandising intent is not yet showing up in what people actually buy.

What IS moving is the face serum — and it started before the change. AGE DEFYING Lift & Tight Serum went 39.9% → 46.5% → 43.2% of revenue and is now the store's largest line. Most of that step landed in the pre window, so it is not the new home — it is whatever drove the face-serum push a week earlier. Worth establishing before anyone credits the home change with it.

Test 2 — store level: no step change, and growth actually slowed

Store-wide Shopify orders went 1,846 → 2,179 → 2,298; gross revenue $145,948 → $168,150 → $175,562. The post-change block is up +5.5% on orders — but the block before it was up +18.0% with no site change at all. The growth rate halved across the change. AOV continued its existing drift down ($79.06 → $77.17 → $76.40). There is no discontinuity at store level to attribute to anything, in either direction.

Test 3 — which channels moved, and the one clean control

Demand Gen is the control (green rows): it lands on offer.thespadr.com, a separate host the home change never touched. If on-site channels moved and Demand Gen did not, that isolates the site. Facebook is the only channel with the daily volume to detect a modest effect — Search Brand runs ~70 clicks/day, where a 20% CVR change is invisible.

ChannelWindowSpendClicksUsers ATC%IC/ATCCVRAOVROAS
Search Brandpre2$65186279318.16%78%7.31%$70.436.81x
pre$61581176616.32%83%7.15%$70.656.66x
post$68789685217.49%77%7.81%$67.816.91x
Reviews (NB)pre2$37016714918.79%61%7.19%$76.112.47x
pre$45620117517.14%73%6.47%$72.352.06x
post$60026623113.42%94%6.02%$75.682.02x
Shopping Brandpre2$17536631817.30%80%6.28%$66.788.75x
pre$17437130817.86%80%6.47%$80.5611.11x
post$19638932915.81%77%6.94%$64.908.92x
Bing Searchpre2$12613710318.45%68%7.30%$52.904.21x
pre$941037911.39%122%5.83%$78.395.00x
post$841068314.46%83%6.60%$68.445.71x
Demand Gen (offer.thespadr)pre2$1,1182,6042,3580.81%26%0.08%$85.480.15x
pre$2,5316,0375,5320.96%30%0.05%$68.650.08x
post$2,2756,3775,9061.56%33%0.03%$34.990.03x
Facebookpre2$61,73932,39437,1764.69%55%1.09%$80.780.46x
pre$63,68230,40034,8525.11%56%1.31%$83.770.52x
post$68,60829,88532,6205.32%58%1.42%$88.870.55x
AppLovinpre2$23,83718,53415,2828.71%64%1.09%$46.450.39x
pre$28,88818,98515,6879.17%64%1.10%$47.670.34x
post$31,27921,69817,7819.07%68%1.11%$52.110.40x

Facebook improved across the whole funnel — ATC rate 5.11% → 5.32%, CVR 1.31% → 1.42%, ROAS 0.52x → 0.55x, on roughly 32,620 users. That is the only result in this section with enough sample behind it to be worth much. But AppLovin, which also lands on the site, did not improve — ROAS 0.34x → 0.40x — and a site-wide conversion improvement should lift both. So either the two channels land on different pages, or Facebook's gain is its own creative and audience work rather than the site. This data cannot separate those.

Search Brand — the campaign that actually lands on the home — is the one to watch, and it is DOWN. CVR 7.31% → 7.15% → 7.81% and ROAS 6.81x → 6.66x → 6.91x, on +10% more clicks. Its ATC rate has fallen every block — 18.16% → 16.32% → 17.49% — and add-to-cart rate is precisely the metric a homepage change should move first, because the home is where this traffic lands.

Do not over-read it either. The post block carries the deploy-day zero, which alone removes about 5 orders from a 6-day total; add those back and CVR lands near 8.40%, i.e. roughly flat rather than down. It also contains the Products campaign returning on Aug 18 and new RSAs from Aug 21. The honest summary is: the one channel most exposed to the home reads worse, the deterioration is inside what these confounds can produce, and the ATC-rate trend is the thing to check first at +2 weeks.

Every platform change inside the measurement window
When CampaignResource Changed
2026-08-27 13:23SHP_TSD_US_PPT_ACQ_VOLUME_CBO_WK45Campaigntarget_spend.cpc_bid_ceiling_micros
2026-08-27 01:20SR_US_BR_SpaDr_CPC_CoreCampaign Assetstatus
2026-08-27 01:20SR_US_BR_SpaDr_CPC_CoreCampaign Assetstatus
2026-08-27 01:20SR_US_BR_SpaDr_ModifiersCampaign Assetstatus
2026-08-27 01:20SR_US_BR_SpaDr_ModifiersCampaign Assetstatus
2026-08-27 01:20SR_US_BR_SpaDr_ModifiersCampaign Assetstatus
2026-08-27 01:20SR_US_BR_SpaDr_ProductsCampaign Assetstatus
2026-08-27 01:20SR_US_BR_SpaDr_ProductsCampaign Assetstatus
2026-08-27 01:20SR_US_BR_SpaDr_Reviews_ScriptCampaign Assetstatus
2026-08-27 01:20SR_US_BR_SpaDr_Reviews_ScriptCampaign Assetstatus

Automated-rule bid changes excluded. Deploy-day rows highlighted.

What we could NOT check, and what to do next

Two layers were blocked while building this, and both matter:

Next steps, in order:

1. Ask web-eng about the Aug 20 purchase-tag gap. It is the one finding here that is both solid and actionable today, and it is a ten-minute question.
2. Re-mint the GA4 token, then pull ATC/session by landing page for the home, before vs after. Without it every conclusion in this section stays low-confidence.
3. Re-run this section at +2 and +4 weeks (scripts/tsd_site_change_impact.py --change-date 2026-08-20). The mix test is the one to watch: if the hair share of revenue has still not moved by mid-September, the home change is not doing what it was built to do — and that is a merchandising conversation, not a media one.
4. Do not move bids or budgets on this window. Six days, three confounds, and the only strong signal is a tracking gap.

New ads shipped for the change — post (12d) vs pre (12d)

Two new RSAs went live on Aug 21 in SR_US_BR_SpaDr_CPC_Core / Exact_Match — the brand ad group that catches "the spa dr" and its variants. A new RSA only competes against the other ads in its own ad group, so everything below is scoped to that ad group; comparing it against ads elsewhere in the campaign would be meaningless. "New" is defined as zero impressions in the before window and delivery in the after window — this account has no ad labels.

Ad group, before vs after

Campaign / ad group WindowImprClicksCTRCPCCost ConvValueCPA
SR_US_BR_SpaDr_CPC_Core / Exact_Matchbefore2,19967430.65%$0.78$523.0052$3,185$10.16
after2,13663929.92%$0.79$506.1551$3,002$9.93

Conversions and value are platform figures — CDP has no per-ad breakdown, so treat the levels as directional and the comparison within the same week as meaningful.

The ad group improved. CTR 30.65% → 29.92% (-2.4%), conversions 52 → 51, value $3,185 → $3,002, and CPA $10.16 → $9.93 — on -3.2% cost and fewer impressions (2,199 → 2,136). So this is not extra volume; the same auctions converted better.

Per ad — Search only

AdType Landing pageStrengthImpr
before
Impr
after
Share
after
ClicksCTRCPCConvValue
SR_US_BR_SpaDr_CPC_Core / Exact_Match
821725374229existingthespadr.com/collections/best-sellersAVERAGE5571,64176.8%48629.62%$0.7939$2,274
782730220774existingthespadr.com/collections/best-sellersAVERAGE1,61341719.5%13432.13%$0.778$480
821725374232existingthespadr.com/AVERAGE29783.7%1924.36%$1.064$248

Google handed the new ads 0% of the ad group's impressions within days. That is normal RSA rotation favouring fresh creative, not a quality verdict. Note the incumbent still posts the higher CTR — 29.62% on 1,641 impressions against 0.00% on 0 for the new one — so on the click metric the new copy is behind, and it is only ahead on conversions (0 vs 39). Both differences sit inside what five days of this volume can produce by chance; do not call a winner yet.

⚠ The finding that matters for the store change: the ad built to send brand traffic to the NEW HOME is barely serving. Ad — points at thespadr.com/ and took only 0 impressions (0.0% of the ad group), while its sibling — — same ad group, same day, pointing at /collections/best-sellers — took 0 (0%). So almost none of the brand traffic this test was meant to route to the new Hair Serum home is actually getting there. Whatever the new home does to conversion, this ad group is not currently testing it. Both new ads are also rated AVERAGE ad strength while much of the rest of the campaign sits at EXCELLENT — that is the first thing to fix, and it is free.

Demand Gen creative refresh (Aug 18) — shown separately, on purpose

New Demand Gen ads also went live on Aug 14 and the creative was swapped again on Aug 18, so they belong in this review. They are in their own table because their platform "conversion" column counts Product-View and add-to-cart micro-events, not sales — it reports hundreds a week against 1 real CDP order. Printing that next to Search's real conversions would invite exactly the wrong conclusion, so the column is greyed and no value/CPA is shown.

Ad groupWindow ImprClicksCTRCPCCost Platform "conv"
(micro-events)
AG1_InMarket_HairCarebefore52,3475,84811.17%$0.42$2,450.72482
after38,4046,19116.12%$0.36$2,198.761,306
AG3_CustomIntent_ThickerHairbefore10,4491891.81%$0.42$80.294
after10,2011861.82%$0.41$76.564

The refresh did lift engagement and did not lift sales. AG1_InMarket_HairCare's CTR roughly doubled and its CPC fell, and AG3_CustomIntent_ThickerHair finally started serving at scale — but CDP still records 1 order on $1,292.83 for the week, and AG3's CTR (~1.8%) remains about six times worse than AG1's. Better creative on traffic that does not buy is still traffic that does not buy; see the Demand Gen section.

Caveats, and they are heavy. Five days. Platform conversions, not CDP. The window contains the Aug 20 deploy-day tracking gap, the Products campaign returning on Aug 18, and the home change itself — so the ad-group improvement cannot be attributed to the new copy alone. Treat this as "the new ads are delivering and not obviously worse", not as a win. Re-read it at +2 weeks, when the rotation has settled and there is enough volume for the CTR difference to mean something.

Campaign Breakdown — Google Ads

🔵 Google Ads
Search Brand CPC_Core · Products · Modifiers
Search Brand · 7-Week Trend · Jul 13–19 → Aug 24–30
▮ Orders (left)— CVR% (right)
▮ Revenue$ (left)— CPA$ (right)
▮ Spend$ (left)— ROAS (right)
▮ Clicks (left)— CTR% (right)
▮ AOV$ (left)— ROAS (right)
▮ CPC$ (left)— CTR% (right)
Brand Impressions × Search Impression Share (platform)
▮ Brand impressions (left) — Search IS % (right)

Read: impressions 1,615 → 1,914 (+18.5%) with IS easing slightly 92.5% → 91.4% — both essentially flat, and both near the top of the window. Addressable brand demand (impressions ÷ IS) went 1,745 → 2,094 queries (+20.0%). Nothing about brand delivery changed this week — which is what makes the order and revenue gains attributable to conversion rather than to visibility. Note the shape of the whole series: impressions stepped from ~1,400 to ~1,900/week while PMax and Demand Gen ran in July, decayed through August as both went dark, and have now flattened out with Demand Gen back on. Switch to Day by Day for the 49-day view (axis labels thin to every 7th day; hover any bar for the exact date) — the daily view is where the Aug 20 zero-conversion day shows up with entirely normal impressions and IS.

Segment Summary — CDP

WeekSpendOrders (CDP)Rev (CDP)ROASCPACVRAOVCPCClicks
Aug 17–23$397.3134$2,429.026.11x$11.696.84%$71.44$0.80497
Aug 24–30$393.3643$2,960.907.53x$9.158.21%$68.86$0.75524
WoW-1.0%+26.5%+21.9%+23.1%-21.7%+20.0%-3.6%-6.1%+5.4%

Campaign Breakdown — CDP

CampaignSpend Aug 17–23Spend Aug 24–30WoWOrd BOrd ARev Aug 17–23Rev Aug 24–30WoWROAS BROAS ACPA A
SR_US_BR_SpaDr_CPC_Core$327.45$280.10-14.5%2422$1,854.61$1,335.58-28.0%5.66x4.77x$12.73
SR_US_BR_SpaDr_Products$68.26$111.72+63.7%1019$574.41$1,437.38+150.2%8.42x12.87x$5.88

⭐ RSA comparison — SR_US_BR_SpaDr_CPC_Core / Exact_Match (special request)

The window is 2026-08-21 → 2026-09-01 (12 days) — the day the new RSAs first served, through the last complete day. Both new ads were created 2026-08-21 14:01 (GOOGLE_ADS_API, carlos.carrero@trafilea.com) and both began serving the same day, so every ad in the table gets the identical 12 days and the incumbent is not credited with a period the challengers could not compete in. The matched 12-day window immediately before (2026-08-09 → 2026-08-20) is shown underneath as the rollout's before/after.

Two sources, on purpose. Delivery columns (impressions, share of voice, CTR, CPC, cost, ad strength) are platform — that is what platform data is for and there is no other source for them. Every outcome column (orders, revenue, ROAS, CPA, AOV, ATC) is CDP, keyed on ad_id from Redash q2635. The last column shows what platform ROAS would have told you, and it does not agree — that divergence is itself decision-relevant, see the read below.

AdAd
strength
Delivery (platform) Outcome (CDP · revenue_1dc) Platform
ROAS
ImprSoVClicksCTR CPCCost OrdersRevenueROASCPA AOVATC/click
821725374229 NEW
thespadr.com/collections/best-sellers · /clean/skincare
Average1,76182.9%52529.81%$0.78$410.8836$2,202.235.36x$11.41$61.1715.6%6.10x
782730220774 INCUMBENT
thespadr.com/collections/best-sellers · /clean/skincare
Average27412.9%8832.12%$0.82$71.914$443.166.16x$17.98$110.7911.4%5.33x
821725374232 NEW
thespadr.com/ · /hair/serum
Average904.2%2224.44%$0.94$20.754$233.9311.27x$5.19$58.4831.8%11.94x
AD GROUP TOTAL—2,125100%63529.88%$0.79$503.5444$2,879.325.72x$11.44$65.4415.6%6.23x

The rollout as a whole — matched 12-day windows, same ad group

2026-08-09–2026-08-20 (incumbent alone) vs 2026-08-21–2026-09-01 (all three). Spend is near-identical across the two windows, which makes this close to a like-for-like read. Each window happens to contain exactly one zero-order day — Aug 20 in the PRE, Aug 25 in the POST — so that distortion is balanced too.

Metric Before (08-09–08-20) After (08-21–09-01)Change
Impressions2,2682,125-6.3%
Clicks688635-7.7%
CTR30.34%29.88%-1.5%
Spend (CDP)$510.39$503.54-1.3%
CPC$0.74$0.79+6.9%
Orders (CDP)3844+15.8%
Revenue (CDP)$2,662$2,879+8.2%
ROAS (CDP)5.22x5.72x+9.6%
CPA (CDP)$13.43$11.44-14.8%
AOV (CDP)$70.05$65.44-6.6%
ATC per click14.10%15.59%+10.6%
Read — the rollout worked, but not for the reason the platform column suggests, and the ranking flips depending on which source you use

1. At ad-group level the swap paid, on the same money. Spend was $510.39 → $503.54 — effectively flat — and CDP orders went 38 → 44 (+15.8%), ROAS 5.22x → 5.72x (+9.6%) and CPA $13.43 → $11.44 (-14.8%). And it did that on -7.7% clicks and -6.3% impressions — so it is not extra traffic, it is the same traffic converting better. That is the strongest form this result could take.

2. But CDP and platform disagree about which ad won, and CDP is the one that counts. On platform ROAS the big new ad 821725374229 looks like the winner (6.10x vs the incumbent's 5.33x). On CDP the order reverses: incumbent 6.16x, new ad 5.36x. The reason is basket size — AOV $110.79 on the incumbent against $61.17 on the new ad. Anyone deciding this from the Google Ads UI alone would conclude the opposite of what the warehouse says.

3. The honest resolution: the new ad wins on CPA and volume, the incumbent on basket — and the incumbent's edge rests on 4 orders. CPA is $11.41 on 821725374229 against $17.98 on the incumbent, and the new ad produced 36 of the ad group's 44 orders. At 4 orders an AOV of $110.79 is one or two large baskets, not a property of the creative. Do not kill the incumbent on this evidence, and do not crown the new ad on it either. The defensible statement is the ad-group line in point 1.

4. Google reassigned the rotation, we did not. The incumbent went from 100% share of voice in the PRE window to 12.9% now; the two new ads took 87.1%. Nothing was paused. If the incumbent's higher AOV turns out to be real, that reallocation is working against us — which is the one concrete reason to keep watching this rather than closing it.

5. 821725374232 is the finding nobody asked about: best rates in the set, and it is starved. 90 impressions (4.2% SoV) and 22 clicks in 12 days — yet 11.27x ROAS, $5.19 CPA and an ATC-per-click of 31.8% against 15.6% on the big new ad and 11.4% on the incumbent. This is the Hair-Serum ad pointing at the new home page, and W34 already flagged that it barely serves. Twelve days later it still barely serves, but now with enough data to say its traffic is the most commercially engaged in the ad group. Its low CTR (24.44% vs 29.81%) is why Google starves it — the rotation optimises for clicks, not for what happens after them.

6. All three ads are AVERAGE ad strength, including the incumbent, while other ad groups in this campaign sit at EXCELLENT. That is a free fix and it is the only action here that costs nothing and risks nothing.

⚠ Why this table does not contradict the “CPC_Core went backwards” finding earlier in this report. That finding compares calendar weeks (Aug 17–23 vs Aug 24–30) and CPC_Core's CDP revenue did fall $1,854.61 → $1,335.58. This table compares matched 12-day windows that split on the ad launch. Both are true: week A contains the Aug 25 zero-order day and a weak Aug 29–30 (2 orders, 1.36x), while Aug 31 and Sep 1 rebounded to 6.30x and 10.66x — days that fall outside the report week but inside this one. At ~40 orders per 12 days neither window settles it; the WoW is the performance read, this one is the creative read, and the creative read is the fair one for judging the ads.

Decision
  1. Keep all three ads running. The rollout improved the ad group on flat spend (5.22x → 5.72x CDP, CPA $13.43 → $11.44); there is no case for reverting, and no case for pausing the incumbent either given it holds the higher CDP ROAS.
  2. Lift all three from AVERAGE to GOOD/EXCELLENT ad strength. Free, no downside, and the rest of the campaign already runs at EXCELLENT. Do this first.
  3. Give 821725374232 a fair test instead of leaving it starved. It has the best CPA ($5.19), the best ROAS (11.27x) and by far the best ATC rate (31.8%) on 22 clicks. Its CTR is what keeps Google from serving it — so either strengthen its headlines for click-through, or move it into its own ad group where it is not competing for rotation against a 30%-CTR sibling. Leaving it at 4.2% SoV means we never find out.
  4. Re-read in two weeks before touching the incumbent. The AOV gap ($110.79 vs $61.17) is the only argument for it and it rests on 4 orders. Re-run scripts/tsd_rsa_compare.py — the window extends automatically — and if the gap survives another 12 days, the rotation shift is costing money and the incumbent needs its share of voice back.
  5. None of this executes until the account suspension clears.

Search Terms & Keywords by Campaign / Ad Group — Aug 24–30

Click a campaign to expand, then an ad group. Impression Share and Quality Score are keyword-level metrics — they do not exist on search_term_view, so each ad group shows two tables: the search terms that actually triggered, and the keywords behind them carrying QS and Search IS.

SR_US_BR_SpaDr_CPC_Core 1,224 impr · 355 clicks · $263.18 · CPC $0.74 · avg QS 9.6 · IS 94.6% · 26 conv
Exact_Match 1,224 impr · 24 search terms · 16 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
the spa dr40913132.03%$0.55$71.838$533.48added
the spa doctor1745129.31%$0.56$28.386$392.36added
spa dr1463624.66%$0.40$14.521$26.59added
spa doctor1393122.30%$1.61$49.951$186.52added
dr spa1203125.83%$1.09$33.825$264.78added
thespadr953840.00%$0.79$30.162$124.98added
spadr371335.14%$1.07$13.851$42.94added
the spadr23730.43%$0.87$6.110$0.00added
drspa16425.00%$0.71$2.830$0.00added
spadoctor12325.00%$0.15$0.460$0.00added
the dr spa10220.00%$0.33$0.650$0.00added
doctor spa6116.67%$2.75$2.750$0.00
spa doc600.00%$0.00$0.000$0.00
spa doctor skincare4250.00%$0.92$1.841$37.44
the spa doctor com400.00%$0.00$0.000$0.00
the spa dr where to buy4125.00%$2.81$2.810$0.00added
thespadoctor4250.00%$0.36$0.720$0.00added
thespadoctor com4125.00%$1.26$1.260$0.00
dr spa skin care200.00%$0.00$0.000$0.00
spa doctors200.00%$0.00$0.000$0.00
spa dr com200.00%$0.00$0.000$0.00
spa dr skin care2150.00%$1.24$1.240$0.00
thespadr com200.00%$0.00$0.000$0.00
spa der100.00%$0.00$0.000$0.00

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
the spa drExact10Above AverageAbove Average97.3%2.7%409$0.55$1.118
spa doctorExact10Above AverageAbove Average90.5%9.5%178$1.79$3.502
the spa doctorExact10Above AverageAbove Average89.8%10.2%176$0.57$1.296
spa drExact10Above AverageAbove Average98.7%1.3%146$0.40$0.961
dr spaExact10Above AverageAbove Average100.0%0.0%124$1.06$2.425
thespadrExact10Above AverageAbove Average100.0%0.0%95$0.79$1.322
spadrExact9Above AverageAbove Average84.4%15.6%47$1.06$3.052
the spadrExact9Above AverageAbove Average100.0%0.0%25$0.89$1.090
drspaExact9Above AverageAbove Average72.2%27.8%21$1.12$2.750
spadoctor.comExact9Above AverageAbove Average78.6%21.4%19$1.26$1.580
spadoctorExact10Above AverageAbove Average100.0%0.0%18$0.12$1.980
the dr spaExact10Above AverageAbove Average75.0%25.0%11$0.33$0.470
the spa docExact10Above AverageAbove Average80.0%20.0%7$0.08$1.380
thespadoctorExact10Above AverageAbove Average100.0%0.0%4$0.36$0.730
the spa dr where to buyExact8AverageAbove Average100.0%0.0%4$2.81$3.060
the spadr comExact9Above AverageAbove Average100.0%0.0%2$0.00$1.030
SR_US_BR_SpaDr_Products 513 impr · 128 clicks · $90.27 · CPC $0.71 · avg QS 9.3 · IS 87.7% · 20 conv
Ex_2200_HairSerum 480 impr · 12 search terms · 8 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
the spa dr hair serum1694828.40%$0.73$35.066$369.10added
spa dr hair serum1282821.88%$0.68$18.976$391.20added
spa doctor hair serum561526.79%$0.75$11.224$159.98added
dr spa hair serum471327.66%$0.23$2.971$75.67added
the spa doctor hair serum331236.36%$0.92$11.041$74.35added
is the spa dr hair serum legit1915.26%$3.47$3.470$0.00added
dr hair serum700.00%$0.00$0.000$0.00
spa hair serum6116.67%$2.04$2.040$0.00added
the spa hair serum600.00%$0.00$0.000$0.00
spa nourishing hair serum500.00%$0.00$0.000$0.00
hair spa serum3133.33%$2.04$2.040$0.00
doctor hair serum100.00%$0.00$0.000$0.00

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
the spa dr hair serumExact10Above AverageAbove Average90.5%9.5%169$0.73$0.726
spa dr hair serumExact10Above AverageAbove Average93.8%6.2%128$0.68$0.656
spa doctor hair serumExact10Above AverageAbove Average87.3%12.7%80$0.75$0.634
dr spa hair serumExact10Above AverageAbove Average78.3%21.7%48$0.23$0.221
the spa doctor hair serumExact10Above AverageAbove Average96.4%3.6%38$0.92$0.711
spa hair serumExact10Above AverageAbove Average80.0%20.0%35$2.00$1.941
is the spa dr hair serum legitExact6Below AverageAbove Average51.6%48.4%21$3.46$3.520
hair serum the spa drExact8AverageAbove Average50.0%50.0%1$0.00$0.580
Age_Defying_Serum_EX 20 impr · 7 search terms · 9 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
the spa dr serum11218.18%$0.23$0.471$64.95added
is the spa dr serum legit200.00%$0.00$0.000$0.00added
spa dr age defying serum2150.00%$0.33$0.331$23.48added
the spa dr 2200.00%$0.00$0.000$0.00added
dr spa serum11100.00%$0.30$0.301$77.33added
spa dr lift and tightening serum100.00%$0.00$0.000$0.00added
the spa dr face serum100.00%$0.00$0.000$0.00added

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
the spa dr serumExact10Above AverageAbove Average88.9%11.1%11$0.23$0.451
dr spa serumExact10Above AverageAbove Average53.8%46.2%7$0.32$0.381
the spa dr age defying lift & tight serumExact8Above AverageAbove Average100.0%0.0%4$2.27$2.280
spa doctor lift and tight serumExact9Above AverageAbove Average100.0%0.0%3$0.00$0.690
is the spa dr serum legitExact5Below AverageAverage100.0%0.0%3$0.00$3.450
the spa doctor serumExact10Above AverageAbove Average100.0%0.0%2$0.01$0.160
the spa dr 2Exact10Above AverageAbove Average100.0%0.0%2$0.00$0.930
spa dr age defying serumExact9Above AverageAbove Average100.0%0.0%2$0.33$0.331
the spa dr face serumExact10Above AverageAbove Average66.7%33.3%2$0.58$0.641
Products 9 impr · 3 search terms · 3 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
spa doctor products4125.00%$0.74$0.740$0.00added
dr spa products3266.67%$0.34$0.680$0.00added
the spa dr products2150.00%$0.13$0.130$0.00added

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
spa doctor productsExact9Above AverageAbove Average100.0%0.0%4$0.74$0.700
dr spa productsExact9Above AverageAbove Average100.0%0.0%3$0.34$0.280
the spa dr productsExact10Above AverageAbove Average100.0%0.0%2$0.13$0.090
EyeCream 4 impr · 2 search terms · 1 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
the spa dr eye cream200.00%$0.00$0.000$0.00added
the spa dr youthful eye cream2150.00%$0.81$0.810$0.00

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
the spa dr eye creamPhrase10Above AverageAbove Average80.0%20.0%10$0.87$0.820
Nourishing_HairMask 0 impr · 0 search terms · 2 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
No search terms with impressions this week.

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
dr spa hair maskExact10Above AverageAbove Average100.0%0.0%7$0.00$0.940
the spa dr hair maskExact10Above AverageAbove Average100.0%0.0%2$0.70$0.630
NightCream 0 impr · 0 search terms · 2 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
No search terms with impressions this week.

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
the spa dr night creamPhrase10Above AverageAbove Average33.3%66.7%2$0.78$0.740
the spa dr YOUTHFUL FIRMING Night CreamPhrase9Above AverageAbove Average100.0%0.0%1$1.42$1.430
Restore_Shampoo 0 impr · 0 search terms · 2 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
No search terms with impressions this week.

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
spa dr shampooPhrase10Above AverageAbove Average75.0%25.0%4$0.78$0.940
the spa dr shampooExact10Above AverageAbove Average100.0%0.0%2$0.00$0.800
SR_US_BR_SpaDr_Modifiers 33 impr · 11 clicks · $1.54 · CPC $0.14 · avg QS 9.6 · IS 95.2% · 1 conv
Spa_Dr_Com_EX_Collection 26 impr · 6 search terms · 6 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
the spa dr com6116.67%$0.65$0.650$0.00added
team thespadr com5480.00%$0.01$0.040$0.00added
thespadr com5120.00%$0.04$0.040$0.00added
dr spa com4250.00%$0.01$0.020$0.00added
spa dr com4125.00%$0.57$0.570$0.00added
spadr com200.00%$0.00$0.000$0.00added

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
the spa dr comExact10Above AverageAbove Average100.0%0.0%6$0.65$0.640
thespadr comExact10Above AverageAbove Average80.0%20.0%5$0.04$0.010
team thespadr comExact10Above AverageAbove Average100.0%0.0%5$0.01$0.010
spa dr comExact10Above AverageAbove Average100.0%0.0%4$0.57$0.570
dr spa comExact8Above AverageAbove Average100.0%0.0%4$0.01$0.670
spadr comExact10Above AverageAbove Average66.7%33.3%2$0.00$0.240
Skincare 7 impr · 4 search terms · 4 keywords

Search terms — what actually triggered

Search termImprClicksCTR CPCCostConvValue
spa dr skin care3266.67%$0.11$0.221$96.44added
the spa dr skincare200.00%$0.00$0.000$0.00added
spa doctor skincare100.00%$0.00$0.000$0.00added
the spa dr skin care100.00%$0.00$0.000$0.00added

Keywords behind them — Quality Score & Impression Share

KeywordMatchQSExp. CTRLP exp. Search ISLost rankImprCPCBidConv
spa dr skin careExact10Above AverageAbove Average100.0%0.0%4$0.11$0.221
the spa dr skin careExact9Above AverageAbove Average100.0%0.0%2$0.00$1.030
the spa dr skincareExact9Above AverageAbove Average100.0%0.0%2$0.00$0.380
spa doctor skincareExact10Above AverageAbove Average100.0%0.0%1$0.00$0.510
What the drilldown shows — hygiene is fine, and last week's CPA-dispersion flag closed on its own

Quality Score is a non-issue. Two keywords sit at QS ≤ 5 — is the spa dr hair serum legit and is the spa dr serum legit — spending $0.00 of the segment's $393.36 (0.0%). These are review-intent queries where the issue is landing-page relevance, not bid. Unchanged advice: route them to a review-specific page eventually; they are not costing real money.

Zero-conversion spend: $39.00, 10% of keyword spend across 24 keywords — back down from 21% last week, in a week where orders rose +26%. The single largest item is drspa at $7.15 on 8 clicks (QS 8, 100.0% IS). That is the third consecutive week in which a different brand misspelling posts the week's largest zero — spadr, then thespadr, now drspa, each ~$15–20 on a handful of clicks. The rotation is the tell: this is small-sample churn among low-volume variants, not a keyword that has stopped working. Still not worth acting on.

Last week's actionable finding did not survive the week — say so plainly. W33 flagged that the ambiguous word-order variants spa doctor and dr spa were running at roughly 2x the $13 CPA target and recommended a modest bid trim. This week they came in at $15.85 and $12.93:

KeywordSpend Conv (platform)CPAISQS
the spa doctor$29.566.4$4.5889.8%10
dr spa$33.835.0$6.77100.0%10
the spa dr$71.838.0$8.9897.3%10
spa doctor$64.392.0$32.2090.5%10

dr spa is now inside target and spa doctor is ~20% over it, on $98.22 of combined spend. Do not make the bid trim. A one-week CPA gap on 3–4 conversions per keyword was never a stable signal, and the honest read is that last week's recommendation was a small-sample artefact — the same trap this report keeps flagging elsewhere. If the dispersion reappears for two consecutive weeks, revisit it then. Conversions here are platform figures (CDP is not available per keyword), so treat levels as directional throughout.

The money remains concentrated in QS-10 exact brand terms and they perform. the spa dr ($70.11 → 10 conv, $7.01 CPA), spa dr ($21.73 → 5 conv, $4.35) and the spa doctor ($37.66 → 3 conv, $12.55) carry the segment, at 97–99% IS with 1–3% lost to rank. There is no delivery problem to fix here.

Root Cause — Search Brand: flat delivery, better conversion, and one campaign carrying the other

What moved: spend -1.0% ($397.31 → $393.36), orders 34 → 43, revenue +21.9%. ROAS 6.11x → 7.53x — above the 7-week median of 6.11x; CPA $11.69 → $9.15 against a $13 target.

Step 1 — delivery was flat, so it explains nothing. Segment impression share 92.5% → 91.4%, impressions 1,615 → 1,914, CPC $0.80 → $0.75, clicks 497 → 524, and 0.0% of impression share lost to budget on every campaign. Nothing was bid and nothing was capped. The gain is conversion rate: CVR 6.84% → 8.21%.

Step 2 — the entire segment gain is SR_US_BR_SpaDr_Products, and CPC_Core went backwards underneath it. This is the one thing not to miss this week:

  • SR_US_BR_SpaDr_Products: orders 10 → 19, revenue $574.41 → $1,437.38 (+150%), ROAS 8.42x → 12.87x on $68.26 → $111.72. Impressions 380 → 593 at 81.1% → 85.1% IS. Unlike last week this is a clean full week — W34's reading was contaminated by a 4-day pause (Aug 14–17), which this report had to correct. There is no serving-day artefact here.
  • SR_US_BR_SpaDr_CPC_Core: orders 24 → 22, revenue $1,854.61 → $1,335.58 (-28.0%), ROAS 5.66x → 4.77x on $327.45 → $280.10 of spend. It served more impressions (1,224 → 1,286) for fewer clicks (394 → 367), with IS slipping 95.5% → 94.0%.

The segment total is a good week; the biggest brand campaign in the account had a poor one. CPC_Core is on the do-not-touch list so nothing changes on it, but a second consecutive down week turns this into a diagnosis — and the first place to look is the two RSAs that went live in it on Aug 21, since more impressions converting to fewer clicks is a creative signal before it is a bidding one.

Step 3 — the funnel widened at the top and improved at the bottom. Users 460 → 505, ATC 71 → 95 (rate 15.4% → 18.8%), checkouts 60 → 75, checkout completion 57% → 57%. Every step improved, which is rarer than it sounds and is the honest reason this reads as a clean week rather than a mix effect.

Step 4 — and the gain is new customers, not repeat buyers. Acquisition orders 18 → 29 (+61%) with acquisition revenue +56%, against returning orders 16 → 14. New users 258 → 284. This matters for how much credit to give the week: a gain concentrated in acquisition on rising new-user volume is harder to explain away as 1-day-click credit shuffling between channels than a repeat-buyer gain would be. It is the better of the two shapes. AOV fell -3.6% ($71.44 → $68.86), which is what a shift toward first-time buyers normally looks like.

Search Non-Brand SR_US_NB_SpaDr_Reviews
Search NB · 7-Week Trend · Jul 13–19 → Aug 24–30
▮ Orders (left)— CVR% (right)
▮ Revenue$ (left)— CPA$ (right)
▮ Spend$ (left)— ROAS (right)
▮ Clicks (left)— CTR% (right)
▮ AOV$ (left)— ROAS (right)
▮ CPC$ (left)— CTR% (right)

Segment Summary — CDP

WeekSpendOrders (CDP)Rev (CDP)ROASCPACVRAOVCPCClicks
Aug 17–23$276.766$427.911.55x$46.134.88%$71.32$2.25123
Aug 24–30$362.3311$820.882.27x$32.946.88%$74.63$2.26160
WoW+30.9%+83.3%+91.8%+46.5%-28.6%+40.9%+4.6%+0.6%+30.1%

Campaign Breakdown — CDP

CampaignSpend Aug 17–23Spend Aug 24–30WoWOrd BOrd ARev Aug 17–23Rev Aug 24–30WoWROAS BROAS ACPA A
SR_US_NB_SpaDr_Reviews$276.76$362.33+30.9%611$427.91$820.88+91.8%1.55x2.27x$32.94
Root Cause — Search NB (Reviews): the expansion paid this time, at a 4.6x marginal ROAS

What moved: spend $276.76 → $362.33 (+30.9%), orders 6 → 11, revenue $427.91 → $820.88 (+91.8%). ROAS 1.55x → 2.27x, CPA $46.13 → $32.94 against a $90 target.

The marginal read is again the one that matters, and it flipped. The extra 37 clicks cost $85.57 and returned $392.97 — a marginal ROAS of 4.59x. Last week the same calculation came out near 1.0x and this report concluded “the increment is not paying — do not raise the CPC cap.” That call is reversed this week, and it is stated here rather than quietly dropped because the earlier recommendation is on the record. Two weeks of a marginal test disagreeing is itself the honest summary: on 11 orders, a single week's marginal ROAS is a noisy estimator, which is why the recommendation below is one step rather than removing the cap.

Where the extra clicks came from: more demand this week, not just more CTR. Impressions rose 971 → 1,309 (+34.8%) at an identical 83.2% impression share, and CPC was flat ($2.25 → $2.26). Identical IS on more impressions means we did not win a bigger slice — the pie grew. The addressable review-query pool went 1,167 → 1,574 queries. That is the opposite of last week, when the pool shrank and we took a more clickable slice of it — and it is a reason for caution, because a demand-driven gain recedes when demand recedes.

The funnel agrees, at this volume. Users 105 → 138 (+31%), ATC 17 → 19, checkouts 13 → 17, checkout completion 46% → 65%, AOV $71.32 → $74.63. Every leg improved, which is the reverse of last week — but on 11 orders read the direction, not the magnitude.

Per the runbook's Reviews rule, the constraint is confirmed as the bid. Budget-lost impression share is 0.0% — and 0.0% on every one of the last 15 days — while 16.8% is lost to rank. Google's own campaign status names it: BIDDING_STRATEGY_LIMITED, not BUDGET_CONSTRAINED. Do not raise the budget. Raise the CPC cap by one step once the account suspension clears, and measure the result on Top IS and lost-to-rank rather than on impressions, which are moving on their own. Full workings and the daily impression-share series are in the dedicated Reviews Impression Share section.

Shopping Brand PPT_ACQ_VOLUME_CBO_WK45 · HairMask_NightCream
Shopping Brand · 7-Week Trend · Jul 13–19 → Aug 24–30
▮ Orders (left)— CVR% (right)
▮ Revenue$ (left)— CPA$ (right)
▮ Spend$ (left)— ROAS (right)
▮ Clicks (left)— CTR% (right)
▮ AOV$ (left)— ROAS (right)
▮ CPC$ (left)— CTR% (right)

Segment Summary — CDP

WeekSpendOrders (CDP)Rev (CDP)ROASCPACVRAOVCPCClicks
Aug 17–23$98.9915$1,101.1211.12x$6.607.46%$73.41$0.49201
Aug 24–30$116.6017$1,144.439.82x$6.867.59%$67.32$0.52224
WoW+17.8%+13.3%+3.9%-11.8%+3.9%+1.7%-8.3%+5.7%+11.4%

Campaign Breakdown — CDP

CampaignSpend Aug 17–23Spend Aug 24–30WoWOrd BOrd ARev Aug 17–23Rev Aug 24–30WoWROAS BROAS ACPA A
SHP_TSD_US_PPT_ACQ_VOLUME_CBO_WK45$98.99$116.60+17.8%1517$1,101.12$1,144.43+3.9%11.12x9.82x$6.86
Root Cause — Shopping Brand: more spend, more traffic, more orders — but ROAS gave a little back on AOV

What moved: spend $98.99 → $116.60 (+17.8%), orders 15 → 17 (+13%), revenue +3.9%. ROAS 11.12x → 9.82x and CPA $6.60 → $6.86 against a $13 target — still the best segment in the account on both measures, for the fourth week running.

Spend rose faster than revenue, and that is the whole ROAS story. Orders and traffic both grew; revenue grew less than spend because AOV fell 8.3% ($73.41 → $67.32). On 17 orders AOV oscillates week to week and should not be narrated as a trend in either direction — it spiked two weeks ago and gave it back this week. The level that matters is that this campaign has held above 9x for four consecutive weeks after three months in the 2s.

The funnel widened at every step. Users 172 → 193 (+12%), ATC 26 → 33, checkouts 24 → 24, click→order CVR 7.46% → 7.59%, checkout completion 62% → 71%. Nothing narrowed.

Delivery is rank-limited, not budget-limited — and the auction itself is the binding constraint. Impressions 19,783 → 18,899, clicks 201 → 224. The campaign is TARGET_SPEND on a $100/day budget while spending $17/day, at 23.8% impression share with 0.0% lost to budget. Raising the budget buys nothing. Note the impression series — 31,522, 41,402, 45,820, 31,330, 19,424, 19,783, 18,899 — that is not us pulling back, it is the addressable pool halving. The dedicated Shopping Brand deep-dive below decomposes all of it.

Two things happened inside this week that affect how it should be read. The CPC bid ceiling was raised $0.70 → $0.80 on Aug 27, and the campaign now reports BIDDING_STRATEGY_LEARNING — so week A is a blend of before and after, and the higher CPC ($0.49 → $0.52) and higher spend are partly that change rather than a market move. Do not stack another change on it for two weeks.

⭐ Shopping Brand — what actually changed in the last 3–4 weeks (special request)

🔴 Google Ads

The question was: did we pause products, or change landing pages? The answer is both — and a third thing nobody changed on purpose. Shopping Brand ROAS (CDP) ran 2.1x → 5.2x → 10.3x → 11.1x → 9.8x across the last five weeks and platform CPA went $17.20 → $5.06, while spend fell from $258/wk to $116/wk. Three separate things did it, in this order:

  1. A landing-page swap on the Hair Serum, in the week of Jul 27. The SKU tsd-hair-2200-50ml-lp2 moved off thespadr.com/pages/hairserum/lp1-lead-offershort-list-tox and onto offer.thespadr.com/pages/hairserum/lp1-offerpacks. The old page had been decaying for six straight weeks — 11.7x → 7.5x → 6.6x → 4.6x → 4.9x → 2.4x. The new page has done the opposite ever since: 4.7x → 6.0x → 10.2x → 7.9x → 12.8x. This is the largest of the three effects and the only one we can repeat.
  2. Two products stopped serving, after the week of Jul 20. tsd-fce-3102-50ml (Night Cream) and 8510639177926 (Hair Mask) — the whole SHP_TSD_US_BR_HairMask_NightCream_PURCHASE campaign went dark. Together they burned $409.63 in the prior four weeks and returned $353.70: 0.86x. Removing them lifts blended Shopping-Brand ROAS mechanically, before any per-product improvement.
  3. The auction pool itself halved — and this one was not a deliberate change. Impressions on WK45 fell 45,820 → 18,899 (-59%) while impression share barely moved (28.2% → 23.8%). Impressions ÷ IS gives the addressable pool: 162,413 → 79,488. We did not bid our way out of the auction — the auction got smaller. Conversions rose anyway (15 → 22.9), so the half of the pool we lost was worth nothing.

Why the distinction matters for “keep pushing this”: only #1 is a repeatable lever. #2 is one-time — the waste is already gone and cannot be removed twice. #3 is not ours to control, and it is the reason the campaign cannot simply be scaled back up: the impressions are not there to buy at any bid.

Weekly platform series — SHP_TSD_US_PPT_ACQ_VOLUME_CBO_WK45

Conversions and value in this table are platform, used only to trace the week-by-week mechanism; every business number elsewhere in this report is CDP. “Pool” = impressions ÷ impression share = the addressable auction.

WeekImprPoolISClicks CPCCostConvCPAROAS
Jun 2222,33989,67624.9%180$0.52$94.1019.5$4.8310.34x
Jun 2923,85182,64028.9%241$0.54$130.7412.5$10.486.06x
Jul 626,59895,77827.8%254$0.55$139.0618.5$7.527.24x
Jul 1331,522110,63328.5%308$0.61$187.1521.0$8.914.98x
Jul 2041,402150,62327.5%389$0.61$238.3515.0$15.893.45x
Jul 2745,820162,41328.2%410$0.63$257.9515.0$17.203.60x
Aug 331,330127,70424.5%279$0.55$153.6619.0$8.096.82x
Aug 1019,42484,40223.0%215$0.46$98.9616.5$6.009.73x
Aug 1719,78383,54023.7%200$0.49$98.2217.0$5.789.29x
Aug 2418,89979,48823.8%223$0.52$116.1822.9$5.0611.05x

The campaign that went dark — SHP_TSD_US_BR_HairMask_NightCream_PURCHASE

WeekImprPoolISClicks CPCCostConvCPAROAS
Jun 295,13734,49714.9%29$2.42$70.274.5$15.543.66x
Jul 610,59762,19417.0%82$2.41$197.625.0$39.521.08x
Jul 1317,752110,08716.1%86$1.77$152.292.0$76.140.79x
Jul 202,45624,58510.0%14$4.27$59.720.5$119.440.32x

Its last serving week was Jul 20 at 0.32x on a $119 CPA. Pausing it was not controversial; it is recorded here because it accounts for part of the blended lift and should not be mistaken for the landing-page effect.

Product level — last 4 weeks (Aug 3–30) vs prior 4 weeks (Jul 6–Aug 2)

Product ImpressionsCost Conv (platform)ROAS
Prior 4WL4WPrior 4WL4W Prior 4WL4WPrior 4W L4W
tsd-hair-2200-50ml-lp2
The Spa Dr. | Hair Serum with free Scalp Massager |
89,86467,098$529.69$356.3244.051.84.77x8.81x
tsd-srm-3500
The Spa Dr. | Age-Defying Serum for Visibly Younger
55,47822,338$292.82$110.7025.523.73.96x9.64x
tsd-fce-3102-50ml
Best Night Cream for Aging Skin | 1 Unit
27,577—$330.18—5.5—0.85xPAUSED
8510639177926
The Spa Dr. | Nourishing Hair Mask | 250ml
3,228—$79.45—2.0—0.93xPAUSED

Read the two survivors, not only the two departures. tsd-hair-2200-50ml-lp2 did $3,139 on $356 in the last four weeks, against $2,529 on $530 before — more revenue on a third less spend. That is the landing page, not the mix. tsd-srm-3500 is the opposite shape: revenue roughly flat ($1,160 → $1,067) on -62% spend and the same landing page throughout — that one is pure reach contraction, which makes it a clean control for effect #3.

Landing pages by week — Shopping only (cost, ROAS beneath)

Landing pageJun 22Jun 29Jul 6Jul 13Jul 20Jul 27Aug 3Aug 10Aug 17Aug 24
thespadr.com/pages/hairserum/lp1-lead-offershort-list-tox$63
11.7x
$91
7.4x
$103
6.6x
$108
4.6x
$143
4.9x
$80
2.4x
————
thespadr.com/pages/serum/lp1-offer-mix-2$31
7.5x
$39
2.8x
$36
9.0x
$79
5.4x
$95
1.3x
$83
3.4x
$32
10.0x
$20
8.0x
$20
14.9x
$38
7.4x
offer.thespadr.com/pages/hairserum/lp1-offerpacks—————$95
4.7x
$121
6.0x
$79
10.2x
$78
7.9x
$78
12.8x
thespadr.com/products/the-spa-dr-youthful-firming-night-cream—$51
4.3x
$171
1.2x
$129
0.6x
$30
0.0x
—————
thespadr.com/products/the-spa-dr-nourishing-hair-mask—$20
2.0x
$27
0.5x
$23
1.7x
$30
0.6x
—————

The handover from lp1-lead-offershort-list-tox to offer.thespadr.com/…/lp1-offerpacks shows up as the diagonal in the week of Jul 27 — the only week both pages carry spend.

How to keep pushing this — five steps, in order
  1. Do not touch it for two weeks. The CPC bid ceiling was raised $0.70 → $0.80 on Aug 27 (web UI, carlos.carrero@trafilea.com) and the campaign now reports BIDDING_STRATEGY_LEARNING. That change sits inside week A and its effect is not yet readable. Stacking a second change now makes both unattributable.
  2. Apply the landing-page pattern to tsd-srm-3500, which never got it. The Age-Defying Serum still points at thespadr.com/pages/serum/lp1-offer-mix-2 — a standard product page, not an offer-pack page. Moving the Hair Serum to an offer-pack page roughly doubled its ROAS on the same traffic. This is the single repeatable lever left, and it is a landing-page test, not a bid change.
  3. Stop trying to scale it on budget. Budget is $100/day against $17/day of actual spend, and budget-lost IS is 0.0%. The constraint is 76.2% lost to rank into a pool that has halved. Raising the budget buys nothing.
  4. Find out why the pool halved — this is a Merchant Center question, not a Google Ads one. Check disapprovals, price competitiveness and shipping on the two live SKUs. If the pool comes back at today's conversion rate, that is the only route to more volume at this ROAS.
  5. Re-test the two paused SKUs against the new landing-page pattern before writing them off. The Night Cream ran at 0.85x on its own product page — the same setup the Hair Serum was losing money on before the swap. It may have been a landing-page failure that got diagnosed as a product failure.

⭐ Reviews campaign — Impression Share (special request — new standing section)

🔴 Google Ads

SR_US_NB_SpaDr_Reviews. Impression share exists only in the platform — it is not a CDP field — so this whole section is Google Ads data. The orders, revenue and ROAS quoted alongside it remain CDP. The campaign is named _NB_ but its queries (“the spa dr reviews”, “is the spa dr legit”) are brand-research intent, which is why it also sits inside the brand-demand series in the Halo section.

The one thing to take from this section: the wall is the bid, and it has been the bid every single day. Budget-lost impression share is 0.0% on all 15 days shown below — the $140/day budget has never once been the constraint against ~$52 /day of actual spend. Everything we are not winning is lost to rank: 16.8% this week. Google's own campaign status agrees and names it: BIDDING_STRATEGY_LIMITED, not BUDGET_CONSTRAINED.

And this week the marginal economics finally justify pushing on it. Spend went $276.76 → $362.33 (+31%), buying 37 extra clicks for $85.57 and returning $392.97 — a 4.59x marginal ROAS. Segment ROAS 1.55x → 2.27x, CPA $46.13 → $32.94 against a $90 target, orders 6 → 11. This reverses last week's call. W34 said “the incremental spend is not paying — do not raise the CPC cap” on a marginal ROAS near 1.0x. At 4.6x, the same test now passes. Stated plainly because the earlier recommendation is in writing.

The demand caveat that keeps this honest. Impressions rose 971 → 1,309 (+35%) at an identical 83.2% impression share. Identical IS on more impressions means we did not win more of the auction — the auction grew. The addressable pool went 1,167 → 1,574. Brand-research demand for TSD is up +35%, and that is an upper-funnel read, not a Reviews-campaign achievement. If that demand recedes, so does this week's volume.

Weekly — impression share, and where the rest of the pool goes

“Demand pool” = impressions ÷ IS: the full addressable brand-research query volume, independent of our own bidding. Lost-to-rank is the headroom a bid change could buy; lost-to-budget is the headroom a budget change could buy.

WeekImprDemand poolSearch IS Top ISAbs Top ISLost→RankLost→BudgetClicksCPC Cost
Jul 1360085170.5%55.3%42.2%29.5%0.0%69$1.88$130.02
Jul 209451,27374.3%61.1%46.5%25.7%0.0%105$2.07$217.68
Jul 279421,23176.5%58.9%45.7%23.5%0.0%89$2.08$185.34
Aug 38811,17475.1%62.1%45.8%24.9%0.0%100$2.12$212.49
Aug 101,0211,32277.2%61.6%45.0%22.8%0.0%95$2.25$213.99
Aug 179711,16783.2%70.5%56.5%16.8%0.0%123$2.25$276.76
Aug 241,3091,57483.2%68.8%58.4%16.8%0.0%160$2.26$362.33

IS has climbed steadily — 70.5% → 83.2% across the window — while lost-to-budget has never left 0.0%. Top-of-page and absolute-top shares are the number to watch if the cap is raised: they are what a higher bid actually buys.

Daily — last 15 days (week A highlighted)

DayImprSearch ISTop IS Lost→RankLost→Budget
Mon Aug 1710686.6%67.1%13.4%0.0%
Tue Aug 188680.8%67.5%19.2%0.0%
Wed Aug 1911985.6%72.2%14.4%0.0%
Thu Aug 2015187.1%75.0%12.9%0.0%
Fri Aug 2118983.8%73.4%16.2%0.0%
Sat Aug 2215586.6%72.4%13.4%0.0%
Sun Aug 2316575.2%65.0%24.8%0.0%
Mon Aug 2417383.8%74.3%16.2%0.0%
Tue Aug 2513176.2%67.0%23.9%0.0%
Wed Aug 2618581.1%64.9%18.9%0.0%
Thu Aug 2717276.8%56.3%23.2%0.0%
Fri Aug 2820386.9%74.5%13.1%0.0%
Sat Aug 2921389.5%73.7%10.5%0.0%
Sun Aug 3023285.5%70.2%14.5%0.0%

Daily CPC sat in a $2.15–$2.33 band across all 15 days. A CPC that flat, on impressions that swing from 86 to 232, is the signature of a hard cap rather than an auction finding its own level — which is the mechanical confirmation of BIDDING_STRATEGY_LIMITED.

Keywords — week A, by impressions

KeywordMatchQSImpr Search ISLost→RankClicksCPCCostConv
the spa dr hair serum reviewsEXACT752691.7%8.3%71$2.28$161.615.0
dr spa hair serum reviewsEXACT711873.9%26.1%7$2.24$15.650.0
the spa doctor hair serum reviewsEXACT810190.0%10.0%11$2.21$24.350.0
the spa dr reviewsEXACT86391.9%8.1%6$2.27$13.602.0
spa dr hair serum reviewsEXACT64994.1%5.9%6$2.11$12.640.0
spa dr reviewsEXACT84596.2%3.8%9$2.29$20.570.0
spa doctor reviewsEXACT84278.1%21.9%6$2.21$13.260.0
the spa doctor reviewsEXACT63381.8%18.2%4$1.97$7.891.0
the spa dr hair serum reviews redditEXACT63042.1%57.9%2$2.27$4.530.0
spa dr serum reviewsEXACT82981.8%18.2%3$2.29$6.870.0
the spa dr age defying serum reviewsEXACT62493.8%6.2%5$2.27$11.361.0
the spa dr serum reviewsEXACT62492.9%7.1%4$2.33$9.312.0
is spa dr legitEXACT52085.7%14.3%4$2.39$9.560.0
does the spa dr hair serum workEXACT52064.0%36.0%1$2.38$2.380.0

Search terms — week A, by cost

Search termImprClicksCost ConvValue
the spa dr hair serum reviews52671$161.615.0$286.73
the spa doctor hair serum reviews10011$24.350.0$0.00
spa dr reviews387$16.230.0$0.00
the spa dr reviews636$13.602.0$64.52
spa dr hair serum reviews456$12.640.0$0.00
the spa dr age defying serum reviews225$11.361.0$24.55
spa doctor hair serum reviews174$9.331.0$75.05
thespadr reviews134$9.271.0$28.60
the spa doctor reviews304$7.891.0$46.29
the spa dr serum reviews183$6.952.0$93.57
the spa dr skin care reviews62$4.740.0$0.00
the spa dr reviews72$4.620.0$0.00
spa doctor reviews162$4.590.0$0.00
the spa dr hair serum reviews reddit252$4.530.0$0.00
Recommendation

Raise the bid cap on this campaign — but only once the account suspension is resolved, and by one step, not to the ceiling. The case: budget-lost IS is 0.0% every day (so budget is not the lever), 16.8% is lost to rank (so there is real headroom), the marginal ROAS on this week's own expansion was 4.59x, and CPA at $32.94 sits far inside the $90 target.

Two guardrails. First, the demand pool grew +35% this week on its own — some of the gain is upper-funnel, not the campaign, so measure the next step against Top IS and lost-to-rank rather than against raw impressions, which will move whether we act or not. Second, this campaign has one bad habit on record: the agent file's standing rule is “do not scale at below 1x ROAS”. It is at 2.27x now, but it was at 1.55x last week and 0.8x six weeks ago — its 7-week ROAS series reads 0.8x, 1.6x, 1.4x, 2.4x, 2.0x, 1.5x, 2.3x. One good week is a reason to take one step, not to remove the cap.

Campaign Breakdown — Microsoft Ads

🟦 Microsoft Ads

Bing reports Sun–Sat: Week A = Aug 23–29, Week B = Aug 16–22.

Bing Search Brand CPC_Core · Products · Modifiers
Bing Search Brand · 7-Week Trend · Jul 13–19 → Aug 24–30
▮ Orders (left)— CVR% (right)
▮ Revenue$ (left)— CPA$ (right)
▮ Spend$ (left)— ROAS (right)
▮ Clicks (left)— CTR% (right)
▮ AOV$ (left)— ROAS (right)
▮ CPC$ (left)— CTR% (right)

Segment Summary — CDP

WeekSpendOrders (CDP)Rev (CDP)ROASCPACVRAOVCPCClicks
Aug 17–23$57.170$0.000.00x$0.000.00%$0.00$1.2247
Aug 24–30$43.916$413.079.41x$7.329.52%$68.84$0.7063
WoW-23.2%+100.0%+100.0%+100.0%+100.0%+100.0%+100.0%-42.7%+34.0%

Campaign Breakdown — CDP

CampaignSpend Aug 17–23Spend Aug 24–30WoWOrd BOrd ARev Aug 17–23Rev Aug 24–30WoWROAS BROAS ACPA A
SR_US_BR_SpaDr_CPC_Core$42.77$28.79-32.7%03$0.00$178.71+100.0%0.00x6.21x$9.60
SR_US_BR_SpaDr_Modifiers$11.76$7.60-35.4%03$0.00$234.36+100.0%0.00x30.84x$2.53
SR_US_BR_SpaDr_Products$2.64$7.52+184.8%00$0.00$0.00+0.0%0.00x0.00x—
Root Cause — Bing Search Brand: last week's zero was noise, and it is now closed.

What moved: orders 0 → 6, revenue $0.00 → $413.07, ROAS 0.00x → 9.41x — on -23.2% less spend ($57.17 → $43.91). CPA $7.32 against a $13 target.

This closes last week's open item, and it closes it the way the report predicted. W34 diagnosed the zero-order week as Poisson noise on a 4–7 orders/week base rather than a UET tag failure, and set one test: “watch for a second consecutive zero-order week; if W35 also comes in at 0 with ATC near zero, then check UET tag health.” W35 came in at 6 orders with 7 add-to-carts. No UET investigation is needed. Item closed, no action taken and none required.

Worth recording why the diagnosis held, because the same call will come up again on a segment this small. The W34 reasoning was structural, not statistical hope: a broken order tag drops orders while ATC and checkout keep firing, and last week the whole funnel thinned in proportion instead — which points at demand, not measurement. The two days immediately outside Bing's Sun–Sat window converted normally, which no tag failure would allow. Both signals said “quiet week”, and it was one.

Delivery this week. Clicks 47 → 63 (+34.0%), impressions 1,154 → 2,240, CTR 4.07% → 2.81%, CPC $1.22 → $0.70 (-43%). Fewer, cheaper, better-converting clicks — the reverse of last week on every leg. Campaign level: CPC_Core 0 → 3 orders at 6.21x, Modifiers 0 → 3 at 30.84x on $7.60, Products 0 orders on $7.52.

Put the week in context before anyone reads 9.41x as a scaling signal. Bing brand orders across the window ran 6, 4, 4, 4, 7, 0, 6 and ROAS ran 5.6x, 2.9x, 3.9x, 1.8x, 5.8x, 0.0x, 9.4x on $6–$8/day. A segment that swings 0 → 9.4x on six orders is noise in both directions. Action: none. CPC_Core stays on the do-not-touch list, and this week is no more a reason to scale Bing than last week was a reason to cut it.

Google NB PMax — PMAX_US_NB_TSD_Serum_HairSerum

Status: PAUSED — 5 consecutive dark weeks. The campaign ran 2026-06-27 → 2026-07-22 and has spent $0 in every week since, including both weeks in this report. Nothing changed and there is nothing new to measure; the figures below are its full lifetime run, retained because they are the evidence base for the relaunch question — and that question got sharper again this week. Demand Gen was relaunched instead of PMax and has now taken $5,853 lifetime at 0.041x, against PMax's 0.32x. Both are under the 0.50x target; PMax is seven times closer to it, reaches Search inventory rather than Discover alone, and produced 7 CDP purchases on roughly a third of the spend.
Lifetime Spend
$1,590
Jun 27 – Jul 22
CDP Orders
7
vs 22 platform "conv"
CDP Revenue
$510
revenue_1dc
CDP ROAS
0.32x
target 0.50x
CDP CPA
$227
target $120
ATC Rate
2.05%
vs Shopping 7.91%
Clicks
1,930
1,463 users
Asset Strength
AVERAGE
both groups
NB PMax · 7-Week Trend · Jul 13–19 → Aug 24–30
▮ Orders (left)— CVR% (right)
▮ Revenue$ (left)— CPA$ (right)
▮ Spend$ (left)— ROAS (right)
▮ Clicks (left)— CTR% (right)
▮ AOV$ (left)— ROAS (right)
▮ CPC$ (left)— CTR% (right)

Network Split — full run (platform)

NetworkImprClicksCostCPC Plat ConvPlat ValuePlat ROAS
SEARCH6,536173$752$4.354.9$3510.47x
DISCOVER17,8811,606$656$0.4116.1$1,1411.74x
YOUTUBE12,645147$176$1.202.0$580.33x
SEARCH_PARTNERS696$7$1.170.0$00.00x

Conversions/value in this table are platform figures (per-network CDP is not available) and are inflated by micro-events. The real number is 7 CDP orders / $510 across all networks.

Read — Search ate half the budget and barely converted

SEARCH took $752 (47% of spend) for 173 clicks — a $4.35 CPC, more than 10x the $0.41 CPC on DISCOVER. DISCOVER delivered 1,606 clicks for $656 and carried most of what conversion signal there was. YOUTUBE spent $176 for 147 clicks and 2 platform conversions.

Verdict vs the Bleeding Rule: $1,590 spent, 7 CDP purchases, 0.32x ROAS against a 0.50x target. Under target, but not zero — and after another full week of Demand Gen data it remains the better of the two non-brand engines by a wide margin: 0.32x lifetime vs Demand Gen's 0.041x lifetime, and an ATC rate of 2.05% vs 1.05% — roughly 2.0x the commercial intent per visitor. PMax also produced 7 purchases on $1,590 while Demand Gen has produced 4 on $5,853. If a non-brand channel is going to run, the evidence says it should be this one.

Two fixes before any relaunch: (1) both asset groups are rated AVERAGE ad strength — a cheap, direct quality win; (2) the Search network's $4.35 CPC needs a brand-term exclusion check, because NB PMax bidding against semi-brand queries is the classic way this campaign wastes half its budget.

Google Demand Gen (Discovery) — DGEN_US_NB_TSD_HairSerum_Discovery

Status: LIVE, trimmed 9%, and still unambiguously Critical Waste. A full week of delivery took $1,292.83 ($185/day against a $200/day budget, -9% WoW) and returned 1 CDP order / $34.99 — 0.03x against a 0.50x target and a $1,293 CPA against $120. Lifetime: $5,853, 13,880 clicks, 12,678 users landed, 4 orders, $240.94 — 0.041x. Last week's report asked for a decision; it was not taken. The campaign was trimmed -9% and left running, which is neither of the two options on the table. It is now 141% larger than the entire core-paid budget that produced 77 orders at 5.83x.
⚠ Scaling it was the experiment, and it returned a clean negative

Week B was four days at $356/day; week A was seven days at $185/day. If the previous week's near-zero return had been a learning-window or sample-size artefact, more volume at the same price should have improved it. It did not:

MetricAug 17–23 (4 days) Aug 24–30 (7 days)WoW
Spend$1,425.72 $1,292.83-9.3%
Clicks3,335 3,800+13.9%
CPC$0.43 $0.34-20.4%
Users landed3,057 3,539+15.8%
Add-to-carts33 56+69.7%
Checkouts1019 +90.0%
CDP orders 11 +0.0%
CDP revenue $34.99$34.99 +0.0%
ROAS0.02x 0.03x +10.3%

Read it as a rate, not a total. ATC per 1,000 users went 10.8 → 15.8 — the top of the funnel did scale roughly proportionally, and slightly better. But checkout completion collapsed 10% → 5%, and orders went the wrong way in absolute terms. The traffic reaches the site, shows a trickle of intent, and does not buy — at 4 days or at 7.

Note on the source_category merge, since it is now standard. CDP splits this campaign across two source_category values — Google Discovery carries spend, clicks and impressions with no site-side events; Google Display carries users, ATC, checkouts, orders and revenue with zero spend. tsd_wow_bundle.py merges them at fetch time (fixed in the W33 build after the W31/W32 reports wrongly stated "0 CDP orders on every attribution window"). Verified again for this week: every Google Display row belongs to this campaign. The funnel numbers above are complete; there is no hidden conversion data.

Spend (Aug 24–30)
$1,293
7 days live
CDP Orders
1
vs 2,659 platform "all_conv"
CDP Revenue
$34.99
revenue_1dc
CDP ROAS
0.03x
target 0.50x
CDP CPA
$1,293
target $120
Users landed
3,539
on 3,800 clicks
ATC rate
1.58%
vs 18.8% Search Brand
CPC
$0.34
CTR 16.92%
Daily delivery — Aug 24–30
▮ Spend $ (left) — Clicks (right)
▮ Impressions (left) — CTR % (right)

Daily — Aug 24–30

DateImprClicksCTRCPC CostPlatform all_conv
2026-08-242,99356218.78%$0.34$189.16432
2026-08-253,37456616.78%$0.33$189.10395
2026-08-263,95755013.90%$0.34$186.11370
2026-08-273,60355315.35%$0.34$189.88440
2026-08-282,91153418.34%$0.34$184.09329
2026-08-292,85151918.20%$0.34$177.24356
2026-08-302,77051618.63%$0.34$177.26339

Platform all_conv is shown only to make the point: it reports 2,659 "conversions" for the week against 1 real CDP orders. It is Product-View and ATC micro-events. Never quote it.

Ad Groups — Aug 24–30

Ad GroupStatusImprClicks CTRCostCPC
AG1_InMarket_HairCareENABLED22,4483,79916.92%$1,292.50$0.34
AG3_CustomIntent_ThickerHairENABLED1119.09%$0.34$0.34
AG6_RiskLaneREMOVED000.00%$0.00—
AG2_Affinity_CleanBeautyPAUSED000.00%$0.00—

Ad Format — Aug 24–30

FormatImprClicksCTR Cost
DEMAND_GEN_MULTI_ASSET_AD22,4593,80016.92%$1,292.84
DEMAND_GEN_VIDEO_RESPONSIVE_AD000.00%$0.00
Root Cause — the click arbitrage works; the traffic does not buy

The click side is genuinely cheap and it is not broken. 22,460 impressions, 3,800 clicks, 16.92% CTR at a $0.34 CPC — the same CPC as last week ($0.43) at +14% the volume, so the buy scaled without price inflation. Delivery held between 13.9% and 18.6% CTR on six of the seven days. Aug 23 broke the pattern: impressions collapsed 2,851 → 2,770 while clicks rose 519 → 516, so CTR jumped to 18.6% at the same $177 of spend — a placement or inventory shift, not a creative change. It bought the week's cheapest clicks ($0.34) and still produced no orders, which is the point: nothing about the media buy is failing. The buy is fine; the traffic does not convert.

Tracking is not the excuse this time, and now we can prove it. CDP recorded 3,539 users on 3,800 clicks — a 93% capture rate, in line with any other channel. The offer.thespadr.com cross-domain handoff fires. The visitors arrive and are seen.

The failure is entirely intent. Add-to-cart rate this week:

SegmentUsersATC ATC rateCheckoutsOrders
Demand Gen3,539 561.58% 191
Search Brand505 9518.81%75 43
Shopping Brand193 3317.10%24 17
Search NB (Reviews)138 1913.77% 1711

1.58% against 18.8–17.1% — roughly 12x weaker. Demand Gen sent more visitors to the site this week than every other channel in this report combined (3,539 vs 886) and produced 56 add-to-carts. The advertorial funnel buys attention at $0.34 and converts almost none of it into purchase intent.

It is not a learning-window argument any more. The campaign has now spent in 6 separate weeks since Jul 13 (Jul 13–19: $791, Jul 20–26: $1,358, Jul 27–Aug 2: $69, Aug 10–16: $916, Aug 17–23: $1,426, Aug 24–30: $1,293), 13,880 clicks and $5,853 in total, for 4 orders. The ATC rate is flat across all of them (1.05% lifetime vs 1.58% this week) — it is not trending toward viability. The most recent week is also the largest and one of the worst (0.03x on $1,293), which is the opposite of a learning curve.

Ad-group note — and a correction to last week. Previous reports said AG3_CustomIntent_ThickerHair had never served. This week it did: 11 impressions, 1 clicks, $0.34. Its CTR is 9.09% against 16.92% for AG1_InMarket_HairCare — roughly six times worse. So the custom-intent audience is no longer untested: it finally got impressions and the creative does not land on it. That removes the last "we never tried the other audience" argument for keeping the current build alive. AG2_Affinity_CleanBeauty is PAUSED and AG6_RiskLane is REMOVED. The video ads remain dead weight on a click goal (0 impressions all week).

⚠ Recommendation — pause now, rebuild later. This is the third week of asking.

Under the Bleeding Rule (>$50 spend with ~0 conversions in 30 days = Critical Waste), this campaign qualifies many times over: $5,853 for 4 orders. At the current $185/day it will add roughly $5,541 over the next 30 days on this evidence. Last week's report asked for a decision; instead spend was trimmed 9% to $185/day and the campaign was left running — which is neither of the two options that were on the table, and the return did not improve.

Recommendation: pause it, and rebuild rather than re-enable. The problem was never traffic volume or click price — both are excellent and the scale test proved they hold. It is that the advertorial funnel converts roughly 12x worse than everything else in the account, and the one untested audience (AG3) has now been tested and failed on CTR. A relaunch needs a different landing experience and offer, the video ads dropped, and a fresh creative set — not the same build restarted. If a non-brand engine is wanted before that work is done, NB PMax is the better candidate on the evidence (0.32x lifetime vs 0.041x, 2.05% ATC rate vs 1.05%).

The halo argument is now closed, and it was the strongest thing this campaign had. Last week's report flagged one legitimate counter-argument — the campaign may generate brand demand that CDP's 1-day-click window cannot see — and set a test for it. The test failed. The apparent recovery in SR_US_BR_SpaDr_Products impressions was the campaign being paused Aug 14–17, not demand returning; per serving day the series kept falling. Three further tests agree: switching Demand Gen off in July did not lower brand demand, the Aug-13 switch-on moved Core brand demand +2.3% and Products −22.6%, and the correlation vanishes on first differences. To break even at 1.0x the halo would have to be worth ~19 extra brand orders a week, 57% of everything Search Brand produces; the measured effect is −4.8%. See the Halo Effect section for all four tests and the blended P&L. Decide this on the direct-response numbers alone.

If a full pause is not acceptable this week, the fallback is a hard cap, not the status quo: cut the daily budget to ~$50/day, keep AG1 only, and use W35 to see whether the Products halo holds at lower spend. That preserves the one measurement worth having while cutting the burn ~75%. Leaving it at $185/day for a third week is the one option with no argument behind it.

⭐ Demand Gen — result of the new YouTube Feed placement (special request)

🔴 Google Ads
Verdict: the placement is switched on and is not winning inventory. YouTube In-Feed was added to AG1_InMarket_HairCare on Aug 26 at 13:29 (web UI, carlos.carrero@trafilea.com; the same edit added Gmail to AG3_CustomIntent_ThickerHair). In the six days since, YouTube has served 23 impressions, 0 clicks, $0.05 — against 18,931 impressions and $1,084.89 on Discover over the identical window. That is 0.12% of delivery. There is no result to read yet because there is no delivery.
But we already have the answer from four days earlier — and it is not encouraging

YouTube did serve properly once, on AG3_CustomIntent_ThickerHair, across Aug 20–23: 10,181 impressions, 185 clicks, $76.22. That is a real sample, and the economics were poor on the one metric this campaign is built around:

This campaign is a click-billed advertorial arbitrage: the whole model is buying cheap attention and pushing it to offer.thespadr.com. A placement with a 8x worse click-through rate at a higher CPC is the wrong shape for it, independent of whether it converts. The Aug 20–23 window is the result; the Aug 26 re-enable is a non-event.

Before vs after the Aug 26 change — by network

Pre = Aug 20–25, Post = Aug 26–31 (six days each). Demand Gen has no placement or channel resource in the Google Ads API; segments.ad_network_type is the only split available, and it maps YouTube In-Feed to YOUTUBE and Discover/Gmail to DISCOVER. Conversions are omitted deliberately — platform conversions on this campaign are inflated micro-events, and CDP recorded 1 order for the whole week.

Network ImpressionsClicks CTRCPC Cost
PrePostPrePost PrePostPrePost PrePost
Discover19,47018,9313,0323,16015.57%16.69%$0.37$0.34$1,114.16$1,084.89
YouTube (In-Feed)10,1812318501.82%0.00%$0.41$0.00$76.22$0.05

Discover was unaffected, which is the one piece of good news: impressions 19,470 → 18,931, CTR 15.57% → 16.69%, CPC $0.37 → $0.34. Adding the placement did not cannibalise the channel that actually delivers — it simply added nothing.

Daily by network — Aug 17 onwards (post-change highlighted)

Day YouTube (In-Feed)Discover
ImprClicksCTRCost ImprClicksCTRCost
Mon Aug 174824.17%$1.095,4204628.52%$201.25
Tue Aug 182613.85%$0.623,9153559.07%$195.19
Wed Aug 193200.00%$0.764,6454269.17%$214.66
Thu Aug 201,27360.47%$6.705,1054959.70%$242.52
Fri Aug 214,410661.50%$21.953,00743314.40%$161.96
Sat Aug 224,4491122.52%$47.391,96940720.67%$139.86
Sun Aug 234912.04%$0.193,02256918.83%$191.57
Mon Aug 24000.00%$0.002,99356218.78%$189.16
Tue Aug 25000.00%$0.003,37456616.78%$189.10
Wed Aug 26100.00%$0.003,95655013.90%$186.11
Thu Aug 271300.00%$0.033,59055315.40%$189.84
Fri Aug 28200.00%$0.002,90953418.36%$184.09
Sat Aug 29100.00%$0.002,85051918.21%$177.23
Sun Aug 30100.00%$0.002,76951618.63%$177.26
Mon Aug 31500.00%$0.012,85748817.08%$170.35

The Aug 20–22 YouTube block, its collapse on Aug 23, and the flat line after the Aug 26 re-enable are all visible in one column. Note that campaign-level impressions fell 37,370 → 22,459 WoW while clicks rose 3,335 → 3,800 — that is not a performance improvement, it is the low-CTR YouTube impressions dropping out of the denominator. Do not report the campaign CTR jump as a win.

Ad-group channel configuration, as it stands now

Ad groupStatusChannels selected
AG1_InMarket_HairCareENABLED Discover + YouTube In-Feed (In-Feed added Aug 26)
AG3_CustomIntent_ThickerHairENABLED Discover + YouTube In-Feed + Gmail (Gmail added Aug 26)
AG2_Affinity_CleanBeautyPAUSEDDiscover
AG6_RiskLaneREMOVED—

AG3 is effectively dead: it served 8 Discover impressions in the pre window and 1 in the post window. All meaningful delivery — 18,930 impressions, $1,084.89 — runs through AG1. So the Gmail addition on AG3 is untestable in its current state, and the In-Feed addition on AG1 is the only live arm.

What to do with this
  1. Do not count the placement as tested and do not extend it. Six days at 23 impressions is not a negative result, it is a non-result. The negative result is the Aug 20–23 window, and it says In-Feed clicks are ~8x rarer and more expensive than Discover clicks.
  2. The reason it will not serve is almost certainly the bid, not the setting. The campaign is on MAXIMIZE_CONVERSIONS with no tCPA (the $130 tCPA was removed Aug 19) and is flagged BUDGET_CONSTRAINED at $200/day. A budget-limited Maximize-Conversions campaign will spend its whole budget on the cheapest converting surface it knows — Discover — and starve a surface with no conversion history. Enabling a placement does not create demand for it.
  3. If the In-Feed question genuinely matters, it needs its own ad group and its own budget, not a channel checkbox on the ad group that is already consuming the entire campaign budget. That is a real test; this was not one.
  4. But weigh that against the campaign-level verdict first. Demand Gen is at 0.03x lifetime 0.041x. Spending engineering effort on which placement inside it performs least badly is optimising the wrong level. Settle the pause/cap decision in the Demand Gen section before spending another cycle on placements.

Getting back to $350/day at a 1.5x blended ROAS floor

Two more weeks of live data, at two different spend levels, and the answer has not changed. All Google + Bing spend went $314/day → $309/day — Demand Gen was trimmed 9%, so the account moved slightly away from the $350/day ambition rather than toward it. Blended ROAS over that spend: 2.29x, versus 1.82x the week before at $314/day. The blended number improved for the wrong reason — not because the increment started working, but because there was slightly less of it and the efficient base grew. The incremental $178/day still returned $5.00/day.

And here is the uncomfortable part, stated plainly because it changes the whole framing: at $309/day the account is already clearing the 1.5x blended floor, at 2.29x. It clears it with $185/day of a 0.03x channel inside it. Adding the remaining $41/day of Demand Gen to reach $350/day would land the blend at roughly 2.03x — still above 1.5x. So on its own terms the $350/day-at-1.5x target is reachable this week, and reaching it would mean buying more of the worst thing in the account.

That is a failed target, not a passed one. The floor is cleared by $245/day only because core paid runs at 5.83x (Google core paid 5.65x) — both the best of the window — on 42% of the spend. The one channel with the capacity to absorb $150–200/day returns 0.03x, and it has now been tested at $356/day, $204/day and $185/day with the same answer at every level. The conclusion is not "we cannot hit $350/day at 1.5x" — it is that the blended floor is the wrong instrument, because it can be satisfied by dilution. Retire it and gate on marginal return per increment.

The measurement caveat still stands, and cuts both ways. A blended-ROAS floor is a poor gate: relaunching a top-of-funnel channel mechanically depresses measured brand ROAS by taking back last-click credit, so an upper-funnel channel is penalised twice — once for its own weak direct return, once for the credit it reclaims. Gate on store-level revenue and new customers over ~4 weeks, not on blended attributed ROAS. On that gate this week reads clearly better: store CDP paid orders 435 → 524 (+20.5%), Shopify net +5.3%, and core-paid acquisition orders 33 → 53 (+61%) on new users 511 → 557. Last week the store grew without new paid customers appearing; this week they appeared. That is one good reading of the 4-week gate, not four — and it happened in a week when Demand Gen spend went down, which is the opposite of the direction the scaling case needs.

What the $309/day week actually bought

LineAug 17–23Aug 24–30
All Google + Bing spend$314/day$309/day
CDP revenue delivered$570/day$709/day
Blended ROAS (all Google + Bing)1.82x2.29x
Core paid only (Search + Shopping + Bing)$119/day at 4.77x$131/day at 5.83x
The incremental spend (Demand Gen) $204/day → $5.00/day (0.02x) $185/day → $5.00/day (0.03x)
Revenue needed for a 1.50x floor at $309/day$471/day$464/day
Surplus over the 1.50x floor +$99/day +$245/day

The arithmetic that actually matters

Core paid is $131/day at 5.83x, which is $763/day of revenue. A $350/day spend at a 1.5x blended floor needs $525/day of revenue — and core paid already delivers more than that on its own, from 37% of the budget. Run the formula and the incremental $219/day would have to return -1.09x: a negative required return, which is the arithmetic telling you the constraint is not real. Any increment with a return above zero passes this test. Demand Gen at $185/day for $5.00/day passes it. That is the whole problem with a blended floor: a small, very efficient brand base carries the average and licenses almost any amount of waste bolted on top. Judge each increment on its own marginal return, never on the blend — and note that on that test the ranking this week is unambiguous: Shopping Brand's marginal spend returned inside a 9.8x segment, Reviews' marginal spend returned 4.6x, and Demand Gen's returned 0.03x.

Recommended sequence

StepAddExpected ROAS Running spendRunning blended
Base — core paid only (Search + Shopping + Bing)$130.9/day5.83x$131/day5.83x
Shopping WK45: lift IS 23% → 60% (bid/tROAS)$40.0/day1.40x$171/day4.79x
Brand Products: 81% → 95% IS (keyword bids)$3.0/day1.80x$174/day4.74x
NB Reviews: 77% → 95% IS (CPC cap)$6.0/day0.90x$180/day4.61x
PMax NB relaunch — asset fix first, capped$90.0/day0.32x$270/day3.18x
Search NB Hair Serum — small test$35.0/day0.15x$305/day2.83x
Recommendation

1. Harvest the rank-limited headroom first — it is free, proven, and it just posted its best week. No TSD campaign is budget-capped: every enabled campaign shows 0.0% IS lost to budget. The wall is rank everywhere. Shopping WK45 runs at 23.8% IS with 76.2% lost to rank while returning 9.82x and a $6.86 CPA against a $13 target; Brand Products at 85.1% IS returning 12.87x. Roughly +$43/day is available here at a marginal ROAS well above 1.0 — better than anything else on this list, and it needs no new campaign. (Both are do-not-touch, so this needs sign-off, not a unilateral bid change.)

2. Note what changed on this list this week: NB Reviews comes off it. Last week this sequence assumed +$6/day from lifting Reviews' impression share via the CPC cap. This week Reviews' IS rose on its own (83.2% → 83.2%) and bought +30% more clicks for +91.8% more revenue — a marginal return of about 4.59x. That increment has now been priced and it does not clear the bar. The row is left in the table for continuity, but do not fund it.

3. Stop funding Demand Gen as the volume answer. Two weeks have now priced that option: $1,426 → $1,293 of spend for $34.99 → $34.99 of revenue. See the Demand Gen section for the pause recommendation and the ~$50/day fallback.

4. If a non-brand engine must run, relaunch PMax NB before Demand Gen. Lifetime 0.32x vs 0.041x, ATC rate 2.05% vs 1.05%, and it reaches Search inventory rather than Discover alone. Fix the two AVERAGE-strength asset groups and check brand-term exclusions first, then cap around $90/day.

5. Be explicit about the conclusion. Steps 1 and 4 reach $305/day at 2.83x. Closing the last $45/day to hit exactly $350 requires a channel that does not currently exist at acceptable efficiency. The honest recommendation is to run $305/day at 2.83x rather than $350/day at 2.47x — and to treat "$350/day" as a target to be earned by building a working non-brand funnel, not one to be hit by buying cheap clicks that do not convert. This week is the second consecutive proof of that, at a larger spend level than the first.

Channel Spend & Revenue Mix — Core Paid (Aug 24–30)

Spend Share

Total spend$916
Search Brand42.9%$393
Search NB39.5%$362
Shopping Brand12.7%$117
Bing Search Brand4.8%$44

Revenue Share (CDP)

Total revenue$5,339
Search Brand55.5%$2,961
Search NB15.4%$821
Shopping Brand21.4%$1,144
Bing Search Brand7.7%$413

Excludes NB PMax and Demand Gen — both returned $0 CDP revenue and have their own sections. Shopping NB and Bing Audience are deprecated and excluded entirely.

Read

Search Brand is 43% of core spend and 55% of core revenue — it still carries the account. Shopping Brand punches far above its weight: 13% of spend for 21% of revenue at 9.82x. Search NB (Reviews) is the mirror image — 40% of spend for 15% of revenue. Bing Search Brand took 5% of spend for 8% of revenue at 9.41x, recovered from last week's zero; on six orders that slice swings hard week to week and should not be read as a trend. That slice is the one distortion in these donuts and it is one week old.

The concentration is the standing risk. 77% of core paid revenue comes from two brand campaigns, and this report has now shown across three consecutive weeks that their measured performance swings on last-click credit and small-sample AOV rather than on demand. There is still no working non-brand engine. NB PMax has been dark 5 weeks; Demand Gen ran a full week at $1,293 and returned 0.03x; so SR_US_NB_SpaDr_Reviews at $362.33 — a brand-research campaign mislabelled as non-brand — remains the account's entire genuine non-brand presence, and its marginal spend this week returned roughly 4.59x.

Scope note: the donuts exclude Demand Gen and NB PMax deliberately. Including Demand Gen would put 59% of the spend slice against 0.7% of the revenue slice and compress everything else into illegibility — which is itself the finding, and is made in the Demand Gen section instead.

Action Items

1
Resolve the Google Ads account suspension - nothing else in this report can be executed until it clears URGENT
Google Ads 966-279-5380 returns customer.status = SUSPENDED as of Sep 2. SR_US_BR_SpaDr_Products - the best campaign of the reporting week at 12.87x on 19 orders - is now PAUSED with HAS_ADS_DISAPPROVED, and every enabled campaign carries a policy reason. Sep 2 spend to 09:00 was $89 against a $290-340/day run rate, so delivery is collapsing in real time. The forensics are already done and are a separate workstream: no external actor appears in the 30-day change log and the prime suspect is external manager MCC 7976021863. Nothing below should be attempted before the appeal clears - and every bid or budget recommendation in this report is written on the assumption that it does.
2
Demand Gen: third week of asking for a decision - pause, or cap at ~$50/day URGENT
Ran a full week for $1,292.83 ($185/day) and returned 1 CDP order / $34.99 - 0.03x against a 0.50x target and a $1,293 CPA against $120. Lifetime $5,853 for 4 orders (0.041x). It is now larger than the entire core-paid budget that produced 77 orders at 5.83x. The tracking-gap defence is dead: 3,539 users, 56 ATC and 19 checkouts all recorded on offer.thespadr.com this week - ATC rate 1.05% vs 18.8% for Search Brand. The events fire; the people do not buy. Recommendation unchanged from W33 and W34: pause and rebuild (new LP/offer, drop the video ads), or if a full pause is not acceptable, cap at ~$50/day on AG1 only. Leaving it at the current daily is the one option with no argument behind it.
3
SPECIAL ASK - Shopping Brand: the repeatable lever is the landing page, and only one SKU still lacks it OPPORTUNITY
Shopping Brand ROAS ran 2.1x -> 5.2x -> 10.3x -> 11.1x -> 9.82x and CPA $17.20 -> $6.86. Three causes, only one repeatable. (1) The Hair Serum moved off thespadr.com/pages/hairserum/lp1-lead-offershort-list-tox onto offer.thespadr.com/pages/hairserum/lp1-offerpacks in the week of Jul 27; the old page had decayed 11.7x -> 2.4x over six weeks, the new one has run 4.7x -> 12.8x since. (2) Night Cream (tsd-fce-3102-50ml) and Hair Mask (8510639177926) stopped serving after Jul 20 - $409.63 at 0.86x removed, a one-time gain. (3) The addressable auction pool halved (162K -> 79K impressions at flat IS) with no action from us. NEXT MOVE: tsd-srm-3500 (Age-Defying Serum) still points at thespadr.com/pages/serum/lp1-offer-mix-2, a standard product page. Give it the offer-pack treatment - that is the one lever with evidence behind it. Do NOT raise the budget: budget-lost IS is 0.0% and the campaign uses $17/day of a $100/day budget.
4
SPECIAL ASK - Shopping Brand is in LEARNING after the Aug 27 bid-ceiling change: freeze it for two weeks MONITOR
The CPC bid ceiling on SHP_TSD_US_PPT_ACQ_VOLUME_CBO_WK45 was raised $0.70 -> $0.80 on Aug 27 13:23 from the web UI (carlos.carrero@trafilea.com), and the campaign now reports primary_status LEARNING / BIDDING_STRATEGY_LEARNING. That change sits inside week A, so this week's numbers are a blend of before and after and its effect is not yet readable. AOV also fell $73.41 -> $67.32. Stack a second change now and neither is attributable - which is exactly what made the Jul-27 window readable, by accident. Re-read it in the W37 report.
5
SPECIAL ASK - Reviews: raise the bid cap one step. Budget has never been the wall, and the marginal ROAS now clears OPPORTUNITY
REVERSES LAST WEEK'S CALL, stated plainly because the earlier recommendation is in writing. W34 said 'the incremental spend is not paying - do not raise the CPC cap' on a marginal ROAS near 1.0x. This week spend went $276.76 -> $362.33 (+31%), buying 37 extra clicks for $85.57 and returning $392.97 - a 4.59x marginal ROAS. Segment ROAS 1.55x -> 2.27x, CPA $32.94 against a $90 target. The wall is confirmed as the bid, not the budget: budget-lost IS is 0.0% on all 15 days measured, 16.8% is lost to rank, Google's own primary_status reads BIDDING_STRATEGY_LIMITED (not BUDGET_CONSTRAINED), and daily CPC sat in a flat $2.15-$2.33 band across impressions ranging 86 to 232 - the signature of a hard cap. ONE step, not the ceiling: the demand pool itself grew +35% this week, so measure the result on Top IS and lost-to-rank rather than on raw impressions, which will move whether we act or not.
6
SPECIAL ASK - YouTube Feed placement: not a result, and the real evidence against it is four days earlier MONITOR
YouTube In-Feed was added to AG1_InMarket_HairCare on Aug 26 13:29 (the same edit added Gmail to AG3). Since then YouTube has served 23 impressions, 0 clicks and $0.05, against 25,298 impressions on Discover over the identical window - 0.09% of delivery. That is a non-result, not a negative one. The negative result is Aug 20-23, when YouTube did serve properly on AG3: 10,181 impressions, 185 clicks, CTR 1.82% against Discover's 14.53% over the same four days (an 8x gap), at a $0.41 CPC vs $0.39. For a click-billed advertorial arbitrage that is the wrong shape of inventory. It will not serve because the campaign is MAXIMIZE_CONVERSIONS with no tCPA (removed Aug 19) and BUDGET_CONSTRAINED at $200/day - a budget-limited campaign spends on the surface it already knows converts and starves one with no history. Enabling a placement does not create demand for it. If the question matters, it needs its own ad group and budget. REPORTING NOTE: campaign CTR jumped 8.9% -> 16.9% WoW purely because the low-CTR YouTube impressions left the denominator - do not report that as an improvement.
7
SPECIAL ASK - RSA rollout in CPC_Core paid: keep all three, fix ad strength, and stop starving the Hair Serum ad OPPORTUNITY
Judged from the day the new ads loaded (Aug 21 - Sep 1, 12 days) against the matched 12 days before, so the incumbent gets no credit for a period the challengers could not compete in. Both new RSAs were created Aug 21 14:01 via API. AD GROUP RESULT on flat spend ($510.39 -> $503.54): CDP orders 38 -> 44 (+15.8%), ROAS 5.22x -> 5.72x, CPA $13.43 -> $11.44 (-14.8%) - and that came on 7.7% FEWER clicks and 6.3% fewer impressions, so it is the same traffic converting better, not extra traffic. Each window contains exactly one zero-order day (Aug 20 pre, Aug 25 post), so that distortion is balanced. ⚠ CDP AND PLATFORM DISAGREE ON WHICH AD WON: platform ROAS says the big new ad 821725374229 (6.10x vs incumbent 5.33x); CDP reverses it (incumbent 6.16x vs 5.36x) because AOV is $110.79 vs $61.17. Deciding this from the Google Ads UI alone gives the opposite answer to the warehouse. The incumbent's edge rests on 4 orders, so it is not actionable either way - the defensible statement is the ad-group line. DO: (1) lift all three from AVERAGE to GOOD/EXCELLENT ad strength - free, no downside, other ad groups in this campaign are already EXCELLENT; (2) give 821725374232 a fair test - 4.2% share of voice and 22 clicks in 12 days, yet the best CPA ($5.19), best ROAS (11.27x) and an ATC-per-click of 31.8% vs 15.6% and 11.4%; its 24.44% CTR is why Google starves it, so either strengthen its headlines or move it to its own ad group so it is not competing for rotation against a 30%-CTR sibling; (3) do NOT pause the incumbent - Google already cut it from 100% to 12.9% SoV on its own. Re-run scripts/tsd_rsa_compare.py in two weeks (the window extends automatically) and revisit if the AOV gap survives.
8
Aug 25 was a REAL zero-order day in Search Brand - different signature from Aug 20, and worth one check MONITOR
Aug 20 recorded 0 orders on 1dc but 2 orders / $234.10 on 7dc - the orders existed, they just did not land same-day (the deploy-day attribution gap already logged). Aug 25 is NOT that: 1dc = 0 AND 7dc = 0, on 61 clicks, 52 users, 5 add-to-carts and 5 checkouts in CPC_Core's Exact_Match ad group. Five checkouts producing zero purchases across a full 7-day window is a checkout-completion event, not a tracking gap - the IC event fired normally. On 5 checkouts it is inside noise and needs no action on its own, but it cost the week roughly one day of Search Brand revenue and it is the second zero-order day in the window. If a third appears, pull the Shopify payment-failure log for those specific dates rather than treating it as the known TSD zero-conversion pattern.
9
CLOSE the Bing zero-order item - it was noise, exactly as predicted MONITOR
W34's action item was 'watch for a SECOND week before doing anything'. There was no second week: 0 -> 6 orders, $413.07, 9.41x on -23% LESS spend. Weekly order series: 6, 4, 4, 4, 7, 0, 6. No UET investigation needed. Closed.
10
SR_US_BR_SpaDr_CPC_Core went backwards while the segment rose - watch, do not act MONITOR
Revenue $1,854.61 -> $1,335.58 (-28.0%), ROAS 5.66x -> 4.77x, clicks 394 -> 367 on MORE impressions (1,224 -> 1,286), IS 95.5% -> 94.0%. The whole Search Brand gain sits in Products, which masks this. CPC_Core is on the Do Not Touch list, so this is a watch item - but a second down week makes it a diagnosis, and the natural first check is whether the two RSAs added Aug 21 changed the click mix.
11
The brand gain is downstream of the click, so do NOT re-baseline brand targets on it MONITOR
Upper-funnel impressions were flat (+1.3%, 930,807 -> 943,293) while brand search demand rose +26.1% (2,900 -> 3,656) and Search Brand CVR went 6.84% -> 8.21%. Exposure did not move, so this is conversion rate and last-click credit, not new demand - the standing rule applies: plan on the 7-week median (6.11x), not on a high week. Store-level check passes though: CDP paid revenue store-wide +16.9% and Shopify net +5.3%, so the pie grew too - this is not pure redistribution.
12
Demand Gen break-even is unchanged and still unreachable MONITOR
Week Aug 24-30: Demand Gen spent $1,293 and returned $34.99 directly. At Search Brand's $68.86 AOV, breaking even at 1.0x needs 18 extra brand orders/week = 42% of ALL Search Brand orders; 1.5x needs 28. Measured effect: +3.9%. Re-run this week on 92 days, it lands in the same place. If anyone wants to settle the mechanism properly, run a GEO HOLDOUT for 4 weeks - not another on/off week.
13
Merchant Center: find out why the Shopping auction pool halved MONITOR
Impressions on the one live Shopping campaign fell 45,820 -> 18,899 between the week of Jul 27 and week A while impression share moved only 28.2% -> 23.8%. Impressions divided by IS gives the addressable pool: 162K -> 79K. We did not bid our way out of the auction, the auction shrank - so this is a feed question, not a bids question. Check disapprovals, price competitiveness and shipping on tsd-hair-2200-50ml-lp2 and tsd-srm-3500 in MC 5345682390. Conversions rose while the pool halved, so nothing is broken today - but this is the ceiling on any future Shopping scale-up, and it is invisible from the Google Ads UI.

Do Not Touch

⚠ These campaigns must not be modified without explicit sign-off