Daily campaign report — 2026-08-06, against 2026-08-05

The account bought $793.94 across two campaigns and got 1,172 installs at $0.677, against $631.70 and 1,128 at $0.560 the day before. Booked revenue was $1,401.05; within-day was $620.48, down 30.9%. Our records read 0.98 of Meta's booked figure. This is the first day the five-cell split test ran, and the first day the report covers two campaigns. Definitions, the report clock and the three revenue measures are in the appendix.

1Overview

Delivery rows are the delivering campaigns summed, which is exactly how section 5 defines the account, so the two agree. The retired earner's booking tail (7 installs on 08-05 and 1 on 08-06, both on $0.00 of spend) is excluded here and named in section 5, because counting it would put installs into a CPI denominator against spend that was never incurred.

2026-08-052026-08-06move
spend$631.70$793.94+25.7%
impressions53,81870,411+30.8%
CPM$11.74$11.28−3.9%
clicks4,9395,403+9.4%
CTR9.18%7.67%−16.4%
installs (Meta)1,1211,171+4.5%
CPI$0.564$0.678+20.3%
booked (Meta)$1,427.51 (2.26)$1,401.05 (1.76)−1.9%
within-day$898.32 (1.42)$620.48 (0.78)−30.9%
cohort @24h$1,258.59 (1.99)$702.17 (0.88)at 58% coverage — completed figure in Caveats

Cohort value — ARPU and ARPPU at d0, d3 and d7

Keyed on the INSTALL day and measured from each user's own install stamp: dN is their first (N+1) x 24 h. ARPU is Adjust's own series, the one the partner's dashboard reports; ARPPU is our payment ledger, because Adjust exposes no cumulative distinct-payer count. A horizon the window has not lived through yet is left empty rather than written as zero.

appARPU (d0)ARPU (d3)ARPU (d7)ARPPU (d0)ARPPU (d3)ARPPU (d7)installs
Vloom$0.5073$0.8195$0.9360$11.23$15.85$17.131,373

Cost per install rose 20.3% on a quarter more spend, and within-day ROAS fell below 1 for the first time in the series.

CTR fell in 19 of the 20 hours both days delivered in, p = 0.000. A count of hours cannot be a mix artifact.

Payer rate fell with it. Matched hours at a 6-hour horizon, install → pay 5.35% → 3.28%, p = 0.016, on 62 and 36 payers.

The campaign mix barely moved, worldwide 84.9% → 85.2% of spend and German 15.1% → 14.8%, so almost none of the above is composition.

2Hourly, 2026-08-06

Delivery columns are Meta's instrument on both sides of every ratio; payer rate, ARPU and ARPPU are ours on both sides. The two install counts are never crossed. booked sits on the payment hour; within-day and cohort@24h sit on the install hour.

The full 24-row table is in _runs/2026-08-06_gen7_and_candidates/measures_out.txt; the shape of the day is in the charts below.

Hours both days delivered in, on the UTC clock: 00–08 and 13–23. 2026-08-06 additionally delivered in 09, 10, 11, 12. Only the shared hours are compared.

metrichours 2026-08-06 ran higherhours it ran lowersign test
CPM6 of 2014 of 20p = 0.115
CTR1 of 2019 of 20p = 0.000
click→install8 of 2012 of 20p = 0.503
CPI14 of 206 of 20p = 0.115

A sign test throws magnitude away and buys weight-free direction with it.

CTR is the only one of the four that separates, and it does so completely. CPM and CPI point the same way without clearing 0.05.

2026-08-07T08:03:31.709584 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 3 6 9 12 15 18 21 hour (UTC) 0 10 20 30 40 50 USD Spend by hour 0 3 6 9 12 15 18 21 hour (UTC) 1500 2000 2500 3000 3500 4000 4500 5000 impressions Impressions and installs by hour impressions installs 30 40 50 60 70 installs (Meta Leads) The day's motion — whole account, 2026-08-06 (UTC)
The day's motion
2026-08-07T08:03:31.840783 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 4 8 12 16 20 hour (UTC) 7.0 7.5 8.0 8.5 9.0 CTR % CTR 0 4 8 12 16 20 hour (UTC) 9 10 11 12 13 14 USD per 1,000 impressions CPM 0 4 8 12 16 20 hour (UTC) 16 18 20 22 24 26 28 installs / clicks % Click → install 0 4 8 12 16 20 hour (UTC) 0.5 0.6 0.7 0.8 0.9 1.0 USD Cost per install Delivery by hour — whole account, 2026-08-06 (UTC)
CTR, CPM, click-to-install and CPI by hour, whole account
2026-08-07T08:03:31.985769 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 5 10 15 20 hour (UTC) 7 8 9 10 11 12 CTR % CTR 2026-08-05 2026-08-06 0 5 10 15 20 hour (UTC) 8 10 12 14 16 18 USD per 1,000 impressions CPM 0 5 10 15 20 hour (UTC) 20 40 60 80 100 120 140 160 installs / clicks % Click → install 0 5 10 15 20 hour (UTC) 0.2 0.4 0.6 0.8 1.0 USD Cost per install Delivery by hour — 2026-08-06 against 2026-08-05, shared hours only (UTC)
The same four ratios with the prior day laid over, shared hours only

