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:
SR_US_BR_SpaDr_Products is now PAUSED with HAS_ADS_DISAPPROVED
— and it was the best campaign in the account this week
(19 orders, $1,437.38,
12.87x). It was still spending on Sep 2 morning, so the pause landed
today. Every enabled campaign in the account now carries a policy reason.7976021863. The appeal is the priority, not any
bid or budget in this report.📊 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.
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.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.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.| Metric | Aug 17–23 | Aug 24–30 | WoW |
|---|---|---|---|
| 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,492 | 1,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 revenue | 30.6% | 33.9% | — |
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.
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.
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.
| Segment | Spend | Orders (CDP) | Revenue (CDP) | ROAS | CPA | Target ROAS / CPA |
||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| B | A | WoW | B | A | WoW | B | A | WoW | B | A | WoW | B | A | WoW | ||
| Search Brand | $397 | $393 | -1.0% | 34 | 43 | +26.5% | $2,429 | $2,961 | +21.9% | 6.11x | 7.53x | +23.1% | $11.69 | $9.15 | -21.7% | 6.00x / $13 |
| Search NB | $277 | $362 | +30.9% | 6 | 11 | +83.3% | $428 | $821 | +91.8% | 1.55x | 2.27x | +46.5% | $46.13 | $32.94 | -28.6% | 0.40x / $90 |
| Shopping Brand | $99 | $117 | +17.8% | 15 | 17 | +13.3% | $1,101 | $1,144 | +3.9% | 11.12x | 9.82x | -11.8% | $6.60 | $6.86 | +3.9% | 6.00x / $13 |
| Bing Search Brand | $57 | $44 | -23.2% | 0 | 6 | +100.0% | $0 | $413 | +100.0% | 0.00x | 9.41x | +100.0% | — | $7.32 | — | 6.00x / $13 |
| Demand Gen (own section) | $1,426 | $1,293 | -9.3% | 1 | 1 | +0.0% | $35 | $35 | +0.0% | 0.02x | 0.03x | +10.3% | $1,425.72 | $1,292.83 | -9.3% | 0.50x / $120 |
| Core Paid Blended | $830 | $916 | +10.4% | 55 | 77 | +40.0% | $3,958 | $5,339 | +34.9% | 4.77x | 5.83x | +22.2% | $15.10 | $11.90 | -21.2% | — |
| All Google + Bing (incl. PMax + Demand Gen) | $2,199 | $2,165 | -1.5% | 56 | 72 | +28.6% | $3,993 | $4,961 | +24.2% | 1.82x | 2.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.
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.
| Channel | Spend | Impressions | CPM | Clicks | CTR | Orders (CDP) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| B | A | WoW | B | A | WoW | B | A | WoW | B | A | WoW | B | A | WoW | B | A | WoW | |
| $34,180 | $42,367 | +24.0% | 703K | 729K | +3.6% | $48.60 | $58.12 | +19.6% | 15.4K | 18.5K | +20.1% | 2.19% | 2.54% | +15.8% | 225 | 254 | +12.9% | |
| AppLovin | $18,766 | $17,515 | -6.7% | 190K | 192K | +0.9% | $98.69 | $91.27 | -7.5% | 11.9K | 12.9K | +8.8% | 6.24% | 6.73% | +7.8% | 130 | 162 | +24.6% |
| Google Search | $674 | $756 | +12.1% | 2.6K | 3.2K | +24.6% | $260.66 | $234.47 | -10.0% | 620 | 684 | +10.3% | 23.98% | 21.22% | -11.5% | 40 | 54 | +35.0% |
| Google Shopping | $99 | $117 | +17.8% | 19.8K | 18.9K | -4.4% | $5.00 | $6.16 | +23.2% | 201 | 224 | +11.4% | 1.02% | 1.18% | +16.5% | 15 | 17 | +13.3% |
| Rakuten | $142 | $185 | +30.7% | 0 | 0 | — | — | — | — | 0 | 0 | — | — | — | — | 22 | 32 | +45.5% |
| Bing Search | $55 | $48 | -12.9% | 1.2K | 2.5K | +100.1% | $44.40 | $19.34 | -56.4% | 52 | 69 | +32.7% | 4.18% | 2.77% | -33.7% | 2 | 4 | +100.0% |
| Google Discovery | $1,426 | $1,293 | -9.3% | 37.4K | 22.5K | -39.9% | $38.15 | $57.56 | +50.9% | 3.3K | 3.8K | +13.9% | 8.92% | 16.92% | +89.6% | 1 | 1 | +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.
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 chain | Aug 17–23 | Aug 24–30 | WoW | Correlation with upper-funnel impressions |
|---|---|---|---|---|
| Upper-funnel impressions | 930,807 | 943,293 | +1.3% | — |
| Brand search demand (impr ÷ IS) | 2,900 | 3,656 | +26.1% | r = +0.55 (r² 0.30) |
| Brand clicks | 620 | 684 | +10.3% | tracks UF clicks, not UF impressions |
| Brand orders (CDP) | 40 | 54 | +35.0% | r = +0.51 (r² 0.26) |
| Store-wide paid orders (control) | 435 | 524 | +20.5% | r = +0.57 (r² 0.33) |
| Search Brand ROAS — the noisy one | 6.11x | 7.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.
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.
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.
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.
| Week | Impressions | Serving days | Impressions per serving day | Reading |
|---|---|---|---|---|
| Aug 3–9 | 612 | 7 | 87 | both channels dark |
| Aug 10–16 | 301 | 4 | 75 | paused from Aug 14 |
| Aug 17–23 | 380 | 5½ | 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.
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.
| Period | DG | DG $/day | PMax $/day | Core brand demand/day | Reviews demand/day |
Products demand/day | SB orders /day | SB revenue /day |
|---|---|---|---|---|---|---|---|---|
| 2026-06-01 -> 2026-07-16 | off | $0 | $27 | 186 | 127 | 56 (46/46d) | 4.09 | $246 |
| 2026-07-17 -> 2026-07-27 | ON | $202 | $31 | 194 | 166 | 86 (11/11d) | 3.82 | $264 |
| 2026-07-28 -> 2026-08-12 | off | $0 | $0 | 187 | 170 | 97 (16/16d) | 5.38 | $342 |
| 2026-08-13 -> 2026-09-01 | ON | $201 | $0 | 191 | 198 | 91 (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.
| Event | Core brand demand | Reviews demand | Products 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.
| 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.19 | 90 |
| Reviews demand | +0.52 | +0.13 | +0.51 | +0.11 | 90 |
| Products demand | +0.39 | +0.02 | +0.40 | -0.05 | 86 |
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.
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.
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.
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 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Spend | Orders | Revenue | ROAS | Spend | Ord | Revenue | Spend | Orders | ROAS | CPA | ||
| Jun 1-7 | $336 | 35 | $1,979 | 5.88x | $0 | 0 | $0 | $336 | 35 | 5.88x | $9.61 | 3.98x |
| Jun 8-14 | $310 | 25 | $1,742 | 5.61x | $0 | 0 | $0 | $310 | 25 | 5.61x | $12.41 | 4.12x |
| Jun 15-21 | $318 | 29 | $1,459 | 4.58x | $0 | 0 | $0 | $318 | 29 | 4.58x | $10.98 | 3.58x |
| Jun 22-28 | $356 | 28 | $1,546 | 4.34x | $0 | 0 | $0 | $356 | 28 | 4.34x | $12.71 | 3.42x |
| Jun 29-Jul 5 | $281 | 29 | $1,740 | 6.20x | $0 | 0 | $0 | $281 | 29 | 6.20x | $9.68 | 4.37x |
| Jul 6-12 | $253 | 29 | $2,133 | 8.42x | $0 | 0 | $0 | $253 | 29 | 8.42x | $8.74 | 5.74x |
| Jul 13-19 | $284 | 17 | $1,029 | 3.62x | $791 | 0 | $0 | $1,075 | 17 | 0.96x | $63.25 | 0.94x |
| Jul 20-26 | $377 | 35 | $2,394 | 6.35x | $1,358 | 0 | $0 | $1,735 | 35 | 1.38x | $49.58 | 1.40x |
| Jul 27-Aug 2 | $439 | 31 | $1,933 | 4.40x | $69 | 0 | $0 | $509 | 31 | 3.80x | $16.41 | 3.16x |
| Aug 3-9 | $427 | 42 | $2,868 | 6.71x | $0 | 0 | $0 | $427 | 42 | 6.71x | $10.17 | 5.27x |
| Aug 10-16 | $357 | 32 | $2,054 | 5.75x | $916 | 2 | $171 | $1,274 | 34 | 1.75x | $37.46 | 1.78x |
| Aug 17-23 | $397 | 34 | $2,429 | 6.11x | $1,426 | 1 | $35 | $1,823 | 35 | 1.35x | $52.09 | 1.38x |
| Aug 24-30 | $393 | 43 | $2,961 | 7.53x | $1,293 | 1 | $35 | $1,686 | 44 | 1.78x | $38.32 | 1.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.
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 / wk | Extra brand orders / wk | as a share of ALL 43 Search Brand orders |
|---|---|---|---|
| blend leg reaches 1.00x | $1,258 | 18.3 | 42% |
| blend leg reaches 1.50x | $1,904 | 27.7 | 64% |
| blend leg reaches 2.50x | $3,197 | 46.4 | 108% |
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.
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.
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.
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.
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) | |||
|---|---|---|---|---|---|---|
| Revenue | Share | Revenue | Share | Revenue | Share | |
| Face Serum (Lift&Tight) | $55,976 | 39.9% | $74,712 | 46.5% | $72,423 | 43.2% |
| Hair Serum | $54,079 | 38.5% | $55,444 | 34.5% | $62,710 | 37.4% |
| Kit/System | $8,585 | 6.1% | $8,442 | 5.2% | $7,040 | 4.2% |
| Hair Mask | $4,747 | 3.4% | $5,651 | 3.5% | $6,953 | 4.2% |
| Shampoo/Cond | $4,707 | 3.4% | $4,045 | 2.5% | $4,539 | 2.7% |
| Night Cream | $2,552 | 1.8% | $3,126 | 1.9% | $4,540 | 2.7% |
| Moisturizer | $2,439 | 1.7% | $2,103 | 1.3% | $2,513 | 1.5% |
| Cleanser/Glow | $2,611 | 1.9% | $2,331 | 1.4% | $1,968 | 1.2% |
| Eye Cream | $1,206 | 0.9% | $1,392 | 0.9% | $1,924 | 1.1% |
| Other | $1,861 | 1.3% | $1,684 | 1.1% | $1,412 | 0.8% |
| Neck & Chest | $731 | 0.5% | $546 | 0.3% | $825 | 0.5% |
| Hormone Balance | $976 | 0.7% | $1,296 | 0.8% | $731 | 0.4% |
Hair-category rows highlighted.
| Measure | pre2 (12d) | pre (12d) | post (12d) |
|---|---|---|---|
| Hair category share of revenue | 45.2% | 40.5% | 44.3% |
| Orders containing a Hair Serum | 42.7% | 36.9% | 39.6% |
| Orders (store-wide) | 1,846 | 2,179 | 2,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.
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.
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.
| Channel | Window | Spend | Clicks | Users | ATC% | IC/ATC | CVR | AOV | ROAS |
|---|---|---|---|---|---|---|---|---|---|
| Search Brand | pre2 | $651 | 862 | 793 | 18.16% | 78% | 7.31% | $70.43 | 6.81x |
| pre | $615 | 811 | 766 | 16.32% | 83% | 7.15% | $70.65 | 6.66x | |
| post | $687 | 896 | 852 | 17.49% | 77% | 7.81% | $67.81 | 6.91x | |
| Reviews (NB) | pre2 | $370 | 167 | 149 | 18.79% | 61% | 7.19% | $76.11 | 2.47x |
| pre | $456 | 201 | 175 | 17.14% | 73% | 6.47% | $72.35 | 2.06x | |
| post | $600 | 266 | 231 | 13.42% | 94% | 6.02% | $75.68 | 2.02x | |
| Shopping Brand | pre2 | $175 | 366 | 318 | 17.30% | 80% | 6.28% | $66.78 | 8.75x |
| pre | $174 | 371 | 308 | 17.86% | 80% | 6.47% | $80.56 | 11.11x | |
| post | $196 | 389 | 329 | 15.81% | 77% | 6.94% | $64.90 | 8.92x | |
| Bing Search | pre2 | $126 | 137 | 103 | 18.45% | 68% | 7.30% | $52.90 | 4.21x |
| pre | $94 | 103 | 79 | 11.39% | 122% | 5.83% | $78.39 | 5.00x | |
| post | $84 | 106 | 83 | 14.46% | 83% | 6.60% | $68.44 | 5.71x | |
| Demand Gen (offer.thespadr) | pre2 | $1,118 | 2,604 | 2,358 | 0.81% | 26% | 0.08% | $85.48 | 0.15x |
| pre | $2,531 | 6,037 | 5,532 | 0.96% | 30% | 0.05% | $68.65 | 0.08x | |
| post | $2,275 | 6,377 | 5,906 | 1.56% | 33% | 0.03% | $34.99 | 0.03x | |
| pre2 | $61,739 | 32,394 | 37,176 | 4.69% | 55% | 1.09% | $80.78 | 0.46x | |
| pre | $63,682 | 30,400 | 34,852 | 5.11% | 56% | 1.31% | $83.77 | 0.52x | |
| post | $68,608 | 29,885 | 32,620 | 5.32% | 58% | 1.42% | $88.87 | 0.55x | |
| AppLovin | pre2 | $23,837 | 18,534 | 15,282 | 8.71% | 64% | 1.09% | $46.45 | 0.39x |
| pre | $28,888 | 18,985 | 15,687 | 9.17% | 64% | 1.10% | $47.67 | 0.34x | |
| post | $31,279 | 21,698 | 17,781 | 9.07% | 68% | 1.11% | $52.11 | 0.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.
| When | Campaign | Resource | Changed |
|---|---|---|---|
| 2026-08-27 13:23 | SHP_TSD_US_PPT_ACQ_VOLUME_CBO_WK45 | Campaign | target_spend.cpc_bid_ceiling_micros |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_CPC_Core | Campaign Asset | status |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_CPC_Core | Campaign Asset | status |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_Modifiers | Campaign Asset | status |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_Modifiers | Campaign Asset | status |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_Modifiers | Campaign Asset | status |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_Products | Campaign Asset | status |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_Products | Campaign Asset | status |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_Reviews_Script | Campaign Asset | status |
| 2026-08-27 01:20 | SR_US_BR_SpaDr_Reviews_Script | Campaign Asset | status |
Automated-rule bid changes excluded. Deploy-day rows highlighted.
Two layers were blocked while building this, and both matter:
invalid_grant). GA4 gives site-level sessions and add-to-carts for all traffic
split by landing page — so it can compare home-landing sessions directly before and after,
which is precisely the question and something neither CDP nor Shopify can answer. Re-mint with
python3 scripts/ga4_get_refresh_token.py before the next read.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.
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.
| Campaign / ad group | Window | Impr | Clicks | CTR | CPC | Cost | Conv | Value | CPA |
|---|---|---|---|---|---|---|---|---|---|
SR_US_BR_SpaDr_CPC_Core / Exact_Match | before | 2,199 | 674 | 30.65% | $0.78 | $523.00 | 52 | $3,185 | $10.16 |
| after | 2,136 | 639 | 29.92% | $0.79 | $506.15 | 51 | $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.
| Ad | Type | Landing page | Strength | Impr before | Impr after |
Share after | Clicks | CTR | CPC | Conv | Value |
|---|---|---|---|---|---|---|---|---|---|---|---|
SR_US_BR_SpaDr_CPC_Core / Exact_Match | |||||||||||
821725374229 | existing | thespadr.com/collections/best-sellers | AVERAGE | 557 | 1,641 | 76.8% | 486 | 29.62% | $0.79 | 39 | $2,274 |
782730220774 | existing | thespadr.com/collections/best-sellers | AVERAGE | 1,613 | 417 | 19.5% | 134 | 32.13% | $0.77 | 8 | $480 |
821725374232 | existing | thespadr.com/ | AVERAGE | 29 | 78 | 3.7% | 19 | 24.36% | $1.06 | 4 | $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.
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 group | Window | Impr | Clicks | CTR | CPC | Cost | Platform "conv" (micro-events) |
|---|---|---|---|---|---|---|---|
AG1_InMarket_HairCare | before | 52,347 | 5,848 | 11.17% | $0.42 | $2,450.72 | 482 |
| after | 38,404 | 6,191 | 16.12% | $0.36 | $2,198.76 | 1,306 | |
AG3_CustomIntent_ThickerHair | before | 10,449 | 189 | 1.81% | $0.42 | $80.29 | 4 |
| after | 10,201 | 186 | 1.82% | $0.41 | $76.56 | 4 |
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.
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.
| Week | Spend | Orders (CDP) | Rev (CDP) | ROAS | CPA | CVR | AOV | CPC | Clicks |
|---|---|---|---|---|---|---|---|---|---|
| Aug 17–23 | $397.31 | 34 | $2,429.02 | 6.11x | $11.69 | 6.84% | $71.44 | $0.80 | 497 |
| Aug 24–30 | $393.36 | 43 | $2,960.90 | 7.53x | $9.15 | 8.21% | $68.86 | $0.75 | 524 |
| WoW | -1.0% | +26.5% | +21.9% | +23.1% | -21.7% | +20.0% | -3.6% | -6.1% | +5.4% |
| Campaign | Spend Aug 17–23 | Spend Aug 24–30 | WoW | Ord B | Ord A | Rev Aug 17–23 | Rev Aug 24–30 | WoW | ROAS B | ROAS A | CPA A |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SR_US_BR_SpaDr_CPC_Core | $327.45 | $280.10 | -14.5% | 24 | 22 | $1,854.61 | $1,335.58 | -28.0% | 5.66x | 4.77x | $12.73 |
| SR_US_BR_SpaDr_Products | $68.26 | $111.72 | +63.7% | 10 | 19 | $574.41 | $1,437.38 | +150.2% | 8.42x | 12.87x | $5.88 |
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.
| Ad | Ad strength |
Delivery (platform) | Outcome (CDP · revenue_1dc) |
Platform ROAS | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Impr | SoV | Clicks | CTR | CPC | Cost | Orders | Revenue | ROAS | CPA | AOV | ATC/click | |||
821725374229 NEWthespadr.com/collections/best-sellers · /clean/skincare | Average | 1,761 | 82.9% | 525 | 29.81% | $0.78 | $410.88 | 36 | $2,202.23 | 5.36x | $11.41 | $61.17 | 15.6% | 6.10x |
782730220774 INCUMBENTthespadr.com/collections/best-sellers · /clean/skincare | Average | 274 | 12.9% | 88 | 32.12% | $0.82 | $71.91 | 4 | $443.16 | 6.16x | $17.98 | $110.79 | 11.4% | 5.33x |
821725374232 NEWthespadr.com/ · /hair/serum | Average | 90 | 4.2% | 22 | 24.44% | $0.94 | $20.75 | 4 | $233.93 | 11.27x | $5.19 | $58.48 | 31.8% | 11.94x |
| AD GROUP TOTAL | — | 2,125 | 100% | 635 | 29.88% | $0.79 | $503.54 | 44 | $2,879.32 | 5.72x | $11.44 | $65.44 | 15.6% | 6.23x |
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 |
|---|---|---|---|
| Impressions | 2,268 | 2,125 | -6.3% |
| Clicks | 688 | 635 | -7.7% |
| CTR | 30.34% | 29.88% | -1.5% |
| Spend (CDP) | $510.39 | $503.54 | -1.3% |
| CPC | $0.74 | $0.79 | +6.9% |
| Orders (CDP) | 38 | 44 | +15.8% |
| Revenue (CDP) | $2,662 | $2,879 | +8.2% |
| ROAS (CDP) | 5.22x | 5.72x | +9.6% |
| CPA (CDP) | $13.43 | $11.44 | -14.8% |
| AOV (CDP) | $70.05 | $65.44 | -6.6% |
| ATC per click | 14.10% | 15.59% | +10.6% |
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.
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.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.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.
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| the spa dr | 409 | 131 | 32.03% | $0.55 | $71.83 | 8 | $533.48 | added |
| the spa doctor | 174 | 51 | 29.31% | $0.56 | $28.38 | 6 | $392.36 | added |
| spa dr | 146 | 36 | 24.66% | $0.40 | $14.52 | 1 | $26.59 | added |
| spa doctor | 139 | 31 | 22.30% | $1.61 | $49.95 | 1 | $186.52 | added |
| dr spa | 120 | 31 | 25.83% | $1.09 | $33.82 | 5 | $264.78 | added |
| thespadr | 95 | 38 | 40.00% | $0.79 | $30.16 | 2 | $124.98 | added |
| spadr | 37 | 13 | 35.14% | $1.07 | $13.85 | 1 | $42.94 | added |
| the spadr | 23 | 7 | 30.43% | $0.87 | $6.11 | 0 | $0.00 | added |
| drspa | 16 | 4 | 25.00% | $0.71 | $2.83 | 0 | $0.00 | added |
| spadoctor | 12 | 3 | 25.00% | $0.15 | $0.46 | 0 | $0.00 | added |
| the dr spa | 10 | 2 | 20.00% | $0.33 | $0.65 | 0 | $0.00 | added |
| doctor spa | 6 | 1 | 16.67% | $2.75 | $2.75 | 0 | $0.00 | |
| spa doc | 6 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| spa doctor skincare | 4 | 2 | 50.00% | $0.92 | $1.84 | 1 | $37.44 | |
| the spa doctor com | 4 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| the spa dr where to buy | 4 | 1 | 25.00% | $2.81 | $2.81 | 0 | $0.00 | added |
| thespadoctor | 4 | 2 | 50.00% | $0.36 | $0.72 | 0 | $0.00 | added |
| thespadoctor com | 4 | 1 | 25.00% | $1.26 | $1.26 | 0 | $0.00 | |
| dr spa skin care | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| spa doctors | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| spa dr com | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| spa dr skin care | 2 | 1 | 50.00% | $1.24 | $1.24 | 0 | $0.00 | |
| thespadr com | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| spa der | 1 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 |
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| the spa dr | Exact | 10 | Above Average | Above Average | 97.3% | 2.7% | 409 | $0.55 | $1.11 | 8 |
| spa doctor | Exact | 10 | Above Average | Above Average | 90.5% | 9.5% | 178 | $1.79 | $3.50 | 2 |
| the spa doctor | Exact | 10 | Above Average | Above Average | 89.8% | 10.2% | 176 | $0.57 | $1.29 | 6 |
| spa dr | Exact | 10 | Above Average | Above Average | 98.7% | 1.3% | 146 | $0.40 | $0.96 | 1 |
| dr spa | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 124 | $1.06 | $2.42 | 5 |
| thespadr | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 95 | $0.79 | $1.32 | 2 |
| spadr | Exact | 9 | Above Average | Above Average | 84.4% | 15.6% | 47 | $1.06 | $3.05 | 2 |
| the spadr | Exact | 9 | Above Average | Above Average | 100.0% | 0.0% | 25 | $0.89 | $1.09 | 0 |
| drspa | Exact | 9 | Above Average | Above Average | 72.2% | 27.8% | 21 | $1.12 | $2.75 | 0 |
| spadoctor.com | Exact | 9 | Above Average | Above Average | 78.6% | 21.4% | 19 | $1.26 | $1.58 | 0 |
| spadoctor | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 18 | $0.12 | $1.98 | 0 |
| the dr spa | Exact | 10 | Above Average | Above Average | 75.0% | 25.0% | 11 | $0.33 | $0.47 | 0 |
| the spa doc | Exact | 10 | Above Average | Above Average | 80.0% | 20.0% | 7 | $0.08 | $1.38 | 0 |
| thespadoctor | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 4 | $0.36 | $0.73 | 0 |
| the spa dr where to buy | Exact | 8 | Average | Above Average | 100.0% | 0.0% | 4 | $2.81 | $3.06 | 0 |
| the spadr com | Exact | 9 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.00 | $1.03 | 0 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| the spa dr hair serum | 169 | 48 | 28.40% | $0.73 | $35.06 | 6 | $369.10 | added |
| spa dr hair serum | 128 | 28 | 21.88% | $0.68 | $18.97 | 6 | $391.20 | added |
| spa doctor hair serum | 56 | 15 | 26.79% | $0.75 | $11.22 | 4 | $159.98 | added |
| dr spa hair serum | 47 | 13 | 27.66% | $0.23 | $2.97 | 1 | $75.67 | added |
| the spa doctor hair serum | 33 | 12 | 36.36% | $0.92 | $11.04 | 1 | $74.35 | added |
| is the spa dr hair serum legit | 19 | 1 | 5.26% | $3.47 | $3.47 | 0 | $0.00 | added |
| dr hair serum | 7 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| spa hair serum | 6 | 1 | 16.67% | $2.04 | $2.04 | 0 | $0.00 | added |
| the spa hair serum | 6 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| spa nourishing hair serum | 5 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | |
| hair spa serum | 3 | 1 | 33.33% | $2.04 | $2.04 | 0 | $0.00 | |
| doctor hair serum | 1 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 |
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| the spa dr hair serum | Exact | 10 | Above Average | Above Average | 90.5% | 9.5% | 169 | $0.73 | $0.72 | 6 |
| spa dr hair serum | Exact | 10 | Above Average | Above Average | 93.8% | 6.2% | 128 | $0.68 | $0.65 | 6 |
| spa doctor hair serum | Exact | 10 | Above Average | Above Average | 87.3% | 12.7% | 80 | $0.75 | $0.63 | 4 |
| dr spa hair serum | Exact | 10 | Above Average | Above Average | 78.3% | 21.7% | 48 | $0.23 | $0.22 | 1 |
| the spa doctor hair serum | Exact | 10 | Above Average | Above Average | 96.4% | 3.6% | 38 | $0.92 | $0.71 | 1 |
| spa hair serum | Exact | 10 | Above Average | Above Average | 80.0% | 20.0% | 35 | $2.00 | $1.94 | 1 |
| is the spa dr hair serum legit | Exact | 6 | Below Average | Above Average | 51.6% | 48.4% | 21 | $3.46 | $3.52 | 0 |
| hair serum the spa dr | Exact | 8 | Average | Above Average | 50.0% | 50.0% | 1 | $0.00 | $0.58 | 0 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| the spa dr serum | 11 | 2 | 18.18% | $0.23 | $0.47 | 1 | $64.95 | added |
| is the spa dr serum legit | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| spa dr age defying serum | 2 | 1 | 50.00% | $0.33 | $0.33 | 1 | $23.48 | added |
| the spa dr 2 | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| dr spa serum | 1 | 1 | 100.00% | $0.30 | $0.30 | 1 | $77.33 | added |
| spa dr lift and tightening serum | 1 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| the spa dr face serum | 1 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| the spa dr serum | Exact | 10 | Above Average | Above Average | 88.9% | 11.1% | 11 | $0.23 | $0.45 | 1 |
| dr spa serum | Exact | 10 | Above Average | Above Average | 53.8% | 46.2% | 7 | $0.32 | $0.38 | 1 |
| the spa dr age defying lift & tight serum | Exact | 8 | Above Average | Above Average | 100.0% | 0.0% | 4 | $2.27 | $2.28 | 0 |
| spa doctor lift and tight serum | Exact | 9 | Above Average | Above Average | 100.0% | 0.0% | 3 | $0.00 | $0.69 | 0 |
| is the spa dr serum legit | Exact | 5 | Below Average | Average | 100.0% | 0.0% | 3 | $0.00 | $3.45 | 0 |
| the spa doctor serum | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.01 | $0.16 | 0 |
| the spa dr 2 | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.00 | $0.93 | 0 |
| spa dr age defying serum | Exact | 9 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.33 | $0.33 | 1 |
| the spa dr face serum | Exact | 10 | Above Average | Above Average | 66.7% | 33.3% | 2 | $0.58 | $0.64 | 1 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| spa doctor products | 4 | 1 | 25.00% | $0.74 | $0.74 | 0 | $0.00 | added |
| dr spa products | 3 | 2 | 66.67% | $0.34 | $0.68 | 0 | $0.00 | added |
| the spa dr products | 2 | 1 | 50.00% | $0.13 | $0.13 | 0 | $0.00 | added |
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| spa doctor products | Exact | 9 | Above Average | Above Average | 100.0% | 0.0% | 4 | $0.74 | $0.70 | 0 |
| dr spa products | Exact | 9 | Above Average | Above Average | 100.0% | 0.0% | 3 | $0.34 | $0.28 | 0 |
| the spa dr products | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.13 | $0.09 | 0 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| the spa dr eye cream | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| the spa dr youthful eye cream | 2 | 1 | 50.00% | $0.81 | $0.81 | 0 | $0.00 |
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| the spa dr eye cream | Phrase | 10 | Above Average | Above Average | 80.0% | 20.0% | 10 | $0.87 | $0.82 | 0 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| No search terms with impressions this week. | ||||||||
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| dr spa hair mask | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 7 | $0.00 | $0.94 | 0 |
| the spa dr hair mask | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.70 | $0.63 | 0 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| No search terms with impressions this week. | ||||||||
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| the spa dr night cream | Phrase | 10 | Above Average | Above Average | 33.3% | 66.7% | 2 | $0.78 | $0.74 | 0 |
| the spa dr YOUTHFUL FIRMING Night Cream | Phrase | 9 | Above Average | Above Average | 100.0% | 0.0% | 1 | $1.42 | $1.43 | 0 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| No search terms with impressions this week. | ||||||||
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| spa dr shampoo | Phrase | 10 | Above Average | Above Average | 75.0% | 25.0% | 4 | $0.78 | $0.94 | 0 |
| the spa dr shampoo | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.00 | $0.80 | 0 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| the spa dr com | 6 | 1 | 16.67% | $0.65 | $0.65 | 0 | $0.00 | added |
| team thespadr com | 5 | 4 | 80.00% | $0.01 | $0.04 | 0 | $0.00 | added |
| thespadr com | 5 | 1 | 20.00% | $0.04 | $0.04 | 0 | $0.00 | added |
| dr spa com | 4 | 2 | 50.00% | $0.01 | $0.02 | 0 | $0.00 | added |
| spa dr com | 4 | 1 | 25.00% | $0.57 | $0.57 | 0 | $0.00 | added |
| spadr com | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| the spa dr com | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 6 | $0.65 | $0.64 | 0 |
| thespadr com | Exact | 10 | Above Average | Above Average | 80.0% | 20.0% | 5 | $0.04 | $0.01 | 0 |
| team thespadr com | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 5 | $0.01 | $0.01 | 0 |
| spa dr com | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 4 | $0.57 | $0.57 | 0 |
| dr spa com | Exact | 8 | Above Average | Above Average | 100.0% | 0.0% | 4 | $0.01 | $0.67 | 0 |
| spadr com | Exact | 10 | Above Average | Above Average | 66.7% | 33.3% | 2 | $0.00 | $0.24 | 0 |
| Search term | Impr | Clicks | CTR | CPC | Cost | Conv | Value | |
|---|---|---|---|---|---|---|---|---|
| spa dr skin care | 3 | 2 | 66.67% | $0.11 | $0.22 | 1 | $96.44 | added |
| the spa dr skincare | 2 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| spa doctor skincare | 1 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| the spa dr skin care | 1 | 0 | 0.00% | $0.00 | $0.00 | 0 | $0.00 | added |
| Keyword | Match | QS | Exp. CTR | LP exp. | Search IS | Lost rank | Impr | CPC | Bid | Conv |
|---|---|---|---|---|---|---|---|---|---|---|
| spa dr skin care | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 4 | $0.11 | $0.22 | 1 |
| the spa dr skin care | Exact | 9 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.00 | $1.03 | 0 |
| the spa dr skincare | Exact | 9 | Above Average | Above Average | 100.0% | 0.0% | 2 | $0.00 | $0.38 | 0 |
| spa doctor skincare | Exact | 10 | Above Average | Above Average | 100.0% | 0.0% | 1 | $0.00 | $0.51 | 0 |
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:
| Keyword | Spend | Conv (platform) | CPA | IS | QS |
|---|---|---|---|---|---|
the spa doctor | $29.56 | 6.4 | $4.58 | 89.8% | 10 |
dr spa | $33.83 | 5.0 | $6.77 | 100.0% | 10 |
the spa dr | $71.83 | 8.0 | $8.98 | 97.3% | 10 |
spa doctor | $64.39 | 2.0 | $32.20 | 90.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.
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.
| Week | Spend | Orders (CDP) | Rev (CDP) | ROAS | CPA | CVR | AOV | CPC | Clicks |
|---|---|---|---|---|---|---|---|---|---|
| Aug 17–23 | $276.76 | 6 | $427.91 | 1.55x | $46.13 | 4.88% | $71.32 | $2.25 | 123 |
| Aug 24–30 | $362.33 | 11 | $820.88 | 2.27x | $32.94 | 6.88% | $74.63 | $2.26 | 160 |
| WoW | +30.9% | +83.3% | +91.8% | +46.5% | -28.6% | +40.9% | +4.6% | +0.6% | +30.1% |
| Campaign | Spend Aug 17–23 | Spend Aug 24–30 | WoW | Ord B | Ord A | Rev Aug 17–23 | Rev Aug 24–30 | WoW | ROAS B | ROAS A | CPA A |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SR_US_NB_SpaDr_Reviews | $276.76 | $362.33 | +30.9% | 6 | 11 | $427.91 | $820.88 | +91.8% | 1.55x | 2.27x | $32.94 |
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.
| Week | Spend | Orders (CDP) | Rev (CDP) | ROAS | CPA | CVR | AOV | CPC | Clicks |
|---|---|---|---|---|---|---|---|---|---|
| Aug 17–23 | $98.99 | 15 | $1,101.12 | 11.12x | $6.60 | 7.46% | $73.41 | $0.49 | 201 |
| Aug 24–30 | $116.60 | 17 | $1,144.43 | 9.82x | $6.86 | 7.59% | $67.32 | $0.52 | 224 |
| WoW | +17.8% | +13.3% | +3.9% | -11.8% | +3.9% | +1.7% | -8.3% | +5.7% | +11.4% |
| Campaign | Spend Aug 17–23 | Spend Aug 24–30 | WoW | Ord B | Ord A | Rev Aug 17–23 | Rev Aug 24–30 | WoW | ROAS B | ROAS A | CPA A |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SHP_TSD_US_PPT_ACQ_VOLUME_CBO_WK45 | $98.99 | $116.60 | +17.8% | 15 | 17 | $1,101.12 | $1,144.43 | +3.9% | 11.12x | 9.82x | $6.86 |
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.
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:
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.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.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.
SHP_TSD_US_PPT_ACQ_VOLUME_CBO_WK45Conversions 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.
| Week | Impr | Pool | IS | Clicks | CPC | Cost | Conv | CPA | ROAS |
|---|---|---|---|---|---|---|---|---|---|
| Jun 22 | 22,339 | 89,676 | 24.9% | 180 | $0.52 | $94.10 | 19.5 | $4.83 | 10.34x |
| Jun 29 | 23,851 | 82,640 | 28.9% | 241 | $0.54 | $130.74 | 12.5 | $10.48 | 6.06x |
| Jul 6 | 26,598 | 95,778 | 27.8% | 254 | $0.55 | $139.06 | 18.5 | $7.52 | 7.24x |
| Jul 13 | 31,522 | 110,633 | 28.5% | 308 | $0.61 | $187.15 | 21.0 | $8.91 | 4.98x |
| Jul 20 | 41,402 | 150,623 | 27.5% | 389 | $0.61 | $238.35 | 15.0 | $15.89 | 3.45x |
| Jul 27 | 45,820 | 162,413 | 28.2% | 410 | $0.63 | $257.95 | 15.0 | $17.20 | 3.60x |
| Aug 3 | 31,330 | 127,704 | 24.5% | 279 | $0.55 | $153.66 | 19.0 | $8.09 | 6.82x |
| Aug 10 | 19,424 | 84,402 | 23.0% | 215 | $0.46 | $98.96 | 16.5 | $6.00 | 9.73x |
| Aug 17 | 19,783 | 83,540 | 23.7% | 200 | $0.49 | $98.22 | 17.0 | $5.78 | 9.29x |
| Aug 24 | 18,899 | 79,488 | 23.8% | 223 | $0.52 | $116.18 | 22.9 | $5.06 | 11.05x |
SHP_TSD_US_BR_HairMask_NightCream_PURCHASE| Week | Impr | Pool | IS | Clicks | CPC | Cost | Conv | CPA | ROAS |
|---|---|---|---|---|---|---|---|---|---|
| Jun 29 | 5,137 | 34,497 | 14.9% | 29 | $2.42 | $70.27 | 4.5 | $15.54 | 3.66x |
| Jul 6 | 10,597 | 62,194 | 17.0% | 82 | $2.41 | $197.62 | 5.0 | $39.52 | 1.08x |
| Jul 13 | 17,752 | 110,087 | 16.1% | 86 | $1.77 | $152.29 | 2.0 | $76.14 | 0.79x |
| Jul 20 | 2,456 | 24,585 | 10.0% | 14 | $4.27 | $59.72 | 0.5 | $119.44 | 0.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 | Impressions | Cost | Conv (platform) | ROAS | ||||
|---|---|---|---|---|---|---|---|---|
| Prior 4W | L4W | Prior 4W | L4W | Prior 4W | L4W | Prior 4W | L4W | |
tsd-hair-2200-50ml-lp2The Spa Dr. | Hair Serum with free Scalp Massager | | 89,864 | 67,098 | $529.69 | $356.32 | 44.0 | 51.8 | 4.77x | 8.81x |
tsd-srm-3500The Spa Dr. | Age-Defying Serum for Visibly Younger | 55,478 | 22,338 | $292.82 | $110.70 | 25.5 | 23.7 | 3.96x | 9.64x |
tsd-fce-3102-50mlBest Night Cream for Aging Skin | 1 Unit | 27,577 | — | $330.18 | — | 5.5 | — | 0.85x | PAUSED |
8510639177926The Spa Dr. | Nourishing Hair Mask | 250ml | 3,228 | — | $79.45 | — | 2.0 | — | 0.93x | PAUSED |
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 page | Jun 22 | Jun 29 | Jul 6 | Jul 13 | Jul 20 | Jul 27 | Aug 3 | Aug 10 | Aug 17 | Aug 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.
BIDDING_STRATEGY_LEARNING. That change sits inside week A and its effect is not yet readable.
Stacking a second change now makes both unattributable.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.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.
“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.
| Week | Impr | Demand pool | Search IS | Top IS | Abs Top IS | Lost→Rank | Lost→Budget | Clicks | CPC | Cost |
|---|---|---|---|---|---|---|---|---|---|---|
| Jul 13 | 600 | 851 | 70.5% | 55.3% | 42.2% | 29.5% | 0.0% | 69 | $1.88 | $130.02 |
| Jul 20 | 945 | 1,273 | 74.3% | 61.1% | 46.5% | 25.7% | 0.0% | 105 | $2.07 | $217.68 |
| Jul 27 | 942 | 1,231 | 76.5% | 58.9% | 45.7% | 23.5% | 0.0% | 89 | $2.08 | $185.34 |
| Aug 3 | 881 | 1,174 | 75.1% | 62.1% | 45.8% | 24.9% | 0.0% | 100 | $2.12 | $212.49 |
| Aug 10 | 1,021 | 1,322 | 77.2% | 61.6% | 45.0% | 22.8% | 0.0% | 95 | $2.25 | $213.99 |
| Aug 17 | 971 | 1,167 | 83.2% | 70.5% | 56.5% | 16.8% | 0.0% | 123 | $2.25 | $276.76 |
| Aug 24 | 1,309 | 1,574 | 83.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.
| Day | Impr | Search IS | Top IS | Lost→Rank | Lost→Budget |
|---|---|---|---|---|---|
| Mon Aug 17 | 106 | 86.6% | 67.1% | 13.4% | 0.0% |
| Tue Aug 18 | 86 | 80.8% | 67.5% | 19.2% | 0.0% |
| Wed Aug 19 | 119 | 85.6% | 72.2% | 14.4% | 0.0% |
| Thu Aug 20 | 151 | 87.1% | 75.0% | 12.9% | 0.0% |
| Fri Aug 21 | 189 | 83.8% | 73.4% | 16.2% | 0.0% |
| Sat Aug 22 | 155 | 86.6% | 72.4% | 13.4% | 0.0% |
| Sun Aug 23 | 165 | 75.2% | 65.0% | 24.8% | 0.0% |
| Mon Aug 24 | 173 | 83.8% | 74.3% | 16.2% | 0.0% |
| Tue Aug 25 | 131 | 76.2% | 67.0% | 23.9% | 0.0% |
| Wed Aug 26 | 185 | 81.1% | 64.9% | 18.9% | 0.0% |
| Thu Aug 27 | 172 | 76.8% | 56.3% | 23.2% | 0.0% |
| Fri Aug 28 | 203 | 86.9% | 74.5% | 13.1% | 0.0% |
| Sat Aug 29 | 213 | 89.5% | 73.7% | 10.5% | 0.0% |
| Sun Aug 30 | 232 | 85.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.
| Keyword | Match | QS | Impr | Search IS | Lost→Rank | Clicks | CPC | Cost | Conv |
|---|---|---|---|---|---|---|---|---|---|
the spa dr hair serum reviews | EXACT | 7 | 526 | 91.7% | 8.3% | 71 | $2.28 | $161.61 | 5.0 |
dr spa hair serum reviews | EXACT | 7 | 118 | 73.9% | 26.1% | 7 | $2.24 | $15.65 | 0.0 |
the spa doctor hair serum reviews | EXACT | 8 | 101 | 90.0% | 10.0% | 11 | $2.21 | $24.35 | 0.0 |
the spa dr reviews | EXACT | 8 | 63 | 91.9% | 8.1% | 6 | $2.27 | $13.60 | 2.0 |
spa dr hair serum reviews | EXACT | 6 | 49 | 94.1% | 5.9% | 6 | $2.11 | $12.64 | 0.0 |
spa dr reviews | EXACT | 8 | 45 | 96.2% | 3.8% | 9 | $2.29 | $20.57 | 0.0 |
spa doctor reviews | EXACT | 8 | 42 | 78.1% | 21.9% | 6 | $2.21 | $13.26 | 0.0 |
the spa doctor reviews | EXACT | 6 | 33 | 81.8% | 18.2% | 4 | $1.97 | $7.89 | 1.0 |
the spa dr hair serum reviews reddit | EXACT | 6 | 30 | 42.1% | 57.9% | 2 | $2.27 | $4.53 | 0.0 |
spa dr serum reviews | EXACT | 8 | 29 | 81.8% | 18.2% | 3 | $2.29 | $6.87 | 0.0 |
the spa dr age defying serum reviews | EXACT | 6 | 24 | 93.8% | 6.2% | 5 | $2.27 | $11.36 | 1.0 |
the spa dr serum reviews | EXACT | 6 | 24 | 92.9% | 7.1% | 4 | $2.33 | $9.31 | 2.0 |
is spa dr legit | EXACT | 5 | 20 | 85.7% | 14.3% | 4 | $2.39 | $9.56 | 0.0 |
does the spa dr hair serum work | EXACT | 5 | 20 | 64.0% | 36.0% | 1 | $2.38 | $2.38 | 0.0 |
| Search term | Impr | Clicks | Cost | Conv | Value |
|---|---|---|---|---|---|
| the spa dr hair serum reviews | 526 | 71 | $161.61 | 5.0 | $286.73 |
| the spa doctor hair serum reviews | 100 | 11 | $24.35 | 0.0 | $0.00 |
| spa dr reviews | 38 | 7 | $16.23 | 0.0 | $0.00 |
| the spa dr reviews | 63 | 6 | $13.60 | 2.0 | $64.52 |
| spa dr hair serum reviews | 45 | 6 | $12.64 | 0.0 | $0.00 |
| the spa dr age defying serum reviews | 22 | 5 | $11.36 | 1.0 | $24.55 |
| spa doctor hair serum reviews | 17 | 4 | $9.33 | 1.0 | $75.05 |
| thespadr reviews | 13 | 4 | $9.27 | 1.0 | $28.60 |
| the spa doctor reviews | 30 | 4 | $7.89 | 1.0 | $46.29 |
| the spa dr serum reviews | 18 | 3 | $6.95 | 2.0 | $93.57 |
| the spa dr skin care reviews | 6 | 2 | $4.74 | 0.0 | $0.00 |
| the spa dr reviews | 7 | 2 | $4.62 | 0.0 | $0.00 |
| spa doctor reviews | 16 | 2 | $4.59 | 0.0 | $0.00 |
| the spa dr hair serum reviews reddit | 25 | 2 | $4.53 | 0.0 | $0.00 |
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.
Bing reports Sun–Sat: Week A = Aug 23–29, Week B = Aug 16–22.
| Week | Spend | Orders (CDP) | Rev (CDP) | ROAS | CPA | CVR | AOV | CPC | Clicks |
|---|---|---|---|---|---|---|---|---|---|
| Aug 17–23 | $57.17 | 0 | $0.00 | 0.00x | $0.00 | 0.00% | $0.00 | $1.22 | 47 |
| Aug 24–30 | $43.91 | 6 | $413.07 | 9.41x | $7.32 | 9.52% | $68.84 | $0.70 | 63 |
| WoW | -23.2% | +100.0% | +100.0% | +100.0% | +100.0% | +100.0% | +100.0% | -42.7% | +34.0% |
| Campaign | Spend Aug 17–23 | Spend Aug 24–30 | WoW | Ord B | Ord A | Rev Aug 17–23 | Rev Aug 24–30 | WoW | ROAS B | ROAS A | CPA A |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SR_US_BR_SpaDr_CPC_Core | $42.77 | $28.79 | -32.7% | 0 | 3 | $0.00 | $178.71 | +100.0% | 0.00x | 6.21x | $9.60 |
| SR_US_BR_SpaDr_Modifiers | $11.76 | $7.60 | -35.4% | 0 | 3 | $0.00 | $234.36 | +100.0% | 0.00x | 30.84x | $2.53 |
| SR_US_BR_SpaDr_Products | $2.64 | $7.52 | +184.8% | 0 | 0 | $0.00 | $0.00 | +0.0% | 0.00x | 0.00x | — |
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.
PMAX_US_NB_TSD_Serum_HairSerum| Network | Impr | Clicks | Cost | CPC | Plat Conv | Plat Value | Plat ROAS |
|---|---|---|---|---|---|---|---|
| SEARCH | 6,536 | 173 | $752 | $4.35 | 4.9 | $351 | 0.47x |
| DISCOVER | 17,881 | 1,606 | $656 | $0.41 | 16.1 | $1,141 | 1.74x |
| YOUTUBE | 12,645 | 147 | $176 | $1.20 | 2.0 | $58 | 0.33x |
| SEARCH_PARTNERS | 69 | 6 | $7 | $1.17 | 0.0 | $0 | 0.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.
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.
DGEN_US_NB_TSD_HairSerum_DiscoveryWeek 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:
| Metric | Aug 17–23 (4 days) | Aug 24–30 (7 days) | WoW |
|---|---|---|---|
| Spend | $1,425.72 | $1,292.83 | -9.3% |
| Clicks | 3,335 | 3,800 | +13.9% |
| CPC | $0.43 | $0.34 | -20.4% |
| Users landed | 3,057 | 3,539 | +15.8% |
| Add-to-carts | 33 | 56 | +69.7% |
| Checkouts | 10 | 19 | +90.0% |
| CDP orders | 1 | 1 | +0.0% |
| CDP revenue | $34.99 | $34.99 | +0.0% |
| ROAS | 0.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.
| Date | Impr | Clicks | CTR | CPC | Cost | Platform all_conv |
|---|---|---|---|---|---|---|
| 2026-08-24 | 2,993 | 562 | 18.78% | $0.34 | $189.16 | 432 |
| 2026-08-25 | 3,374 | 566 | 16.78% | $0.33 | $189.10 | 395 |
| 2026-08-26 | 3,957 | 550 | 13.90% | $0.34 | $186.11 | 370 |
| 2026-08-27 | 3,603 | 553 | 15.35% | $0.34 | $189.88 | 440 |
| 2026-08-28 | 2,911 | 534 | 18.34% | $0.34 | $184.09 | 329 |
| 2026-08-29 | 2,851 | 519 | 18.20% | $0.34 | $177.24 | 356 |
| 2026-08-30 | 2,770 | 516 | 18.63% | $0.34 | $177.26 | 339 |
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 Group | Status | Impr | Clicks | CTR | Cost | CPC |
|---|---|---|---|---|---|---|
AG1_InMarket_HairCare | ENABLED | 22,448 | 3,799 | 16.92% | $1,292.50 | $0.34 |
AG3_CustomIntent_ThickerHair | ENABLED | 11 | 1 | 9.09% | $0.34 | $0.34 |
AG6_RiskLane | REMOVED | 0 | 0 | 0.00% | $0.00 | — |
AG2_Affinity_CleanBeauty | PAUSED | 0 | 0 | 0.00% | $0.00 | — |
| Format | Impr | Clicks | CTR | Cost |
|---|---|---|---|---|
| DEMAND_GEN_MULTI_ASSET_AD | 22,459 | 3,800 | 16.92% | $1,292.84 |
| DEMAND_GEN_VIDEO_RESPONSIVE_AD | 0 | 0 | 0.00% | $0.00 |
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:
| Segment | Users | ATC | ATC rate | Checkouts | Orders |
|---|---|---|---|---|---|
| Demand Gen | 3,539 | 56 | 1.58% | 19 | 1 |
| Search Brand | 505 | 95 | 18.81% | 75 | 43 |
| Shopping Brand | 193 | 33 | 17.10% | 24 | 17 |
| Search NB (Reviews) | 138 | 19 | 13.77% | 17 | 11 |
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).
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.
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.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.
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 | Impressions | Clicks | CTR | CPC | Cost | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pre | Post | Pre | Post | Pre | Post | Pre | Post | Pre | Post | |
| Discover | 19,470 | 18,931 | 3,032 | 3,160 | 15.57% | 16.69% | $0.37 | $0.34 | $1,114.16 | $1,084.89 |
| YouTube (In-Feed) | 10,181 | 23 | 185 | 0 | 1.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.
| Day | YouTube (In-Feed) | Discover | ||||||
|---|---|---|---|---|---|---|---|---|
| Impr | Clicks | CTR | Cost | Impr | Clicks | CTR | Cost | |
| Mon Aug 17 | 48 | 2 | 4.17% | $1.09 | 5,420 | 462 | 8.52% | $201.25 |
| Tue Aug 18 | 26 | 1 | 3.85% | $0.62 | 3,915 | 355 | 9.07% | $195.19 |
| Wed Aug 19 | 32 | 0 | 0.00% | $0.76 | 4,645 | 426 | 9.17% | $214.66 |
| Thu Aug 20 | 1,273 | 6 | 0.47% | $6.70 | 5,105 | 495 | 9.70% | $242.52 |
| Fri Aug 21 | 4,410 | 66 | 1.50% | $21.95 | 3,007 | 433 | 14.40% | $161.96 |
| Sat Aug 22 | 4,449 | 112 | 2.52% | $47.39 | 1,969 | 407 | 20.67% | $139.86 |
| Sun Aug 23 | 49 | 1 | 2.04% | $0.19 | 3,022 | 569 | 18.83% | $191.57 |
| Mon Aug 24 | 0 | 0 | 0.00% | $0.00 | 2,993 | 562 | 18.78% | $189.16 |
| Tue Aug 25 | 0 | 0 | 0.00% | $0.00 | 3,374 | 566 | 16.78% | $189.10 |
| Wed Aug 26 | 1 | 0 | 0.00% | $0.00 | 3,956 | 550 | 13.90% | $186.11 |
| Thu Aug 27 | 13 | 0 | 0.00% | $0.03 | 3,590 | 553 | 15.40% | $189.84 |
| Fri Aug 28 | 2 | 0 | 0.00% | $0.00 | 2,909 | 534 | 18.36% | $184.09 |
| Sat Aug 29 | 1 | 0 | 0.00% | $0.00 | 2,850 | 519 | 18.21% | $177.23 |
| Sun Aug 30 | 1 | 0 | 0.00% | $0.00 | 2,769 | 516 | 18.63% | $177.26 |
| Mon Aug 31 | 5 | 0 | 0.00% | $0.01 | 2,857 | 488 | 17.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 | Status | Channels selected |
|---|---|---|
AG1_InMarket_HairCare | ENABLED | Discover + YouTube In-Feed (In-Feed added Aug 26) |
AG3_CustomIntent_ThickerHair | ENABLED | Discover + YouTube In-Feed + Gmail (Gmail added Aug 26) |
AG2_Affinity_CleanBeauty | PAUSED | Discover |
AG6_RiskLane | REMOVED | — |
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.
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.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.
| Line | Aug 17–23 | Aug 24–30 |
|---|---|---|
| All Google + Bing spend | $314/day | $309/day |
| CDP revenue delivered | $570/day | $709/day |
| Blended ROAS (all Google + Bing) | 1.82x | 2.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 |
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.
| Step | Add | Expected ROAS | Running spend | Running blended |
|---|---|---|---|---|
| Base — core paid only (Search + Shopping + Bing) | $130.9/day | 5.83x | $131/day | 5.83x |
| Shopping WK45: lift IS 23% → 60% (bid/tROAS) | $40.0/day | 1.40x | $171/day | 4.79x |
| Brand Products: 81% → 95% IS (keyword bids) | $3.0/day | 1.80x | $174/day | 4.74x |
| NB Reviews: 77% → 95% IS (CPC cap) | $6.0/day | 0.90x | $180/day | 4.61x |
| PMax NB relaunch — asset fix first, capped | $90.0/day | 0.32x | $270/day | 3.18x |
| Search NB Hair Serum — small test | $35.0/day | 0.15x | $305/day | 2.83x |
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.
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.
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.
spa doctor / dr spa has been withdrawn.