The account bought $745.02 and got 814 installs at $0.915, against $749.94 and 998 at $0.751 the day before. Booked revenue was $1,695.44; within-day was $996.74, up 128.1% on the same spend. Our records read 0.99 and 1.04 of Meta's booked figure on the account's own clock, inside the documented 0.91–1.06 band. The German campaign was off for the whole day, so the worldwide buy is 100% of it against 98.4% the day before, and this is the third complete day of the five-cell split test; definitions and the report clock are in the appendix.
Delivery rows are the delivering campaigns summed. The retired earner's booking tail (1 install (Meta), 17 registrations (ours), $3.35 within-day, 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-07 | 2026-08-08 | move | |
|---|---|---|---|
| spend | $749.94 | $745.02 | −0.7% |
| impressions | 81,142 | 75,033 | −7.5% |
| CPM | $9.24 | $9.93 | +7.5% |
| clicks | 5,016 | 4,202 | −16.2% |
| CTR | 6.18% | 5.60% | −9.4% |
| installs (Meta) | 998 | 814 | −18.4% |
| click→install | 19.90% | 19.37% | −2.6% |
| CPI | $0.751 | $0.915 | +21.8% |
| booked (Meta) | $1,505.16 (2.01) | $1,695.44 (2.28) | +12.6% |
| within-day | $436.98 (0.58) | $996.74 (1.34) | +128.1% |
| cohort @ 24h | $472.45 (0.63) | $1,163.66 (1.56) | +146.3% |
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.
| app | ARPU (d0) | ARPU (d3) | ARPU (d7) | ARPPU (d0) | ARPPU (d3) | ARPPU (d7) | installs |
|---|---|---|---|---|---|---|---|
| Vloom | $1.0710 | $1.7803 | $2.6828 | $17.93 | $26.19 | $37.21 | 971 |
Campaign spend split, both days. Worldwide $737.89 (98.4%) → $745.02 (100.0%); German $12.05 (1.6%) → $0.00.
Delivery got worse for the fourth day running and the money side reversed. Same spend, 21.8% more per install, within-day revenue more than doubled.
The country mix moved. US installs 4.7% → 7.1%: +13% of the payer-rate move and +13% of revenue per install, 87% inside countries (section 3).
It rests on 47 payers, one of whom is a seventh of the day. Payer rate 3.84% → 5.99%, ARPPU $11.58 → $20.18.
The split test's ranking did not replicate on its third day. Spearman +0.70 between the first two days, +0.10 against the third (section 6).
Hours both days delivered in, on the UTC clock: 00 through 23. Only the shared hours are compared.
Every hour of the day itself, all three revenue measures beside the delivery funnel. Delivery columns are Meta's on both sides of each ratio; ours is our own registrations and every revenue column is ours. cov is that hour's cohort coverage at H=24, which falls to zero in the last hours because those installs have not yet lived a full day.
| hr | spend | impr | CPM | clicks | CTR | inst | clk→i | CPI | ours | cov | booked | bROAS | bPay | within | wROAS | wPay | wARPU | wARPPU | cohort | cROAS | cPay | cARPU | cARPPU |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | $16.04 | 1474 | 10.88 | 100 | 6.78% | 30 | 30.0% | $0.535 | 33 | 100% | $14.99 | 0.93 | 3 | $5.61 | 0.35 | 1 | 0.170 | 5.61 | $5.61 | 0.35 | 1 | 0.170 | 5.61 |
| 1 | $21.25 | 2163 | 9.82 | 147 | 6.80% | 38 | 25.9% | $0.559 | 40 | 100% | $24.35 | 1.15 | 5 | $82.63 | 3.89 | 4 | 2.066 | 20.66 | $82.63 | 3.89 | 4 | 2.066 | 20.66 |
| 2 | $22.99 | 2373 | 9.69 | 132 | 5.56% | 24 | 18.2% | $0.958 | 30 | 100% | $55.93 | 2.43 | 6 | $7.98 | 0.35 | 1 | 0.266 | 7.98 | $7.98 | 0.35 | 1 | 0.266 | 7.98 |
| 3 | $23.47 | 2891 | 8.12 | 175 | 6.05% | 26 | 14.9% | $0.903 | 31 | 100% | $24.23 | 1.03 | 3 | $11.70 | 0.50 | 2 | 0.377 | 5.85 | $11.70 | 0.50 | 2 | 0.377 | 5.85 |
| 4 | $27.72 | 3027 | 9.16 | 172 | 5.68% | 35 | 20.3% | $0.792 | 41 | 100% | $14.29 | 0.52 | 3 | $248.72 | 8.97 | 3 | 6.066 | 82.91 | $248.72 | 8.97 | 3 | 6.066 | 82.91 |
| 5 | $25.04 | 2891 | 8.66 | 143 | 4.95% | 26 | 18.2% | $0.963 | 28 | 100% | $177.85 | 7.10 | 6 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 6 | $27.75 | 2728 | 10.17 | 149 | 5.46% | 33 | 22.1% | $0.841 | 32 | 100% | $133.10 | 4.80 | 8 | $56.89 | 2.05 | 3 | 1.778 | 18.96 | $56.89 | 2.05 | 3 | 1.778 | 18.96 |
| 7 | $21.19 | 2528 | 8.38 | 144 | 5.70% | 33 | 22.9% | $0.642 | 36 | 100% | $110.07 | 5.19 | 6 | $4.99 | 0.24 | 1 | 0.138 | 4.99 | $4.99 | 0.24 | 1 | 0.138 | 4.99 |
| 8 | $24.75 | 2878 | 8.60 | 146 | 5.07% | 22 | 15.1% | $1.125 | 26 | 100% | $15.44 | 0.62 | 2 | $9.89 | 0.40 | 1 | 0.380 | 9.89 | $9.89 | 0.40 | 1 | 0.380 | 9.89 |
| 9 | $24.82 | 2939 | 8.45 | 158 | 5.38% | 29 | 18.4% | $0.856 | 33 | 100% | $29.14 | 1.17 | 4 | $18.74 | 0.76 | 1 | 0.568 | 18.74 | $18.74 | 0.76 | 1 | 0.568 | 18.74 |
| 10 | $28.79 | 2958 | 9.73 | 141 | 4.77% | 25 | 17.7% | $1.152 | 31 | 100% | $61.49 | 2.14 | 3 | $5.01 | 0.17 | 1 | 0.161 | 5.01 | $5.01 | 0.17 | 1 | 0.161 | 5.01 |
| 11 | $34.41 | 3227 | 10.66 | 166 | 5.14% | 33 | 19.9% | $1.043 | 36 | 100% | $14.89 | 0.43 | 3 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $3.56 | 0.10 | 1 | 0.099 | 3.56 |
| 12 | $33.84 | 3202 | 10.57 | 186 | 5.81% | 30 | 16.1% | $1.128 | 37 | 100% | $36.43 | 1.08 | 5 | $43.64 | 1.29 | 5 | 1.180 | 8.73 | $43.64 | 1.29 | 5 | 1.180 | 8.73 |
| 13 | $39.62 | 3329 | 11.90 | 178 | 5.35% | 41 | 23.0% | $0.966 | 43 | 100% | $106.09 | 2.68 | 9 | $60.89 | 1.54 | 2 | 1.416 | 30.44 | $110.12 | 2.78 | 2 | 2.561 | 55.06 |
| 14 | $38.01 | 3059 | 12.43 | 191 | 6.24% | 33 | 17.3% | $1.152 | 37 | 100% | $102.97 | 2.71 | 7 | $18.19 | 0.48 | 2 | 0.492 | 9.09 | $18.19 | 0.48 | 2 | 0.492 | 9.09 |
| 15 | $37.26 | 4143 | 8.99 | 250 | 6.03% | 45 | 18.0% | $0.828 | 55 | 100% | $35.58 | 0.95 | 8 | $49.45 | 1.33 | 5 | 0.899 | 9.89 | $54.44 | 1.46 | 6 | 0.990 | 9.07 |
| 16 | $38.02 | 4231 | 8.99 | 239 | 5.65% | 47 | 19.7% | $0.809 | 54 | 100% | $140.63 | 3.70 | 10 | $30.04 | 0.79 | 3 | 0.556 | 10.01 | $64.77 | 1.70 | 4 | 1.199 | 16.19 |
| 17 | $41.53 | 5225 | 7.95 | 239 | 4.57% | 42 | 17.6% | $0.989 | 41 | 100% | $117.67 | 2.83 | 10 | $113.99 | 2.74 | 4 | 2.780 | 28.50 | $113.99 | 2.74 | 4 | 2.780 | 28.50 |
| 18 | $40.08 | 4614 | 8.69 | 232 | 5.03% | 45 | 19.4% | $0.891 | 47 | 100% | $77.00 | 1.92 | 5 | $47.33 | 1.18 | 2 | 1.007 | 23.67 | $47.33 | 1.18 | 2 | 1.007 | 23.67 |
| 19 | $36.45 | 3363 | 10.84 | 209 | 6.21% | 37 | 17.7% | $0.985 | 43 | 100% | $22.82 | 0.63 | 4 | $11.52 | 0.32 | 2 | 0.268 | 5.76 | $11.52 | 0.32 | 2 | 0.268 | 5.76 |
| 20 | $39.49 | 3465 | 11.40 | 202 | 5.83% | 41 | 20.3% | $0.963 | 44 | 100% | $70.23 | 1.78 | 5 | $32.21 | 0.82 | 2 | 0.732 | 16.10 | $32.21 | 0.82 | 2 | 0.732 | 16.10 |
| 21 | $34.65 | 2951 | 11.74 | 173 | 5.86% | 30 | 17.3% | $1.155 | 32 | 100% | $78.03 | 2.25 | 7 | $50.05 | 1.44 | 3 | 1.564 | 16.68 | $50.05 | 1.44 | 3 | 1.564 | 16.68 |
| 22 | $33.89 | 2774 | 12.22 | 192 | 6.92% | 43 | 22.4% | $0.788 | 40 | 100% | $170.71 | 5.04 | 8 | $81.34 | 2.40 | 2 | 2.034 | 40.67 | $152.20 | 4.49 | 3 | 3.805 | 50.73 |
| 23 | $33.96 | 2600 | 13.06 | 138 | 5.31% | 26 | 18.8% | $1.306 | 32 | 100% | $61.50 | 1.81 | 3 | $5.93 | 0.17 | 1 | 0.185 | 5.93 | $9.49 | 0.28 | 1 | 0.297 | 9.49 |
| ALL | $745.02 | 75033 | 9.93 | 4202 | 5.60% | 814 | 19.4% | $0.915 | 902 | 100% | $1695.44 | 2.28 | 133 | $996.74 | 1.34 | 51 | 1.105 | 19.54 | $1163.66 | 1.56 | 55 | 1.290 | 21.16 |
Counting which way each shared hour points, which needs no weighting and asks only for a direction:
| metric | hours 2026-08-08 ran higher | hours it ran lower | sign test |
|---|---|---|---|
| CPM | 17 of 24 | 7 of 24 | p = 0.064 |
| CTR | 5 of 24 | 19 of 24 | p = 0.007 |
| click→install | 9 of 24 | 15 of 24 | p = 0.307 |
| CPI | 19 of 24 | 5 of 24 | p = 0.007 |
A sign test throws magnitude away and buys weight-free direction with it. CTR ran lower in 19 of the 24 shared hours and CPI higher in 19 of 24, so neither is an artifact of when the day bought. CPM misses 0.05 and click→install points nowhere.
Within-day revenue is one hour. Hour 04 alone carries $248.72 of the day's $996.74, a quarter of it, on three payers.
Every shared hour, 2026-08-07 → 2026-08-08. All columns are Meta's instrument on both sides of each ratio. Revenue is deliberately absent: per-hour payer counts run 0 to 5, so an hourly revenue column would be one person's basket read as a rate.
| hr | impressions | CPM | CTR | click→install | CPI |
|---|---|---|---|---|---|
| 00 | 2,615 → 1,474 | 10.65 → 10.88 | 6.88% → 6.78% | 18.9% → 30.0% | 0.819 → 0.535 |
| 01 | 3,149 → 2,163 | 8.18 → 9.82 | 6.38% → 6.80% | 18.9% → 25.9% | 0.678 → 0.559 |
| 02 | 3,370 → 2,373 | 8.15 → 9.69 | 6.62% → 5.56% | 18.8% → 18.2% | 0.654 → 0.958 |
| 03 | 3,416 → 2,891 | 8.47 → 8.12 | 6.24% → 6.05% | 18.8% → 14.9% | 0.723 → 0.903 |
| 04 | 3,507 → 3,027 | 9.71 → 9.16 | 5.82% → 5.68% | 19.1% → 20.3% | 0.873 → 0.792 |
| 05 | 3,656 → 2,891 | 9.79 → 8.66 | 6.18% → 4.95% | 21.7% → 18.2% | 0.731 → 0.963 |
| 06 | 3,287 → 2,728 | 6.53 → 10.17 | 6.27% → 5.46% | 21.4% → 22.1% | 0.487 → 0.841 |
| 07 | 3,081 → 2,528 | 8.24 → 8.38 | 5.10% → 5.70% | 19.1% → 22.9% | 0.846 → 0.642 |
| 08 | 3,560 → 2,878 | 7.99 → 8.60 | 6.38% → 5.07% | 15.4% → 15.1% | 0.813 → 1.125 |
| 09 | 3,873 → 2,939 | 8.76 → 8.45 | 5.19% → 5.38% | 22.9% → 18.4% | 0.738 → 0.856 |
| 10 | 3,994 → 2,958 | 9.20 → 9.73 | 5.78% → 4.77% | 18.6% → 17.7% | 0.855 → 1.152 |
| 11 | 4,115 → 3,227 | 9.57 → 10.66 | 5.66% → 5.14% | 20.2% → 19.9% | 0.838 → 1.043 |
| 12 | 4,018 → 3,202 | 8.91 → 10.57 | 6.22% → 5.81% | 16.4% → 16.1% | 0.873 → 1.128 |
| 13 | 4,017 → 3,329 | 8.45 → 11.90 | 5.58% → 5.35% | 20.5% → 23.0% | 0.738 → 0.966 |
| 14 | 3,510 → 3,059 | 11.44 → 12.43 | 6.95% → 6.24% | 19.7% → 17.3% | 0.836 → 1.152 |
| 15 | 4,316 → 4,143 | 7.88 → 8.99 | 6.16% → 6.03% | 17.3% → 18.0% | 0.740 → 0.828 |
| 16 | 3,608 → 4,231 | 8.03 → 8.99 | 6.32% → 5.65% | 16.7% → 19.7% | 0.762 → 0.809 |
| 17 | 4,110 → 5,225 | 8.41 → 7.95 | 6.52% → 4.57% | 16.8% → 17.6% | 0.768 → 0.989 |
| 18 | 3,700 → 4,614 | 11.26 → 8.69 | 7.14% → 5.03% | 20.1% → 19.4% | 0.786 → 0.891 |
| 19 | 3,206 → 3,363 | 10.71 → 10.84 | 5.36% → 6.21% | 25.0% → 17.7% | 0.799 → 0.985 |
| 20 | 2,799 → 3,465 | 10.31 → 11.40 | 6.11% → 5.83% | 28.1% → 20.3% | 0.601 → 0.963 |
| 21 | 2,353 → 2,951 | 11.49 → 11.74 | 6.88% → 5.86% | 27.2% → 17.3% | 0.615 → 1.155 |
| 22 | 2,211 → 2,774 | 12.42 → 12.22 | 6.33% → 6.92% | 23.6% → 22.4% | 0.832 → 0.788 |
| 23 | 1,671 → 2,600 | 10.76 → 13.06 | 7.48% → 5.31% | 20.8% → 18.8% | 0.692 → 1.306 |
(i) The portfolio by country, 2026-08-08. 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.
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| IN | $137.84 | 18.5% | 23,932 | $5.76 | 248 | $0.556 | $142.38 | 1.03 | 19 |
| US | $120.41 | 16.2% | 2,822 | $42.67 | 70 | $1.720 | $348.80 | 2.90 | 18 |
| MX | $32.44 | 4.4% | 4,330 | $7.49 | 50 | $0.649 | $0.00 | 0.00 | 6 |
| GB | $27.58 | 3.7% | 944 | $29.21 | 25 | $1.103 | $28.74 | 1.04 | 4 |
| ID | $21.07 | 2.8% | 3,787 | $5.56 | 39 | $0.540 | $22.67 | 1.08 | 4 |
| PH | $20.69 | 2.8% | 6,361 | $3.25 | 54 | $0.383 | $3.35 | 0.16 | 4 |
| CA | $19.10 | 2.6% | 697 | $27.40 | 10 | $1.910 | $4.99 | 0.26 | 2 |
| AR | $18.82 | 2.5% | 1,504 | $12.51 | 30 | $0.627 | $0.00 | 0.00 | 1 |
| TR | $15.30 | 2.1% | 935 | $16.36 | 17 | $0.900 | $0.00 | 0.00 | 0 |
| IT | $13.97 | 1.9% | 818 | $17.07 | 20 | $0.699 | $48.90 | 3.50 | 3 |
| AU | $13.72 | 1.8% | 366 | $37.52 | 5 | $2.743 | $5.61 | 0.41 | 2 |
| DE | $12.75 | 1.7% | 286 | $44.61 | 6 | $2.125 | $41.43 | 3.25 | 2 |
194 further countries are not listed, $291.33 between them (39.1% 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) $164.26 from Meta 2026-08-07 and $580.76 from Meta 2026-08-08, a measured UTC-day total of $745.02.
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-08.
B1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| IN | $137.84 | 18.5% | 23,932 | $5.76 | 248 | $0.556 | $142.38 | 1.03 | 19 |
| US | $120.41 | 16.2% | 2,822 | $42.67 | 70 | $1.720 | $348.80 | 2.90 | 18 |
| MX | $32.44 | 4.4% | 4,330 | $7.49 | 50 | $0.649 | $0.00 | 0.00 | 6 |
| GB | $27.58 | 3.7% | 944 | $29.21 | 25 | $1.103 | $28.74 | 1.04 | 4 |
| ID | $21.07 | 2.8% | 3,787 | $5.56 | 39 | $0.540 | $22.67 | 1.08 | 4 |
| PH | $20.69 | 2.8% | 6,361 | $3.25 | 54 | $0.383 | $3.35 | 0.16 | 4 |
| CA | $19.10 | 2.6% | 697 | $27.40 | 10 | $1.910 | $4.99 | 0.26 | 2 |
| AR | $18.82 | 2.5% | 1,504 | $12.51 | 30 | $0.627 | $0.00 | 0.00 | 1 |
| TR | $15.30 | 2.1% | 935 | $16.36 | 17 | $0.900 | $0.00 | 0.00 | 0 |
| IT | $13.97 | 1.9% | 818 | $17.07 | 20 | $0.699 | $48.90 | 3.50 | 3 |
| AU | $13.72 | 1.8% | 366 | $37.52 | 5 | $2.743 | $5.61 | 0.41 | 2 |
| DE | $12.75 | 1.7% | 286 | $44.61 | 6 | $2.125 | $41.43 | 3.25 | 2 |
194 further countries are not listed, $291.33 between them (39.1% 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-07, the same two tables.
(i) The portfolio by country, 2026-08-07. 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.
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| IN | $153.42 | 20.5% | 28,467 | $5.39 | 296 | $0.518 | $70.56 | 0.46 | 28 |
| US | $85.38 | 11.4% | 2,161 | $39.50 | 53 | $1.611 | $28.93 | 0.34 | 7 |
| DE | $34.05 | 4.5% | 787 | $43.28 | 13 | $2.619 | $5.74 | 0.17 | 3 |
| TR | $26.60 | 3.5% | 1,572 | $16.92 | 33 | $0.806 | $0.00 | 0.00 | 2 |
| MX | $26.16 | 3.5% | 4,033 | $6.49 | 55 | $0.476 | $5.71 | 0.22 | 3 |
| ID | $22.70 | 3.0% | 4,093 | $5.55 | 53 | $0.428 | $21.95 | 0.97 | 4 |
| GB | $22.08 | 2.9% | 1,007 | $21.92 | 31 | $0.712 | $6.04 | 0.27 | 2 |
| CA | $17.49 | 2.3% | 665 | $26.31 | 19 | $0.921 | $4.99 | 0.29 | 1 |
| PH | $16.48 | 2.2% | 5,524 | $2.98 | 52 | $0.317 | $11.27 | 0.68 | 4 |
| MY | $16.02 | 2.1% | 2,165 | $7.40 | 21 | $0.763 | $0.00 | 0.00 | 1 |
| AR | $15.73 | 2.1% | 1,619 | $9.72 | 31 | $0.507 | $7.98 | 0.51 | 2 |
| IT | $15.47 | 2.1% | 959 | $16.13 | 25 | $0.619 | $9.99 | 0.65 | 3 |
187 further countries are not listed, $298.37 between them (39.8% 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) $201.27 from Meta 2026-08-06 and $548.67 from Meta 2026-08-07, a measured UTC-day total of $749.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-07.
B1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| IN | $153.42 | 20.5% | 28,467 | $5.39 | 296 | $0.518 | $70.56 | 0.46 | 28 |
| US | $85.38 | 11.4% | 2,161 | $39.50 | 53 | $1.611 | $28.93 | 0.34 | 7 |
| DE | $34.05 | 4.5% | 787 | $43.28 | 13 | $2.619 | $5.74 | 0.17 | 3 |
| TR | $26.60 | 3.5% | 1,572 | $16.92 | 33 | $0.806 | $0.00 | 0.00 | 2 |
| MX | $26.16 | 3.5% | 4,033 | $6.49 | 55 | $0.476 | $5.71 | 0.22 | 3 |
| ID | $22.70 | 3.0% | 4,093 | $5.55 | 53 | $0.428 | $21.95 | 0.97 | 4 |
| GB | $22.08 | 2.9% | 1,007 | $21.92 | 31 | $0.712 | $6.04 | 0.27 | 2 |
| CA | $17.49 | 2.3% | 665 | $26.31 | 19 | $0.921 | $4.99 | 0.29 | 1 |
| PH | $16.48 | 2.2% | 5,524 | $2.98 | 52 | $0.317 | $11.27 | 0.68 | 4 |
| MY | $16.02 | 2.1% | 2,165 | $7.40 | 21 | $0.763 | $0.00 | 0.00 | 1 |
| AR | $15.73 | 2.1% | 1,619 | $9.72 | 31 | $0.507 | $7.98 | 0.51 | 2 |
| IT | $15.47 | 2.1% | 959 | $16.13 | 25 | $0.619 | $9.99 | 0.65 | 3 |
187 further countries are not listed, $298.37 between them (39.8% 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.
Pooled over the 24 hours both days delivered in, on the UTC clock. Meta's instrument on both sides of every ratio.
| spend | impressions | CPM | clicks | CTR | installs | click→install | CPI | |
|---|---|---|---|---|---|---|---|---|
| 2026-08-07 | $749.94 | 81,142 | 9.24 | 5,016 | 6.18% | 998 | 19.90% | $0.751 |
| 2026-08-08 | $745.02 | 75,033 | 9.93 | 4,202 | 5.60% | 814 | 19.37% | $0.915 |
Pooling across hours weights each hour by what it delivered. Section 2's pairing is the unweighted read of the same two days; here they agree.
Mix-neutral account line. Account CPM $9.13 → $9.93 (+8.7%), and $9.93 held to 08-07's campaign mix: the whole move is inside the worldwide buy.
The three measures side by side:
| measure | 2026-08-07 | 2026-08-08 | moves after the day closes? |
|---|---|---|---|
| booked | $1,505.16 (2.01) (Meta 2.06) | $1,695.44 (2.28) (Meta 2.21) | settled |
| within-day | $436.98 (0.58) | $996.74 (1.34) | never |
| cohort @ 24h | $472.45 (0.63), 100% covered | $1,163.66 (1.56), 100% covered | frozen, both days |
08-07's cohort figure has matured and barely moved. The 08-07 report published $468.89 at 51% coverage; fully covered it is $472.45, +0.8%.
Booked revenue by the UTC day its payer installed. The top row is the within-day figure; the gap to booked is the inherited cohort.
| installed | booked on 08-08 | share |
|---|---|---|
| 2026-08-08 | $996.74 | 58.8% |
| 2026-08-07 | $70.44 | 4.2% |
| 2026-08-06 | $94.57 | 5.6% |
| 2026-08-05 | $88.21 | 5.2% |
| 2026-08-04 | $57.87 | 3.4% |
| 2026-08-03 | $43.22 | 2.5% |
| older than 08-03 | $344.39 | 20.3% |
Today's own cohort is 58.8% of booked revenue against 29.0%. 08-07 lived off inherited payers; 08-08 earned most of its booked figure inside the day.
Every row from measures.py on one config and one payment cut, UTC clock. Within-day is sealed on every day here and is the column to read across them; cohort@24h is complete except on 08-08.
| day | spend | installs | CPI | booked | bROAS | within-day | wROAS | revenue per install |
|---|---|---|---|---|---|---|---|---|
| 2026-08-01 | $733.94 | 1,963 | $0.374 | $1,110.93 | 1.51 | $980.99 | 1.34 | $0.500 |
| 2026-08-02 | $278.28 | 745 | $0.374 | $559.00 | 2.01 | $272.13 | 0.98 | $0.365 |
| 2026-08-03 | $445.83 | 766 | $0.582 | $709.35 | 1.59 | $397.69 | 0.89 | $0.519 |
| 2026-08-04 | $446.00 | 785 | $0.568 | $921.86 | 2.07 | $588.70 | 1.32 | $0.750 |
| 2026-08-05 | $631.70 | 1,128 | $0.560 | $1,427.51 | 2.26 | $898.32 | 1.42 | $0.796 |
| 2026-08-06 | $793.94 | 1,172 | $0.677 | $1,401.05 | 1.76 | $620.48 | 0.78 | $0.529 |
| 2026-08-07 | $749.94 | 998 | $0.751 | $1,505.16 | 2.01 | $436.98 | 0.58 | $0.438 |
| 2026-08-08 | $745.02 | 814 | $0.915 | $1,695.44 | 2.28 | $996.74 | 1.34 | $1.225 |
⚠ 08-01 and 08-02 are a different campaign (_260730, the retired earner) and 08-02 is the billing-stop day. The like-for-like window is 08-03 onward.
Delivery has regressed and not recovered. The same spend bought 1,963 installs on 08-01 and 814 on 08-08, cost per install up 57% since 08-03.
Return on spend has not regressed. Within-day ROAS oscillates between 0.58 and 1.42 across the eight days with no direction; 08-08's 1.34 is also 08-01's.
Revenue per install rose in step with cost per install. $0.500 on 08-01 → $1.225 on 08-08, CPI $0.374 → $0.915: both up 145%.
Two thirds of the cost rise is inside countries, a third is the mix moving up-market. Each day's own per-country prices, held to 08-03's mix:
| Meta day | actual CPI | held to 08-03's mix | what the mix did | what happened inside countries |
|---|---|---|---|---|
| 2026-08-03 | $0.572 | $0.572 | — | — |
| 2026-08-04 | $0.532 | $0.400 | +$0.132 | −$0.202 |
| 2026-08-05 | $0.577 | $0.487 | +$0.090 | −$0.114 |
| 2026-08-06 | $0.715 | $0.566 | +$0.149 | −$0.031 |
| 2026-08-07 | $0.764 | $0.658 | +$0.105 | +$0.058 |
| 2026-08-08 | $0.964 | $0.819 | +$0.145 | +$0.220 |
The India share of spend has halved and the US share tripled across the same window, 31.5% → 18.3% and 5.3% → 16.7% on the Meta clock. That is the mix term, and it is real and large. But the larger term is the other one: held to a fixed mix the account still pays +$0.220 more per install than on 08-03, and that component only turned positive on 08-07 and then doubled. The up-market shift explains the smaller share, and it is also the part that pays for itself in revenue per install; the within-country price rise is not.
Watch the join between the two. If within-country cost keeps rising while revenue per install stops, ROAS falls on about two days' warning.
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.
| campaign | spend | share | impressions | impr share | CPM | clicks | CTR | cost/click | installs | CPI | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Worldwide | $745.02 | 100.0% | 75,033 | 100.0% | 9.93 | 4,202 | 5.60% | $0.177 | 813 | $0.916 | $993.39 | 1.33 | 50 |
Booking with no delivery, and excluded from every rate above: German (DE/AT) 0 installs (Meta), 0 registrations (ours), $0.00 within-day; Earner (retired 08-03) 1 install (Meta), 17 registrations (ours), $3.35 within-day. Counting them would put installs into the CPI denominator against spend that never happened.
The three campaign charts are not drawn. Spend share, CPM and CPI by campaign each need two delivering campaigns; the German buy spent nothing.
bailingxia_meituan_ww_cvr_260802, the whole of the day's spend.
Six ad sets, five delivering. ..._d100_mugshot has been off since 08-04 12:32 PT and took no spend. The ..._d100_spill set holds two ads, vid_ww_spill_8s_9x16_v1 and its Copy, a replacement pair: only the Copy delivered on this day. So one delivering ad per ad set on this day, which makes the ad-set row the ad row for the daily cut, and the rows below are labelled by asset. That identity holds for this day's cut alone; the object model does not carry it.
All five delivering arms carried $150/day throughout, unchanged since 08-06 04:06 PT. They are budget-matched by construction, which is what lets a cross-arm comparison inside this stretch avoid DECISION_LOG.md #47.
Meta's instrument on both sides of every ratio. Our registrations never enter this table.
| asset | spend | impressions | CPM | clicks | CTR | installs | click→install | CPI |
|---|---|---|---|---|---|---|---|---|
E2/bodysuit | $162.42 | 17,970 | 9.04 | 979 | 5.45% | 210 | 21.45% | $0.773 |
E2/bikini | $158.42 | 12,874 | 12.31 | 750 | 5.83% | 149 | 19.87% | $1.063 |
E2/pool5 | $155.92 | 21,276 | 7.33 | 1,054 | 4.95% | 171 | 16.22% | $0.912 |
E2/spill2 | $148.42 | 12,234 | 12.13 | 785 | 6.42% | 173 | 22.04% | $0.858 |
E2/lounge | $119.84 | 10,679 | 11.22 | 634 | 5.94% | 110 | 17.35% | $1.089 |
E2/mugshot | $0.00 | 0 | — | 0 | — | 0 | — | — |
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, 100% covered on this day. Report clock UTC.
| asset | booked | bROAS (Meta) | within-day | wROAS | cohort@H | cROAS | payers | payer% | ARPU | ARPPU | largest payer |
|---|---|---|---|---|---|---|---|---|---|---|---|
E2/bodysuit | $412.36 | 2.54 (3.39) | $341.10 | 2.10 | $375.06 | 2.31 | 15 | 6.4% | 1.458 | 22.74 | 41.0% |
E2/bikini | $116.51 | 0.74 (1.34) | $102.16 | 0.64 | $117.23 | 0.74 | 3 | 1.7% | 0.574 | 34.05 | 53.8% |
E2/pool5 | $480.09 | 3.08 (2.89) | $357.78 | 2.29 | $407.01 | 2.61 | 17 | 9.2% | 1.944 | 21.05 | 16.3% |
E2/spill2 | $114.75 | 0.77 (0.65) | $106.76 | 0.72 | $171.86 | 1.16 | 7 | 3.9% | 0.600 | 15.25 | 36.3% |
E2/lounge | $132.55 | 1.11 (1.97) | $85.60 | 0.71 | $89.15 | 0.74 | 8 | 7.3% | 0.778 | 10.70 | 33.6% |
E2/mugshot | $0.00 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
The 16-payer bar (#37): any row above whose payer count is under 16 is a direction and never a magnitude. Only pool5 clears it on this single day.
⚠ 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.
| asset | spend | India % | US % | other % | US % of its revenue |
|---|---|---|---|---|---|
E2/bodysuit | $161.74 | 22.8% | 16.5% | 60.7% | 69.2% |
E2/bikini | $177.37 | 20.3% | 16.4% | 63.3% | 53.8% |
E2/pool5 | $149.30 | 17.8% | 17.1% | 65.1% | 14.8% |
E2/spill2 | $151.81 | 14.7% | 18.1% | 67.2% | 4.7% |
E2/lounge | $126.06 | 14.8% | 15.4% | 69.8% | 0.0% |
Table C changes how table B reads. bodysuit and bikini took most of their within-day revenue from the United States; pool5 did not.
The test E2_ww_creative_5cell_260806 runs 08-06 00:00 → 08-11 00:00 PT. Its pre-registered primary is payers per install at a 65% confidence bar, pooled over the run. Everything below is on our own registrations and our own payers, matured to 24 h at the payment cut, so numerator and denominator share one instrument.
Pooled over the three days, one arm separates and it is the loser.
| arm | payers | installs | payers per install |
|---|---|---|---|
lounge | 21 | 399 | 5.26% |
pool5 | 26 | 522 | 4.98% |
bodysuit | 29 | 608 | 4.77% |
spill | 21 | 471 | 4.46% |
bikini | 15 | 499 | 3.01% |
Four of the ten pairs clear the 65% bar decisively and all four are the same comparison: lounge (95.7%), pool5 (94.6%), bodysuit (93.2%) and spill (88.4%) each beat bikini. Among the top four, only lounge over spill (70.9%) and pool5 over spill (65.1%) reach the bar at all, and a 65% bar means roughly one call in three is wrong. The honest read is that bikini is worse than the other four and the other four are not separated from each other.
Four arms now clear the 16-payer bar. bodysuit 29, pool5 26, spill 21, lounge 21, bikini 15: most carry a magnitude for the first time.
The ranking did not replicate, and that is the day's finding.
| arm | 08-06 | 08-07 | 08-08 |
|---|---|---|---|
bodysuit | 4 / 131 = 3.05% | 10 / 267 = 3.75% | 15 / 210 = 7.14% |
pool5 | 4 / 122 = 3.28% | 7 / 239 = 2.93% | 15 / 161 = 9.32% |
bikini | 5 / 161 = 3.11% | 5 / 178 = 2.81% | 5 / 160 = 3.12% |
spill | 6 / 126 = 4.76% | 10 / 189 = 5.29% | 5 / 156 = 3.21% |
lounge | 6 / 134 = 4.48% | 8 / 169 = 4.73% | 7 / 96 = 7.29% |
Rank order, best first: 08-06 spill > lounge > pool5 > bikini > bodysuit; 08-07 spill > lounge > bodysuit > pool5 > bikini; 08-08 pool5 > lounge > bodysuit > spill > bikini. Spearman on the rate itself is +0.70 between 08-06 and 08-07, +0.10 between 08-06 and 08-08, and +0.10 between 08-07 and 08-08. spill went first, first, fourth. pool5 went third, fourth, first. Only bikini holds a stable position, at the bottom on all three days.
Held against the first two days pooled, two arms moved on day three and three did not: pool5 3.05% → 9.32% (one-sided p = 0.001) and bodysuit 3.52% → 7.14% (p = 0.023); bikini, spill and lounge are unchanged within noise. Both movers moved on the day the whole campaign's payer rate moved, from 3.84% to 5.99%, which is why the report treats the day effect as the thing that happened and the arm differences on it as riding on top.
This amends DECISION_LOG.md #57. #57 recorded Spearman +0.90 between cost per install and payers per install over two days; over three it is +0.10:
| arm | cost per install | payers per install |
|---|---|---|
bodysuit | $0.673 | 4.77% |
pool5 | $0.738 | 4.98% |
spill | $0.829 | 4.46% |
bikini | $0.834 | 3.01% |
lounge | $0.941 | 5.26% |
The two metrics are not inverted; they are unrelated. The operational half of #57 survives untouched and for a better reason. Cost per install carries no information about which arm pays, so it cannot be used to cull one. But the stated mechanism, that the dearest installs are the best payers, does not hold on three days and should not be quoted again.
Cost per install replicated: bodysuit < pool5 < bikini ≈ spill < lounge on all three days, nine of ten pairs clearing 65%, eight 94%.
The co-primary is not computable and closes as unanswerable by construction. §7a wanted install→registration as a funnel stage; ours exceed Meta's on every arm.
The quantity it actually is can be tested. Under a Poisson model, R ~ Binomial(R+M, p) with p = R/(R+M):
| arm | ours | Meta | ours ÷ Meta |
|---|---|---|---|
bikini | 562 | 500 | 1.124 |
bodysuit | 689 | 638 | 1.080 |
pool5 | 589 | 553 | 1.065 |
spill | 517 | 498 | 1.038 |
lounge | 441 | 440 | 1.002 |
| pooled | 2,798 | 2,629 | 1.064 |
Homogeneity across the five arms: χ² = 1.81 on 4 df, p = 0.771. The arms do not differ.
A validity check on every other endpoint. The 6.4% excess is an instrument gap common to all five arms, so no Meta-denominator figure is biased.
How loose the 65% bar is: these five arms give six of ten pairs "clearing" 65% on data whose omnibus test finds nothing.
The 08-07 report left this open because two points cannot separate a settling level from a trend. Pooled CTR over matched hours, one instrument across all four days:
| 08-05 (pre-test) | 08-06 | 08-07 | 08-08 | |
|---|---|---|---|---|
| pooled CTR | 8.73% | 7.23% | 6.05% | 5.37% |
| step | — | −1.50 pp | −1.18 pp | −0.68 pp |
Each step is smaller than the one before it, by 21% then 42%; the asymptote is near 4%, 1.4 points below where the day ended.
Fatigue is ruled out on this step. Reach/frequency over the four days: 46,284/1.23, 44,191/1.58, 49,549/1.53, 50,814/1.50 — reach up 2.6%, frequency down, CTR down 0.48.
pool5. The three-day pooled rows in section 6 are the readable ones; the single-day column in table B is not.bikini comparisons sit at 88–96% and are the only ones this report treats as findings. Run pairwise on the ours ÷ Meta ratios, the same bar "clears" bikini over lounge at 89.6% and over spill at 81.7%, on data whose omnibus test finds nothing at p = 0.771.REGIMES_260802 ended at 08-05 00:00 PT, so every cell from 08-05 onward carried regime = None and the estimator's regime-matched views were empty across the whole split test. It was re-read from the activity history for this report and extended through the test's end. The 08-05, 08-06 and 08-07 reports were written against the stale table; nothing in them depended on a regime-matched cut, which was luck.spill is measured on the Copy. The delivering ad in the spill set is vid_ww_spill_8s_9x16_v1 - Copy; the original has not delivered since 08-03. They are one arm over time, which is why they are not split.spill against bikini, at 53.9% on $0.829 and $0.834.spill does not beat the same-shot arms, so §7a's "copy the competitor's anatomy" branch is not currently supported by the primary. bikini is the only arm the test has separated, and cutting it is the one action the evidence carries.daily_report_format.md. The series is inconsistent on that one element across those two days.Run directory _runs/2026-08-09_0808_daily/. Report clock UTC; the ad account is fixed at UTC-7, so a UTC day is Meta day 08-07 17:00–23:59 plus Meta day 08-08 00:00–16:59.
Exports, all from AdsPower Profile 23 (k1elevon), B1's bound environment, pulled 2026-08-09 14:11–14:14 PT:
| file | breakdown | window |
|---|---|---|
exports/ads_hourly_aug8_settled.csv | Time of day | Meta day 08-08, 24 buckets, 130 rows |
exports/ads_day_jul1_aug9.csv | Day | Jul 1 – Aug 9 |
exports/ads_country_day_jul1_aug9.csv | Day × Country | Jul 1 – Aug 9 |
The hourly file was pulled twice, 7.8 h apart, as a settling check: spend +0.17%, impressions +0.11%, and clicks, leads, purchases and conversion value all 0.00%. Meta files a conversion on the hour it converted, so a past day's revenue does not grow.
Attribution comes from a hand-taken Telegram export of the LumUser and LumPayment channels, driven on the laptop, parsed with ad_ops/lum_notifications/parse_export.py at --tz America/Los_Angeles: 17,716 registrations, 1,988 payments, 14 payments with no matching registration (0.7%). The three clock checks all pass. The parser corrected 56,303 timestamps for the Telegram DST bug; registered_at agrees with the corrected message time to a median of +0.1 s; and correlating our hourly registrations against Meta's hourly Leads wins at lag 0 (r = 0.877 against 0.587 and 0.531).
The instrument gate was run on the META clock, where it is valid: our records read 0.99 and 1.04 of Meta's booked conversion value on the two days, inside the documented 0.91–1.06 band. On the UTC clock the same comparison is cross-clock and measures.py refuses it by name.
python -m ad_ops.measures --config _runs/2026-08-09_0808_daily/run_config.json --day 2026-08-08 --prev 2026-08-07
python -m ad_ops.day_compare --config _runs/2026-08-09_0808_daily/run_config.json --today
2026-08-08 --prev 2026-08-07 --h 6
python -m ad_ops.asset_estimator hourly --lum _runs/2026-08-09_0808_daily/lum \
--meta <the four hourly exports 08-05..08-08> --fx _runs/2026-08-02_today_read/fx_rates.json \
--ads ww_bikini_10s,ww_bodysuit_10s,ww_pool5,ww_mugshot,ww_spill,ww_lounge \
--campaign bailingxia_meituan_ww_cvr_260802 --horizon 24
python -m ad_ops.cohort_arpu --config _runs/2026-08-09_0808_daily/run_config.json --days 2026-08-04,…,2026-08-08
python -m ad_ops.report_tables --config _runs/2026-08-09_0808_daily/run_config.json --day 2026-08-08
--prev 2026-08-07 [--campaign-table | --campaign ww]
python -m ad_ops.report_charts --config _runs/2026-08-09_0808_daily/run_config.json --day 2026-08-08
--prev 2026-08-07 \
--days 2026-08-05,2026-08-06,2026-08-07,2026-08-08 --out ad_ops/figures/2026-08-08
Two probes in the run directory carry the analyses the instruments do not: e2_65pct.py (the test's own endpoints at its 65% bar, copied from the 08-07 run and repointed to the third day) and payer_jump.py (the mix-neutral decomposition of the day's payer-rate and revenue-per-install move).
REGIMES_260802 in ad_ops/asset_estimator/cohorts.py was extended for this report from manage/campaigns/history, range string asserted "Aug 4, 2026 – Aug 9, 2026".
The report clock. A report day is a UTC day, because Adjust reports in UTC and a UTC-bucketed report lines up with the attribution dashboard without anyone converting in their head. Meta's ad account is fixed at UTC-7, so each UTC day is stitched from two Meta days and a UTC pull needs the previous Meta day's hourly file as well as the day's own.
Three things the clock does not reach, each labelled where it appears: the country tables cannot follow it, because Meta serves no hour × country grid, so they stay a META-day cut; the instrument check is invalid off the META clock, because Meta's conversion value sits on its conversion hour and cannot be honestly restitched; and the estimator runs on Meta's clock deliberately, because its subject is Meta-side delivery windows.
The three revenue measures, never one, never mixed, always labelled:
| measure | counts | moves after the day closes? |
|---|---|---|
| booked | revenue that arrived inside the day, whatever day its payer installed. Meta's own number is this basis | settles ~4 h after midnight, then fixed |
| within-day | installed that day and paid before that day closed | never. Sealed at midnight |
| cohort at H | that day's installs, counted within H hours of each person's own install. House horizon H=24 | rises until every install has lived H hours, then frozen. 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: that is one measure on two instruments, not two measures.
Two install counts exist and are never crossed. Meta's Leads and our own registrations disagree by 5–10%. Meta's is used for the delivery funnel (CPI and click→install), so numerator and denominator are both its. Ours is used for payer rate and every revenue measure, so the payers and the installs they came from are the same population.
A regime is a stretch over which an ad set's daily budget did not change. It belongs in a daily report 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 (DECISION_LOG.md #47). All of 08-08 sits inside one regime, E2-R6, which began 08-06 04:06 PT when the last two arms were levelled to $150/day and runs to the test's end. Every delivering arm carries the same budget throughout it.
The 16-payer bar (DECISION_LOG.md #37): below roughly 16 payers a revenue figure is a direction and never a magnitude. Coverage, payer count and the denominator's instrument are the three columns to read before the one you came for.