3Country

2026-08-23T12:43:19.231531 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ IN DE US TR ID MX GB AR PH AT FR CA 0 25 50 75 100 125 150 175 USD delivery raked onto the report clock against two measured margins; revenue is the report day Spend against within-day revenue by country — 2026-08-06 spend within-day revenue
Spend against within-day revenue by country
2026-08-23T12:43:19.267439 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ −0.04 −0.02 0.00 0.02 0.04 USD per install Cost per install by country — 2026-08-06 (report clock)
CPI by country

(i) The portfolio by country, 2026-08-06. On the report clock. Meta serves no hour x country grid, so each country cut is raked from its own Meta day onto UTC; our own columns were already there.

ccspendshareimpressionsCPMregistrations (ours)cost/regwithin-daywROASpayers
IN$160.5620.2%25,669$6.26344$0.467$93.590.5836
DE$98.5712.4%2,162$45.6042$2.347$48.380.496
US$72.789.2%1,733$42.0160$1.213$181.752.5016
TR$26.923.4%1,457$18.4744$0.612$5.890.222
ID$25.123.2%3,903$6.4482$0.306$0.000.002
MX$22.942.9%3,110$7.3853$0.433$5.710.253
GB$21.582.7%696$31.0229$0.744$6.040.282
AR$20.792.6%1,759$11.8153$0.392$9.980.482
PH$16.802.1%4,352$3.8654$0.311$5.630.345
AT$15.301.9%524$29.208$1.912$21.191.393
FR$15.111.9%550$27.4519$0.795$0.000.001
CA$14.281.8%410$34.8116$0.893$4.990.351

183 further countries are not listed, $283.17 between them (35.7% of this block).

Reconciliation, what is measured and what is fitted. Every per-country cell is an allocation across hours; every total is measured. B1 (UTC-7) $208.10 from Meta 2026-08-05 and $585.84 from Meta 2026-08-06, a measured UTC-day total of $793.94.

Absent from the table above, by name: Nomad Node, KBM1, HR1. Their spend is in every day-grain table; only their country split is missing.

(ii) The same cut per account, 2026-08-06.

B1

ccspendshareimpressionsCPMregistrations (ours)cost/regwithin-daywROASpayers
IN$160.5620.2%25,669$6.26344$0.467$93.590.5836
DE$98.5712.4%2,162$45.6042$2.347$48.380.496
US$72.789.2%1,733$42.0160$1.213$181.752.5016
TR$26.923.4%1,457$18.4744$0.612$5.890.222
ID$25.123.2%3,903$6.4482$0.306$0.000.002
MX$22.942.9%3,110$7.3853$0.433$5.710.253
GB$21.582.7%696$31.0229$0.744$6.040.282
AR$20.792.6%1,759$11.8153$0.392$9.980.482
PH$16.802.1%4,352$3.8654$0.311$5.630.345
AT$15.301.9%524$29.208$1.912$21.191.393
FR$15.111.9%550$27.4519$0.795$0.000.001
CA$14.281.8%410$34.8116$0.893$4.990.351

183 further countries are not listed, $283.17 between them (35.7% of this block).

Nomad Node — no country block: it delivered nothing on this day, a measured zero.

KBM1 — no country block: it delivered nothing on this day, a measured zero.

HR1 — no country block: it delivered nothing on this day, a measured zero.

The prior day, 2026-08-05, the same two tables.

(i) The portfolio by country, 2026-08-05. On the report clock. Meta serves no hour x country grid, so each country cut is raked from its own Meta day onto UTC; our own columns were already there.

ccspendshareimpressionsCPMregistrations (ours)cost/regwithin-daywROASpayers
IN$137.3021.7%19,972$6.87319$0.430$128.560.9437
DE$71.3011.3%1,441$49.4735$2.037$21.850.312
US$54.508.6%1,258$43.3350$1.090$288.785.3015
MX$22.103.5%2,454$9.0056$0.395$32.411.473
ID$21.223.4%3,014$7.0473$0.291$43.682.062
TR$20.053.2%1,181$16.9741$0.489$0.000.001
GB$19.083.0%534$35.7220$0.954$0.000.001
AR$15.182.4%1,248$12.1650$0.304$66.934.414
MY$13.072.1%1,546$8.4627$0.484$5.380.413
PH$13.032.1%3,110$4.1953$0.246$31.512.425
FR$10.051.6%299$33.6211$0.913$0.000.000
CA$9.671.5%253$38.1911$0.879$20.882.163

175 further countries are not listed, $225.17 between them (35.6% of this block).

Reconciliation, what is measured and what is fitted. Every per-country cell is an allocation across hours; every total is measured. B1 (UTC-7) $181.12 from Meta 2026-08-04 and $450.58 from Meta 2026-08-05, a measured UTC-day total of $631.70.

Absent from the table above, by name: Nomad Node, KBM1, HR1. Their spend is in every day-grain table; only their country split is missing.

(ii) The same cut per account, 2026-08-05.

B1

ccspendshareimpressionsCPMregistrations (ours)cost/regwithin-daywROASpayers
IN$137.3021.7%19,972$6.87319$0.430$128.560.9437
DE$71.3011.3%1,441$49.4735$2.037$21.850.312
US$54.508.6%1,258$43.3350$1.090$288.785.3015
MX$22.103.5%2,454$9.0056$0.395$32.411.473
ID$21.223.4%3,014$7.0473$0.291$43.682.062
TR$20.053.2%1,181$16.9741$0.489$0.000.001
GB$19.083.0%534$35.7220$0.954$0.000.001
AR$15.182.4%1,248$12.1650$0.304$66.934.414
MY$13.072.1%1,546$8.4627$0.484$5.380.413
PH$13.032.1%3,110$4.1953$0.246$31.512.425
FR$10.051.6%299$33.6211$0.913$0.000.000
CA$9.671.5%253$38.1911$0.879$20.882.163

175 further countries are not listed, $225.17 between them (35.6% of this block).

Nomad Node — no country block: it delivered nothing on this day, a measured zero.

KBM1 — no country block: it delivered nothing on this day, a measured zero.

HR1 — no country block: it delivered nothing on this day, a measured zero.

4Aggregate, both days

Pooled over the 20 hours both days delivered in, on the UTC clock. Meta's instrument on both sides.

spendimpressionsCPMclicksCTRinstallsclick→installCPI
2026-08-05$631.6953,81411.744,9399.18%1,11722.62%$0.566
2026-08-06$660.3460,12410.984,6437.72%99221.37%$0.666

Pooling across hours is a mix comparison, weighted by delivery, so these rows can move with no hour changing. Pooled and hour-by-hour agree on CTR.

The three measures, both days:

measure08-0508-06
booked$1,427.51 (2.26)$1,401.05 (1.76)
within-day$898.32 (1.42)$620.48 (0.78)
cohort @24h$1,258.59 (1.99), 100% covered$702.17 (0.88), 58% covered

Cohort@24h is 58% covered on this cut, 08-05's 100%. The completed figure is in Caveats; day-over-day reads above run on within-day.

Booked revenue by the day its payer installed, whose top row is the within-day figure:

installedbooked on 08-06share
2026-08-06$620.4844.3%
2026-08-05$437.5931.2%
2026-08-04$84.126.0%
2026-08-03$88.976.4%
2026-08-02$81.645.8%
2026-08-01$66.744.8%

Booked held up (−1.9%) while within-day fell 30.9%, and the split says why: 55.7% of what the account booked on 08-06 came from people who installed earlier. On 08-05 that inherited share was 37.1%. A day whose own cohort earns less looks flat on Meta's number and poor on ours; both are true of different populations.

2026-08-07T08:03:32.192645 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ booked within-day cohort @ 24h 0 200 400 600 800 1000 1200 1400 USD 2.26 1.42 1.99 1.76 0.78 0.88 the number above each bar is that measure's ROAS against the same day's spend The three revenue measures, 2026-08-05 against 2026-08-06 (UTC) 2026-08-05 2026-08-06
The three measures on both days
2026-08-07T08:03:32.245110 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 2026-08-05 2026-08-06 0 200 400 600 800 1000 1200 1400 USD the bottom segment IS the within-day figure: the same number seen twice Booked revenue by the day its payer installed (UTC) the day itself one day earlier two days earlier three days earlier four or more
Booked split by install day

5The campaigns, side by side

Delivery is Meta's instrument on both sides of every ratio; every revenue measure is ours. Cohort horizon H=24h. Report clock UTC. Rank on CPM, cost per click and CPI only. Geography is the treatment here, which is what makes those comparable across campaigns, while revenue still needs 16 payers (DECISION_LOG.md #37, #48) and a campaign under that bar carries a direction and never a magnitude.

campaignspendshareimpressionsimpr shareCPMclicksCTRcost/clickinstallsCPIwithin-daywROASpayers
Worldwide$676.5385.2%67,74996.2%9.995,2187.70%$0.1301,117$0.606$556.650.8249
German (DE/AT)$117.4114.8%2,6623.8%44.111856.95%$0.63554$2.174$63.830.547

Booking with no delivery, and excluded from every rate above: Earner (retired 08-03) 1 install (Meta), 13 registrations (ours), $0.00 within-day. Counting them would put installs into the CPI denominator against spend that never happened.

Account CPM $11.74 → $11.28 (−3.9%); held to 2026-08-05's campaign mix, $11.15 (−5.0%). The mix is worth about a point, because the split barely moved.

A German impression costs 4.4× a worldwide one and a German click 4.9×, on 2,662 impressions in its last full day before the switch-off.

6Per campaign

Showing

Worldwide — every section below this line is Worldwide's: the day, the hours, the countries, the campaigns and the assets, counted on Worldwide's own ledger and its own accounts. Use the buttons above to switch.

Structure on this day

Six ad sets, five holding one delivering ad. ..._d100_spill holds a replacement pair of which one delivers, so the ad-set row is the ad row on this day and rows are labelled by asset. E2/mugshot was switched off on 08-04 and appears with $0.00 spend against a conversion-hour tail.

A. Per asset — delivery

Meta's instrument on both sides of every ratio. Our registrations never enter this table.

assetspendimpressionsCPMclicksCTRinstallsclick→installCPI
E2/bikini$144.4916,9838.511,1876.99%24020.22%$0.602
E2/lounge$142.7310,14414.078698.57%17520.14%$0.816
E2/pool5$134.6316,3578.231,2067.37%25020.73%$0.539
E2/spill2$131.209,95513.181,00310.08%21621.54%$0.607
E2/bodysuit$123.4814,3108.639536.66%23524.66%$0.525
E2/mugshot$0.000—0—1—$0.000

B. Per asset — the three revenue measures

Ours on every column. Meta can express only booked, so it rides bracketed beside that column and never as a row. Payers are distinct people, never transactions. Cohort horizon H=24h, 58% covered on this day. Report clock UTC.

assetbookedbROAS (Meta)within-daywROAScohort@HcROASpayerspayer%ARPUARPPUlargest payer
E2/bikini$194.141.34 (1.04)$138.010.96$145.131.00103.8%0.52113.8044.2%
E2/lounge$92.380.65 (1.28)$92.380.65$113.570.80105.3%0.4919.2425.5%
E2/pool5$350.562.60 (2.97)$121.480.90$121.480.90135.0%0.4679.3435.4%
E2/spill2$122.740.94 (1.72)$98.240.75$146.641.1283.5%0.42712.2843.3%
E2/bodysuit$341.262.76 (2.44)$106.540.86$111.530.9083.2%0.42313.3244.3%
E2/mugshot$35.19— (—)$0.00—$0.00—00.0%0.000——

The 16-payer bar (#37): any row above whose payer count is under 16 is a direction and never a magnitude.

C. Per asset — country mix

⚠ This table is cut on the META day, while every other table on this page is on the UTC clock. Meta serves no hour × country grid, so per-country delivery exists only on the ad account's own UTC-7 day and cannot be restitched. It is a seven-hour-offset window against tables A and B above; read it for mix, never for level against them.

The last column is the share of that asset's own within-day revenue that came from the United States: where it far exceeds the US spend share, the return is a property of the geography the asset bought.

assetspendIndia %US %other %US % of its revenue
E2/bikini$147.8029.3%9.2%61.6%70.9%
E2/lounge$156.8018.6%12.1%69.3%5.4%
E2/pool5$124.2123.0%13.6%63.5%58.4%
E2/spill2$133.9816.7%11.7%71.7%8.1%
E2/bodysuit$116.0927.5%9.1%63.3%0.0%

Charts

2026-08-16T16:10:05.404006 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 3 6 9 12 15 18 21 hour (UTC) 0 10 20 30 40 USD Spend by hour 0 3 6 9 12 15 18 21 hour (UTC) 1500 2000 2500 3000 3500 4000 4500 5000 impressions Impressions and installs by hour impressions installs 20 30 40 50 60 70 installs (Meta Leads) The day's motion — whole account, 2026-08-06 (UTC)
The day's motion: spend by hour, and impressions against installs
2026-08-16T16:10:05.548233 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 4 8 12 16 20 hour (UTC) 7.0 7.5 8.0 8.5 9.0 9.5 CTR % CTR 0 4 8 12 16 20 hour (UTC) 8 9 10 11 12 USD per 1,000 impressions CPM 0 4 8 12 16 20 hour (UTC) 16 18 20 22 24 26 28 installs / clicks % Click → install 0 4 8 12 16 20 hour (UTC) 0.5 0.6 0.7 0.8 0.9 USD Cost per install Delivery by hour — Worldwide, 2026-08-06 (UTC)
CTR, CPM, click-to-install and CPI by hour, Worldwide
2026-08-16T16:10:05.707913 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 5 10 15 20 hour (UTC) 7 8 9 10 11 12 CTR % CTR 2026-08-05 2026-08-06 0 5 10 15 20 hour (UTC) 8 10 12 14 16 USD per 1,000 impressions CPM 0 5 10 15 20 hour (UTC) 16 18 20 22 24 26 28 30 installs / clicks % Click → install 0 5 10 15 20 hour (UTC) 0.3 0.4 0.5 0.6 0.7 0.8 0.9 USD Cost per install Delivery by hour — 2026-08-06 against 2026-08-05, shared hours only (UTC)
The same four ratios with the prior day laid over the day, shared hours only
2026-08-16T16:10:05.835037 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ IN US TR MX ID GB AR PH MY CA IT FR 0 25 50 75 100 125 150 175 USD spend and installs are a META-day cut (no hour x country grid exists); revenue is the report day Spend against within-day revenue by country — 2026-08-06 spend within-day revenue
Spend against within-day revenue, by country
2026-08-16T16:10:05.894772 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ IN US TR MX ID GB AR PH MY CA IT FR 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 USD per install Cost per install by country — 2026-08-06 (META day)
Cost per install by country
2026-08-16T16:10:05.953498 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ booked within-day cohort @ 24h 0 200 400 600 800 1000 1200 USD 2.18 1.63 2.31 1.69 0.82 0.94 the number above each bar is that measure's ROAS against the same day's spend The three revenue measures, 2026-08-05 against 2026-08-06 (UTC) 2026-08-05 2026-08-06
The three revenue measures on both days, ROAS above each bar
2026-08-16T16:10:06.005957 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 2026-08-05 2026-08-06 0 200 400 600 800 1000 USD the bottom segment IS the within-day figure: the same number seen twice Booked revenue by the day its payer installed (UTC) the day itself one day earlier two days earlier three days earlier four or more
Booked revenue by the day its payer installed
2026-08-16T16:10:06.059860 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 4 6 8 10 12 14 16 CTR % CTR by hour — every asset, 2026-08-06 (UTC) E2/bikini E2/lounge E2/pool5 E2/spill2 E2/bodysuit
CTR by hour, one line per asset
2026-08-16T16:10:06.175710 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 10 20 30 40 50 installs / clicks % Click → install by hour — every asset, 2026-08-06 (UTC) E2/bikini E2/lounge E2/pool5 E2/spill2 E2/bodysuit
Click-to-install by hour, one line per asset
2026-08-16T16:10:06.231266 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 0.5 1.0 1.5 2.0 2.5 USD Cost per install by hour — every asset, 2026-08-06 (UTC) E2/bikini E2/lounge E2/pool5 E2/spill2 E2/bodysuit
Cost per install by hour, one line per asset
2026-08-16T16:10:06.120489 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 7.5 10.0 12.5 15.0 17.5 20.0 22.5 USD per 1,000 impressions CPM by hour — every asset, 2026-08-06 (UTC) E2/bikini E2/lounge E2/pool5 E2/spill2 E2/bodysuit
CPM by hour, one line per asset
2026-08-16T16:10:06.322510 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ E2/lounge E2/bikini E2/spill2 E2/pool5 E2/bodysuit 0 20 40 60 80 100 % of that asset's spend Where each asset bought — share of its own spend by region, 2026-08-06 (META day) IN US TR MX ID GB other
Where each asset bought: share of its own spend by region
2026-08-16T16:10:06.390948 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ E2/lounge E2/bikini E2/spill2 E2/pool5 E2/bodysuit 0.0 0.5 1.0 1.5 2.0 2.5 USD per install Cost per install by region — every asset, 2026-08-06 (META day) IN US TR MX ID GB
Cost per install by region, every asset
2026-08-16T16:10:06.439522 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ E2/lounge E2/bikini E2/spill2 E2/pool5 E2/bodysuit 0 20 40 60 80 100 USD Within-day revenue by region — every asset, 2026-08-06 (META day) IN US TR MX GB
Within-day revenue by region, every asset
2026-08-16T16:10:06.514354 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-03 08-04 08-05 08-06 day (UTC) 0 1 2 3 4 5 6 7 8 payers / installs % Payer rate by day — every asset (UTC) E2/pool5 E2/bodysuit E2/bikini E2/spill2 E2/lounge E2/mugshot E2/spill
Payer rate by day, one line per asset
2026-08-16T16:10:06.575506 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-03 08-04 08-05 08-06 day (UTC) 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 within-day USD per install ARPU by day — every asset (UTC) E2/pool5 E2/bodysuit E2/bikini E2/spill2 E2/lounge E2/mugshot E2/spill
ARPU by day, one line per asset
2026-08-16T16:10:06.634526 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-03 08-04 08-05 08-06 day (UTC) 0 5 10 15 20 25 within-day USD per payer ARPPU by day — every asset (UTC) E2/pool5 E2/bodysuit E2/bikini E2/spill2 E2/lounge E2/mugshot E2/spill
ARPPU by day, one line per asset
2026-08-16T16:10:06.719730 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-03 08-04 08-05 08-06 day (UTC) 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 revenue / spend Within-day ROAS by day — every asset (UTC) E2/pool5 E2/bodysuit E2/bikini E2/spill2 E2/lounge E2/mugshot E2/spill
Within-day ROAS by day, one line per asset
2026-08-16T16:10:06.787537 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ CTR click→install CPI payer rate * ARPU * wROAS * 0.0 0.2 0.4 0.6 0.8 1.0 normalised across the day (1.0 = best of the pack) * axis sits under the 16-payer bar on most days: direction only, never a level. Assets under 20 installs on the day are not plotted. Composite — every asset across every measure, 2026-08-06 E2/bikini E2/lounge E2/pool5 E2/spill2 E2/bodysuit
Composite: every asset across every measure, normalised across the day

The split test, on its own hours

The five-cell test ran its first day. Meta runs A/B windows on the ad account's calendar, "Aug 6, 2026, 12:00 AM – Aug 11, 2026, 12:00 AM Pacific Time", so this block is read on PT over the hours the test actually ran, from the first settled hour after the arms went level.

Three arms went $100 → $150 at 04:05–04:06 PT on 08-06, read from the activity history. The window below is therefore Meta 08-06 hours 04–23 PT, all five arms level at $150/day.

armspendCPMCTRinstallsCPIclick→install
bodysuit$100.238.396.75%186$0.53923.08%
pool5$107.068.196.87%182$0.58820.27%
bikini$134.208.746.63%204$0.65820.04%
spill$117.2612.698.42%166$0.70621.34%
lounge$143.1911.317.95%185$0.77418.37%

Meta's own results page ranks them identically, which is two instruments agreeing.

⚠ The CPI ranking is the spend ranking, Spearman +0.90. With #48's CTR spend elasticity of −0.724, day 1 cannot separate creative from spend rate.

The split does not equalise spend. Realised spend runs $100.23–$143.19, a 1.43× range, and impressions 1.66×, so E2's "delivery forced equal" is too strong.

Nothing separates after correction. The best pair is bodysuit against lounge on click→install, p = 0.0136, one of ten post-hoc tests against a Bonferroni 0.005.

German (DE/AT) — every section below this line is German (DE/AT)'s: the day, the hours, the countries, the campaigns and the assets, counted on German (DE/AT)'s own ledger and its own accounts. Use the buttons above to switch.

Structure on this day

Two ad sets, and this is the campaign that needs the ad level: deat_broad_purchase_adv_d75 holds 15 ads with 2 delivering, and deat_ww4_broad_purchase_adv holds 4 delivering concurrently.

A. Per asset — delivery

Meta's instrument on both sides of every ratio. Our registrations never enter this table.

assetspendimpressionsCPMclicksCTRinstallsclick→installCPI
DEww/bodysuit$62.691,46142.91865.89%3034.88%$2.090
DEww/spill2$20.8228174.093412.10%617.65%$3.470
DE/german_mature$19.6746742.12388.14%1231.58%$1.639
DEww/bikini$6.7316939.82127.10%325.00%$2.243
DEww/pool5$5.0025119.92114.38%19.09%$5.000
DE/german$2.503375.76412.12%125.00%$2.500

B. Per asset — the three revenue measures

Ours on every column. Meta can express only booked, so it rides bracketed beside that column and never as a row. Payers are distinct people, never transactions. Cohort horizon H=24h, 58% covered on this day. Report clock UTC.

assetbookedbROAS (Meta)within-daywROAScohort@HcROASpayerspayer%ARPUARPPUlargest payer
DEww/bodysuit$24.750.39 (0.40)$24.750.39$24.750.39311.5%0.9528.2537.6%
DEww/spill2$0.000.00 (0.00)$0.000.00$0.000.0000.0%0.000——
DE/german_mature$33.341.69 (1.70)$33.341.69$33.341.69321.4%2.38111.1165.5%
DEww/bikini$5.740.85 (0.86)$5.740.85$5.740.85133.3%1.9155.74100.0%
DEww/pool5$0.000.00 (0.00)$0.000.00$0.000.0000.0%0.000——
DE/german$0.000.00 (0.00)$0.000.00$0.000.0000.0%0.000——

The 16-payer bar (#37): any row above whose payer count is under 16 is a direction and never a magnitude.

C. Per asset — country mix

⚠ This table is cut on the META day, while every other table on this page is on the UTC clock. Meta serves no hour × country grid, so per-country delivery exists only on the ad account's own UTC-7 day and cannot be restitched. It is a seven-hour-offset window against tables A and B above; read it for mix, never for level against them.

The last column is the share of that asset's own within-day revenue that came from the United States: where it far exceeds the US spend share, the return is a property of the geography the asset bought.

assetspendIndia %US %other %US % of its revenue
DEww/bodysuit$59.360.0%0.0%100.0%0.0%
DEww/spill2$18.130.0%0.0%100.0%—
DE/german_mature$18.560.0%0.0%100.0%0.0%
DEww/bikini$6.470.0%0.0%100.0%0.0%
DEww/pool5$5.780.0%0.0%100.0%—
DE/german$1.640.0%0.0%100.0%—

Charts

2026-08-16T16:10:10.296685 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 3 6 9 12 15 18 21 hour (UTC) 0 2 4 6 8 10 USD Spend by hour 0 3 6 9 12 15 18 21 hour (UTC) 20 40 60 80 100 120 140 160 180 impressions Impressions and installs by hour impressions installs 0 1 2 3 4 5 installs (Meta Leads) The day's motion — whole account, 2026-08-06 (UTC)
The day's motion: spend by hour, and impressions against installs
2026-08-16T16:10:10.444205 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 4 8 12 16 20 hour (UTC) 4 6 8 10 12 CTR % CTR 0 4 8 12 16 20 hour (UTC) 30 40 50 60 70 80 90 USD per 1,000 impressions CPM 0 4 8 12 16 20 hour (UTC) 0 20 40 60 80 installs / clicks % Click → install 0 4 8 12 16 20 hour (UTC) 1 2 3 4 5 USD Cost per install Delivery by hour — German (DE/AT), 2026-08-06 (UTC)
CTR, CPM, click-to-install and CPI by hour, German (DE/AT)
2026-08-16T16:10:10.619601 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 hour (UTC) 0 2 4 6 8 10 12 14 CTR % CTR 2026-08-05 2026-08-06 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 hour (UTC) 30 40 50 60 70 80 90 USD per 1,000 impressions CPM 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 hour (UTC) 0 20 40 60 80 installs / clicks % Click → install 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 hour (UTC) 1 2 3 4 5 6 USD Cost per install Delivery by hour — 2026-08-06 against 2026-08-05, shared hours only (UTC)
The same four ratios with the prior day laid over the day, shared hours only
2026-08-16T16:10:10.731926 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ DE AT 0 20 40 60 80 100 USD spend and installs are a META-day cut (no hour x country grid exists); revenue is the report day Spend against within-day revenue by country — 2026-08-06 spend within-day revenue
Spend against within-day revenue, by country
2026-08-16T16:10:10.764225 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ DE AT 0.0 0.5 1.0 1.5 2.0 2.5 USD per install Cost per install by country — 2026-08-06 (META day)
Cost per install by country
2026-08-16T16:10:10.813654 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ booked within-day cohort @ 24h 0 10 20 30 40 50 60 USD 0.23 0.23 0.23 0.54 0.54 0.54 the number above each bar is that measure's ROAS against the same day's spend The three revenue measures, 2026-08-05 against 2026-08-06 (UTC) 2026-08-05 2026-08-06
The three revenue measures on both days, ROAS above each bar
2026-08-16T16:10:10.868500 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 2026-08-05 2026-08-06 0 10 20 30 40 50 60 USD the bottom segment IS the within-day figure: the same number seen twice Booked revenue by the day its payer installed (UTC) the day itself one day earlier two days earlier three days earlier four or more
Booked revenue by the day its payer installed
2026-08-16T16:10:10.924338 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 2 4 6 8 10 12 CTR % CTR by hour — every asset, 2026-08-06 (UTC) DEww/bodysuit DE/german_mature
CTR by hour, one line per asset
2026-08-16T16:10:11.032641 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 0 20 40 60 80 100 installs / clicks % Click → install by hour — every asset, 2026-08-06 (UTC) DEww/bodysuit DE/german_mature
Click-to-install by hour, one line per asset
2026-08-16T16:10:11.084544 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 1.0 1.5 2.0 2.5 3.0 USD Cost per install by hour — every asset, 2026-08-06 (UTC) DEww/bodysuit
Cost per install by hour, one line per asset
2026-08-16T16:10:10.975621 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 0 2 4 6 8 10 12 14 16 18 20 22 hour (UTC) 30 35 40 45 50 55 60 USD per 1,000 impressions CPM by hour — every asset, 2026-08-06 (UTC) DEww/bodysuit DE/german_mature
CPM by hour, one line per asset
2026-08-16T16:10:11.151755 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ DEww/bodysuit 0 20 40 60 80 100 % of that asset's spend Where each asset bought — share of its own spend by region, 2026-08-06 (META day) DE AT other
Where each asset bought: share of its own spend by region
2026-08-16T16:10:11.184729 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ DEww/bodysuit 0.0 0.5 1.0 1.5 2.0 USD per install Cost per install by region — every asset, 2026-08-06 (META day) DE AT
Cost per install by region, every asset
2026-08-16T16:10:11.222091 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ DEww/bodysuit 0 2 4 6 8 10 12 14 16 USD Within-day revenue by region — every asset, 2026-08-06 (META day) DE AT
Within-day revenue by region, every asset
2026-08-16T16:10:11.272264 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-03 08-04 08-05 08-06 day (UTC) 0 2 4 6 8 10 12 payers / installs % Payer rate by day — every asset (UTC) DEww/bodysuit
Payer rate by day, one line per asset
2026-08-16T16:10:11.312679 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-03 08-04 08-05 08-06 day (UTC) 0.0 0.2 0.4 0.6 0.8 1.0 within-day USD per install ARPU by day — every asset (UTC) DEww/bodysuit
ARPU by day, one line per asset
2026-08-16T16:10:11.361526 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-03 08-04 08-05 08-06 day (UTC) 0 1 2 3 4 5 6 7 8 within-day USD per payer ARPPU by day — every asset (UTC) DEww/bodysuit
ARPPU by day, one line per asset
2026-08-16T16:10:11.412584 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ 08-03 08-04 08-05 08-06 day (UTC) 0.375 0.380 0.385 0.390 0.395 0.400 0.405 0.410 0.415 revenue / spend Within-day ROAS by day — every asset (UTC) DEww/bodysuit
Within-day ROAS by day, one line per asset
2026-08-16T16:10:11.465041 image/svg+xml Matplotlib v3.11.1, https://matplotlib.org/ CTR click→install CPI payer rate * ARPU * wROAS * 0.0 0.2 0.4 0.6 0.8 1.0 normalised across the day (1.0 = best of the pack) * axis sits under the 16-payer bar on most days: direction only, never a level. Assets under 20 installs on the day are not plotted. Composite — every asset across every measure, 2026-08-06 DEww/bodysuit
Composite: every asset across every measure, normalised across the day

Seven payers across the whole campaign. No German cell has ever cleared the 16-payer bar, so every figure in table B is a direction.

Within-set concentration recurred. Inside deat_ww4_broad_purchase_adv, bodysuit took 67.7% of the set's spend and pool5 3.8%, so its four worldwide creatives cannot be ranked.

The campaign was switched off at 22:49 PT on 08-06, ending Gen 7 at about 33 hours. The full read is in german_worldwide_swap_2026-08-06.md.

7Caveats

The cohort figure below was published at 58% coverage and has since completed. At the full 24-hour horizon 2026-08-06's cohort is $715.22, the figure the 2026-08-07 report carries in its prior-day column; what this page shows is a lower-coverage read of the same cohort, not a different number. Against 08-05's completed $1,258.59 the day reads −43.2% — the comparison this page declined. Within-day and booked are unaffected; they were sealed and settled when this page shipped.

The prior day's figures differ slightly from the published 08-05 report. That report was built from an hourly export pulled at 19:23 PT on 08-05, two hours after the UTC day closed; this one uses a settled re-pull. Spend moves $625.17 → $631.70, +1.0%. The direction is the documented one, Meta going on settling for a few hours, and it is why exports are pulled after the day closes.

Cohort@24h is 58% covered on this cut. The day-over-day reads on this page run on within-day; Caveats carries the completed figure.

The country table is a META-day cut and is seven hours offset from every other table here.

The split's one-arm assignment is what removed the disjoint-delivery failure that voided Gen 5.

The day the CTR fell is the day the split test began, and those may not be independent. Before 08-06 the five ad sets shared an audience, and Meta's auction-overlap rule entered the highest-value one of them into each auction. From 08-06 each person is assigned to exactly one arm, so the account lost a max-of-five selection it had been getting for free. That mechanism predicts a CTR fall with no creative getting worse and no audience getting worse. It is a hypothesis, but it means pre-test days are not a clean baseline for test days, and the 15.9% pooled CTR fall should not be read as decay.

8What would settle the open questions

9What this hands to the next report

The test has four days left and 08-07 is the first day comparable to another in-test day. The German campaign is off, so 08-07 is a single-campaign day again and section 5 will carry one row plus the German booking tail.

10Reproduce

python -m ad_ops.measures       --config _runs/2026-08-06_gen7_and_candidates/run_config.json --day
2026-08-06 --prev 2026-08-05
python -m ad_ops.day_compare    --config … --today 2026-08-06 --prev 2026-08-05 --h 6
python -m ad_ops.cohort_arpu    --config … --days 2026-08-02,…,2026-08-06
python -m ad_ops.asset_estimator hourly --meta <08-04,08-05,08-06 hourly> --lum <run>/lum --fx … \
    --ads ww_bikini_10s,ww_bodysuit_10s,ww_pool5,ww_spill,ww_lounge \
    --campaign bailingxia_meituan_ww_cvr_260802 --horizon 24
python -m ad_ops.report_tables  --config … --day 2026-08-06 --prev 2026-08-05 [--campaign-table | --campaign ww|de]
python -m ad_ops.report_charts  --config … --day 2026-08-06 --prev 2026-08-05 --days 2026-08-03,…,2026-08-06

Exports pulled 2026-08-07 04:07–07:49 PT: ads × hour for Meta days 08-05 and 08-06 (24 buckets each), ads × day and ads × country × day for Jul 1 → Aug 7. Lum Telegram export taken on the laptop 2026-08-07 07:55–08:00 PT: 15,234 registrations, 1,598 payments, 8 unmatched, payment data cut 2026-08-07 14:53 UTC. Both counts rose against the previous cut and unmatched sits at 0.5%, which are the three tells that the export is not truncated.

11Appendix — definitions

The report clock is UTC. Adjust reports in UTC, so a UTC-bucketed report lines up with the attribution dashboard. Meta's ad account is fixed at UTC-7, so a UTC day is Meta day D-1 17:00–23:59 plus Meta day D 00:00–16:59, which is why every daily needs two hourly exports. Table C's per-asset country mix cannot follow it: the rake is per ACCOUNT, against that account's own hourly margin, and an asset has no hourly margin of its own.

The three revenue measures, never one, never mixed, always labelled:

measurecountsmoves after the day closes?
bookedrevenue that arrived inside the day, whatever day its payer installed. Meta's own number is this basissettles ~4 h after midnight, then fixed
within-dayinstalled that day and paid before that day closednever. Sealed at midnight
cohort at Hthat day's installs, counted within H hours of each person's own install. House horizon H=24rises until every install has lived H hours. Always state coverage

All three are read on our own payment records. Meta can express only booked, so it appears bracketed beside that column and never as a row of its own.

A regime is a stretch over which the ad set's daily budget did not change. It matters because the budget is a geography dial on this account: raising it buys wider, cheaper countries, so two creatives measured across a budget change are compared on different audiences.

Internal — noindex. Not for distribution outside the team.