The account bought $544.17 and got 519 installs at $1.048, against $644.53 and 636 at $1.013 the day before. Booked revenue was $1,483.31, level with the day before, while within-day was $308.60, down 55.2%; our records read 1.06 and 1.01 of Meta's booked figure on the account's own clock, inside the documented 0.91–1.06 band. One campaign carried the whole day for the third day running, four of the five arms delivered because the creative Meta rejected on 08-09 never came back, and this is the fifth day of the five-cell split test, which ran through every hour of it. Definitions, the report clock and the three revenue measures are in the appendix.
Delivery rows are the delivering campaigns summed. One retired campaign booked registrations on no spend and is excluded here and named in section 5, because counting it would put installs into a cost-per-install denominator against spend that was never incurred.
| 2026-08-09 | 2026-08-10 | move | |
|---|---|---|---|
| spend | $644.53 | $544.17 | −15.6% |
| impressions | 62,523 | 53,884 | −13.8% |
| CPM | $10.31 | $10.10 | −2.0% |
| clicks | 3,342 | 2,918 | −12.7% |
| CTR | 5.35% | 5.42% | +1.3% |
| installs (Meta) | 636 | 519 | −18.4% |
| click→install | 19.03% | 17.79% | −6.5% |
| CPI | $1.013 | $1.048 | +3.5% |
| booked (Meta) | $1,471.33 (2.28) | $1,483.31 (2.73) | +0.8% |
| within-day | $688.38 (1.07) | $308.60 (0.57) | −55.2% |
| cohort @ 24h | $959.51 (1.49) | $343.11 (0.63) | −64.2% |
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 | $0.4749 | $0.8001 | $1.0130 | $11.45 | $13.94 | $16.71 | 627 |
Campaign spend split, both days. Worldwide $644.53 (100.0%) → $544.17 (100.0%); German $0.00 on both, so there is no mix to separate from the buying.
The missing fifth arm is most of the shortfall. The four that ran both days fell 3.8%, $565.66 to $544.17, against the account's 15.6%.
No delivery ratio moved consistently across the clock. None of the four sign tests on the 24 shared hours clears 0.05.
Within-day halved while booked stayed level; the gap is inherited cohorts. 79.2% of booked revenue came from people who installed earlier, against 53.2% on 08-09.
Every revenue reading below the account line is under the 16-payer bar. The day's 22 payers clear it; the per-asset cells hold 3 to 8.
The cohort row is now readable, and it says what within-day says. At 100% coverage the day returns 0.63 against 08-09's 1.49, hour-neutral against sealed.
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, and on this cut it is 100% in every hour: the payment data runs to 09:27 on 08-12, so every install of this day has lived a full 24 hours.
| 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 | $13.68 | 1482 | 9.23 | 84 | 5.67% | 12 | 14.3% | $1.140 | 13 | 100% | $157.18 | 11.49 | 6 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 1 | $15.64 | 1820 | 8.59 | 101 | 5.55% | 18 | 17.8% | $0.869 | 20 | 100% | $7.12 | 0.46 | 1 | $9.29 | 0.59 | 1 | 0.465 | 9.29 | $9.29 | 0.59 | 1 | 0.465 | 9.29 |
| 2 | $15.99 | 1781 | 8.98 | 93 | 5.22% | 17 | 18.3% | $0.941 | 22 | 100% | $21.62 | 1.35 | 5 | $73.71 | 4.61 | 3 | 3.351 | 24.57 | $73.71 | 4.61 | 3 | 3.351 | 24.57 |
| 3 | $20.31 | 1920 | 10.58 | 100 | 5.21% | 24 | 24.0% | $0.846 | 27 | 100% | $52.68 | 2.59 | 3 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 4 | $18.62 | 2108 | 8.83 | 107 | 5.08% | 19 | 17.8% | $0.980 | 20 | 100% | $85.28 | 4.58 | 5 | $12.11 | 0.65 | 2 | 0.605 | 6.05 | $12.11 | 0.65 | 2 | 0.605 | 6.05 |
| 5 | $18.22 | 2183 | 8.35 | 126 | 5.77% | 21 | 16.7% | $0.868 | 23 | 100% | $90.36 | 4.96 | 9 | $4.99 | 0.27 | 1 | 0.217 | 4.99 | $4.99 | 0.27 | 1 | 0.217 | 4.99 |
| 6 | $18.97 | 2387 | 7.95 | 128 | 5.36% | 22 | 17.2% | $0.862 | 24 | 100% | $33.77 | 1.78 | 3 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 7 | $21.42 | 2138 | 10.02 | 119 | 5.57% | 21 | 17.6% | $1.020 | 29 | 100% | $101.83 | 4.75 | 6 | $71.45 | 3.34 | 2 | 2.464 | 35.72 | $74.63 | 3.48 | 2 | 2.573 | 37.31 |
| 8 | $18.83 | 2123 | 8.87 | 109 | 5.13% | 22 | 20.2% | $0.856 | 29 | 100% | $91.51 | 4.86 | 6 | $5.04 | 0.27 | 1 | 0.174 | 5.04 | $5.04 | 0.27 | 1 | 0.174 | 5.04 |
| 9 | $19.19 | 1995 | 9.62 | 117 | 5.86% | 16 | 13.7% | $1.199 | 16 | 100% | $33.69 | 1.76 | 7 | $16.36 | 0.85 | 3 | 1.022 | 5.45 | $22.95 | 1.20 | 3 | 1.434 | 7.65 |
| 10 | $26.08 | 2443 | 10.68 | 129 | 5.28% | 23 | 17.8% | $1.134 | 24 | 100% | $155.02 | 5.94 | 5 | $5.74 | 0.22 | 1 | 0.239 | 5.74 | $11.67 | 0.45 | 2 | 0.486 | 5.84 |
| 11 | $20.57 | 2107 | 9.76 | 114 | 5.41% | 21 | 18.4% | $0.980 | 29 | 100% | $69.92 | 3.40 | 6 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 12 | $21.23 | 2119 | 10.02 | 124 | 5.85% | 22 | 17.7% | $0.965 | 27 | 100% | $18.87 | 0.89 | 2 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 13 | $20.88 | 2229 | 9.37 | 131 | 5.88% | 23 | 17.6% | $0.908 | 32 | 100% | $3.18 | 0.15 | 1 | $10.79 | 0.52 | 1 | 0.337 | 10.79 | $10.79 | 0.52 | 1 | 0.337 | 10.79 |
| 14 | $23.48 | 1844 | 12.73 | 106 | 5.75% | 17 | 16.0% | $1.381 | 26 | 100% | $16.04 | 0.68 | 1 | $9.01 | 0.38 | 1 | 0.346 | 9.01 | $12.39 | 0.53 | 1 | 0.477 | 12.39 |
| 15 | $31.37 | 3102 | 10.11 | 164 | 5.29% | 25 | 15.2% | $1.255 | 32 | 100% | $22.33 | 0.71 | 4 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 16 | $35.38 | 3674 | 9.63 | 159 | 4.33% | 33 | 20.8% | $1.072 | 39 | 100% | $64.52 | 1.82 | 8 | $48.27 | 1.36 | 4 | 1.238 | 12.07 | $48.27 | 1.36 | 4 | 1.238 | 12.07 |
| 17 | $33.20 | 3576 | 9.28 | 173 | 4.84% | 32 | 18.5% | $1.038 | 44 | 100% | $208.51 | 6.28 | 7 | $35.65 | 1.07 | 1 | 0.810 | 35.65 | $35.65 | 1.07 | 1 | 0.810 | 35.65 |
| 18 | $31.25 | 3093 | 10.10 | 166 | 5.37% | 26 | 15.7% | $1.202 | 26 | 100% | $45.97 | 1.47 | 6 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 19 | $28.71 | 2599 | 11.05 | 149 | 5.73% | 24 | 16.1% | $1.196 | 29 | 100% | $35.85 | 1.25 | 9 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 20 | $25.52 | 2027 | 12.59 | 122 | 6.02% | 30 | 24.6% | $0.851 | 36 | 100% | $17.88 | 0.70 | 4 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $6.32 | 0.25 | 1 | 0.176 | 6.32 |
| 21 | $24.51 | 1895 | 12.93 | 111 | 5.86% | 19 | 17.1% | $1.290 | 24 | 100% | $55.13 | 2.25 | 6 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 22 | $20.31 | 1541 | 13.18 | 91 | 5.91% | 11 | 12.1% | $1.846 | 12 | 100% | $6.75 | 0.33 | 2 | $0.00 | 0.00 | 0 | 0.000 | 0.00 | $0.00 | 0.00 | 0 | 0.000 | 0.00 |
| 23 | $20.81 | 1698 | 12.26 | 95 | 5.59% | 21 | 22.1% | $0.991 | 19 | 100% | $88.30 | 4.24 | 5 | $6.18 | 0.30 | 1 | 0.325 | 6.18 | $15.29 | 0.73 | 2 | 0.805 | 7.65 |
| ALL | $544.17 | 53884 | 10.10 | 2918 | 5.42% | 519 | 17.8% | $1.048 | 622 | 100% | $1483.31 | 2.73 | 117 | $308.60 | 0.57 | 22 | 0.496 | 14.03 | $343.11 | 0.63 | 25 | 0.552 | 13.72 |
The budget round trip sits inside hour 18. UTC 18:46 to 18:59, thirteen minutes, applied at 11:46 on the account clock and reversed at 11:59.
Within-day revenue is two hours. Hours 02 and 07 carry 47.0% of the day's $308.60 on five payers — a location, not a rate.
Counting which way each shared hour points, which needs no weighting and asks only for a direction:
| metric | hours 2026-08-10 ran higher | hours it ran lower | sign test |
|---|---|---|---|
| CPM | 11 of 24 | 13 of 24 | p = 0.839 |
| CTR | 14 of 24 | 10 of 24 | p = 0.541 |
| click→install | 8 of 24 | 16 of 24 | p = 0.152 |
| CPI | 12 of 24 | 12 of 24 | p = 1.000 |
A sign test throws magnitude away and buys weight-free direction with it. Nothing clears 0.05 for the second day running, and cost per install splits exactly down the middle. Two days ago CTR and CPI both pointed one way in 19 of 24 hours at p = 0.007. At 24 paired hours that is an absence of a detectable direction. Click-to-install still leans 8 against 16, and the pooled day is down 18.4% on installs. What can be said is that whatever moved did not move consistently across the clock, two days in a row.
Every shared hour, 2026-08-09 → 2026-08-10. All columns are Meta's instrument on both sides of each ratio. Revenue is deliberately absent: per-hour payer counts run 0 to 4, so an hourly revenue column would be one person's basket read as a rate.
| hr | impressions | CPM | CTR | click→install | CPI |
|---|---|---|---|---|---|
| 00 | 2,212 → 1,482 | 12.14 → 9.23 | 5.15% → 5.67% | 25.4% → 14.3% | 0.926 → 1.140 |
| 01 | 2,262 → 1,820 | 10.09 → 8.59 | 4.91% → 5.55% | 24.3% → 17.8% | 0.846 → 0.869 |
| 02 | 2,528 → 1,781 | 9.63 → 8.98 | 5.26% → 5.22% | 22.6% → 18.3% | 0.812 → 0.941 |
| 03 | 2,698 → 1,920 | 9.64 → 10.58 | 4.67% → 5.21% | 17.5% → 24.0% | 1.182 → 0.846 |
| 04 | 2,603 → 2,108 | 9.87 → 8.83 | 4.46% → 5.08% | 20.7% → 17.8% | 1.071 → 0.980 |
| 05 | 3,000 → 2,183 | 8.96 → 8.35 | 4.77% → 5.77% | 14.7% → 16.7% | 1.280 → 0.868 |
| 06 | 3,579 → 2,387 | 9.19 → 7.95 | 4.78% → 5.36% | 17.5% → 17.2% | 1.097 → 0.862 |
| 07 | 2,876 → 2,137 | 8.54 → 10.02 | 4.69% → 5.57% | 17.0% → 17.6% | 1.068 → 1.020 |
| 08 | 2,913 → 2,118 | 9.42 → 8.88 | 5.22% → 5.15% | 16.4% → 20.2% | 1.097 → 0.855 |
| 09 | 3,116 → 1,991 | 8.31 → 9.61 | 4.91% → 5.88% | 13.1% → 13.7% | 1.294 → 1.196 |
| 10 | 3,392 → 2,441 | 10.58 → 10.66 | 5.37% → 5.28% | 20.3% → 17.8% | 0.970 → 1.131 |
| 11 | 3,311 → 2,102 | 9.38 → 9.76 | 5.53% → 5.42% | 18.6% → 18.4% | 0.914 → 0.977 |
| 12 | 3,296 → 2,108 | 9.73 → 10.02 | 5.49% → 5.88% | 27.1% → 17.7% | 0.654 → 0.960 |
| 13 | 2,608 → 2,224 | 11.24 → 9.38 | 5.06% → 5.85% | 18.9% → 17.7% | 1.172 → 0.907 |
| 14 | 1,933 → 1,833 | 15.78 → 12.79 | 6.52% → 5.73% | 18.3% → 16.2% | 1.327 → 1.379 |
| 15 | 2,692 → 3,092 | 10.36 → 10.14 | 5.91% → 5.30% | 18.9% → 15.2% | 0.929 → 1.254 |
| 16 | 2,804 → 3,654 | 11.83 → 9.64 | 6.74% → 4.35% | 21.2% → 20.8% | 0.830 → 1.067 |
| 17 | 2,970 → 3,551 | 9.28 → 9.30 | 5.25% → 4.87% | 16.7% → 18.5% | 1.060 → 1.032 |
| 18 | 2,397 → 3,071 | 8.90 → 9.91 | 5.88% → 5.37% | 17.7% → 15.8% | 0.853 → 1.170 |
| 19 | 2,424 → 2,576 | 11.58 → 11.00 | 5.65% → 5.75% | 17.5% → 16.2% | 1.169 → 1.180 |
| 20 | 1,811 → 2,009 | 11.74 → 12.52 | 5.96% → 6.02% | 15.7% → 24.8% | 1.251 → 0.838 |
| 21 | 1,806 → 1,878 | 11.59 → 12.65 | 5.92% → 5.86% | 26.2% → 17.3% | 0.748 → 1.250 |
| 22 | 1,784 → 1,530 | 14.75 → 13.12 | 5.72% → 5.95% | 12.7% → 12.1% | 2.025 → 1.825 |
| 23 | 1,508 → 1,677 | 10.44 → 11.82 | 5.64% → 5.66% | 16.5% → 22.1% | 1.125 → 0.944 |
(i) The portfolio by country, 2026-08-10. 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 | $109.08 | 20.0% | 16,512 | $6.61 | 147 | $0.742 | $57.37 | 0.53 | 21 |
| US | $75.82 | 13.9% | 1,763 | $43.00 | 30 | $2.527 | $0.00 | 0.00 | 6 |
| GB | $28.07 | 5.2% | 700 | $40.11 | 12 | $2.339 | $0.00 | 0.00 | 3 |
| MX | $24.75 | 4.5% | 2,935 | $8.43 | 30 | $0.825 | $0.00 | 0.00 | 5 |
| ID | $19.23 | 3.5% | 2,789 | $6.89 | 35 | $0.549 | $4.99 | 0.26 | 2 |
| DE | $14.57 | 2.7% | 344 | $42.36 | 10 | $1.457 | $0.00 | 0.00 | 3 |
| AR | $14.38 | 2.6% | 990 | $14.52 | 18 | $0.799 | $4.99 | 0.35 | 2 |
| PH | $12.71 | 2.3% | 4,680 | $2.72 | 44 | $0.289 | $0.00 | 0.00 | 0 |
| MY | $12.29 | 2.3% | 1,533 | $8.02 | 18 | $0.683 | $28.87 | 2.35 | 1 |
| TR | $11.58 | 2.1% | 783 | $14.79 | 13 | $0.891 | $0.00 | 0.00 | 0 |
| AU | $11.53 | 2.1% | 266 | $43.29 | 4 | $2.882 | $5.61 | 0.49 | 1 |
| IT | $10.65 | 2.0% | 630 | $16.90 | 18 | $0.591 | $42.58 | 4.00 | 3 |
183 further countries are not listed, $199.51 between them (36.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) $121.43 from Meta 2026-08-09 and $422.74 from Meta 2026-08-10, a measured UTC-day total of $544.17.
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-10.
B1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| IN | $109.08 | 20.0% | 16,512 | $6.61 | 147 | $0.742 | $57.37 | 0.53 | 21 |
| US | $75.82 | 13.9% | 1,763 | $43.00 | 30 | $2.527 | $0.00 | 0.00 | 6 |
| GB | $28.07 | 5.2% | 700 | $40.11 | 12 | $2.339 | $0.00 | 0.00 | 3 |
| MX | $24.75 | 4.5% | 2,935 | $8.43 | 30 | $0.825 | $0.00 | 0.00 | 5 |
| ID | $19.23 | 3.5% | 2,789 | $6.89 | 35 | $0.549 | $4.99 | 0.26 | 2 |
| DE | $14.57 | 2.7% | 344 | $42.36 | 10 | $1.457 | $0.00 | 0.00 | 3 |
| AR | $14.38 | 2.6% | 990 | $14.52 | 18 | $0.799 | $4.99 | 0.35 | 2 |
| PH | $12.71 | 2.3% | 4,680 | $2.72 | 44 | $0.289 | $0.00 | 0.00 | 0 |
| MY | $12.29 | 2.3% | 1,533 | $8.02 | 18 | $0.683 | $28.87 | 2.35 | 1 |
| TR | $11.58 | 2.1% | 783 | $14.79 | 13 | $0.891 | $0.00 | 0.00 | 0 |
| AU | $11.53 | 2.1% | 266 | $43.29 | 4 | $2.882 | $5.61 | 0.49 | 1 |
| IT | $10.65 | 2.0% | 630 | $16.90 | 18 | $0.591 | $42.58 | 4.00 | 3 |
183 further countries are not listed, $199.51 between them (36.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-09, the same two tables.
(i) The portfolio by country, 2026-08-09. 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 | $116.33 | 18.0% | 18,168 | $6.40 | 187 | $0.622 | $123.85 | 1.06 | 23 |
| US | $104.55 | 16.2% | 2,291 | $45.64 | 41 | $2.550 | $89.94 | 0.86 | 19 |
| GB | $29.68 | 4.6% | 944 | $31.43 | 21 | $1.413 | $48.41 | 1.63 | 3 |
| MX | $22.02 | 3.4% | 3,070 | $7.17 | 24 | $0.917 | $0.00 | 0.00 | 2 |
| DE | $18.49 | 2.9% | 451 | $41.00 | 12 | $1.541 | $37.95 | 2.05 | 2 |
| ID | $18.30 | 2.8% | 3,174 | $5.77 | 34 | $0.538 | $4.99 | 0.27 | 2 |
| AU | $16.71 | 2.6% | 506 | $33.04 | 14 | $1.194 | $5.61 | 0.34 | 1 |
| FR | $15.95 | 2.5% | 645 | $24.72 | 9 | $1.773 | $150.75 | 9.45 | 1 |
| TR | $15.66 | 2.4% | 1,138 | $13.76 | 27 | $0.580 | $5.89 | 0.38 | 1 |
| PH | $14.87 | 2.3% | 5,536 | $2.69 | 34 | $0.437 | $5.63 | 0.38 | 3 |
| AR | $13.99 | 2.2% | 1,179 | $11.86 | 21 | $0.666 | $0.00 | 0.00 | 2 |
| CA | $13.68 | 2.1% | 486 | $28.13 | 8 | $1.710 | $0.00 | 0.00 | 0 |
195 further countries are not listed, $244.29 between them (37.9% 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) $185.52 from Meta 2026-08-08 and $459.01 from Meta 2026-08-09, a measured UTC-day total of $644.53.
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-09.
B1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| IN | $116.33 | 18.0% | 18,168 | $6.40 | 187 | $0.622 | $123.85 | 1.06 | 23 |
| US | $104.55 | 16.2% | 2,291 | $45.64 | 41 | $2.550 | $89.94 | 0.86 | 19 |
| GB | $29.68 | 4.6% | 944 | $31.43 | 21 | $1.413 | $48.41 | 1.63 | 3 |
| MX | $22.02 | 3.4% | 3,070 | $7.17 | 24 | $0.917 | $0.00 | 0.00 | 2 |
| DE | $18.49 | 2.9% | 451 | $41.00 | 12 | $1.541 | $37.95 | 2.05 | 2 |
| ID | $18.30 | 2.8% | 3,174 | $5.77 | 34 | $0.538 | $4.99 | 0.27 | 2 |
| AU | $16.71 | 2.6% | 506 | $33.04 | 14 | $1.194 | $5.61 | 0.34 | 1 |
| FR | $15.95 | 2.5% | 645 | $24.72 | 9 | $1.773 | $150.75 | 9.45 | 1 |
| TR | $15.66 | 2.4% | 1,138 | $13.76 | 27 | $0.580 | $5.89 | 0.38 | 1 |
| PH | $14.87 | 2.3% | 5,536 | $2.69 | 34 | $0.437 | $5.63 | 0.38 | 3 |
| AR | $13.99 | 2.2% | 1,179 | $11.86 | 21 | $0.666 | $0.00 | 0.00 | 2 |
| CA | $13.68 | 2.1% | 486 | $28.13 | 8 | $1.710 | $0.00 | 0.00 | 0 |
195 further countries are not listed, $244.29 between them (37.9% 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-09 | $644.53 | 62,523 | 10.31 | 3,342 | 5.35% | 636 | 19.03% | $1.013 |
| 2026-08-10 | $544.17 | 53,884 | 10.10 | 2,918 | 5.42% | 519 | 17.79% | $1.048 |
Pooling across hours is a mix comparison. It weights each hour by what it delivered; section 2's unweighted pairing agrees neither ratio has a direction.
The three measures side by side:
| measure | 2026-08-09 | 2026-08-10 | comparable? |
|---|---|---|---|
| booked | $1,471.33 (2.28) | $1,483.31 (2.73) | yes, but it is mostly not this day's cohort |
| within-day | $688.38 (1.07) | $308.60 (0.57) | yes — sealed on both days |
| cohort @ 24h | $959.51 (1.49) at 100% | $343.11 (0.63) at 100% | yes — both complete |
The cohort figures moved only in coverage. 08-09 first shipped $865.47 at 1.34 on 45%, 08-10 $320.89 at 0.59 on 18%; same cohorts, now complete.
This is the first day-over-day cohort comparison the series has been able to make, and it corroborates within-day: 1.49 → 0.63 against 1.07 → 0.57.
Booked revenue split by the UTC day its payer installed:
Rows are absolute install days, so the same cohort sits on the same row in both columns. The bolded cell in each column is that column's own day, and it is the same number as within-day.
| installed | 2026-08-09 | 2026-08-10 |
|---|---|---|
| 2026-08-10 | — | $308.60 (20.8%) |
| 2026-08-09 | $688.38 (46.8%) | $285.36 (19.2%) |
| 2026-08-08 | $263.07 (17.9%) | $148.78 (10.0%) |
| 2026-08-07 | $51.31 (3.5%) | $71.45 (4.8%) |
| 2026-08-06 | $65.16 (4.4%) | $77.39 (5.2%) |
| 2026-08-05 | $262.16 (17.8%) | $342.52 (23.1%) |
The 08-05 cohort is this day's largest booked contributor, five days on — the cohort pool5 bought at a 9.48 return, still buying.
Account CPM $10.31 → $10.10 (−2.0%). Held to 2026-08-09's campaign mix it is $10.10 (−2.0%) — one campaign carried both days.
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 across campaigns, which is what makes those comparable, while revenue still needs 16 payers (DECISION_LOG.md #37, #48).
| campaign | spend | share | impressions | impr share | CPM | clicks | CTR | cost/click | installs | CPI | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Worldwide | $544.17 | 100.0% | 53,884 | 100.0% | 10.10 | 2,918 | 5.42% | $0.186 | 519 | $1.048 | $301.48 | 0.55 | 21 |
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) 0 installs (Meta), 71 registrations (ours), $7.12 within-day. Meta stamps a conversion on the conversion hour, so a campaign switched off days ago still lands rows on today. Counted in, their installs would go into the account's cost-per-install denominator against spend they did not incur and understate it.
There is no tab strip: one campaign delivered, so sections 2 to 4 already are its own battery. Section 6 carries what sits below it.
bailingxia_meituan_ww_cvr_260802 holds six ad sets and seven ads. Five ad sets carry one ad each. ww_broad_purchase_adv_d100_spill carries two, and they are a replacement pair, one arm over time. ww_broad_purchase_adv_d100_mugshot has been off since 08-04 and spent nothing. So the ad-set row is the ad row on this day and the rows below are labelled by asset.
Four ad sets delivered and five were On. spill's carried a rejected ad and spent $0.00 across all 24 hours; thirteen minutes off changed nothing.
Budget was not flat all day, for the first time since 08-06. E2-R6 ends at 11:46, short of the test's horizon; E2-R7 begins at 11:59.
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/pool5 | $144.09 | 18,454 | 7.81 | 970 | 5.26% | 174 | 17.94% | $0.828 |
E2/bikini | $134.81 | 10,559 | 12.77 | 603 | 5.71% | 125 | 20.73% | $1.078 |
E2/lounge | $133.69 | 13,685 | 9.77 | 736 | 5.38% | 93 | 12.64% | $1.438 |
E2/bodysuit | $131.58 | 11,186 | 11.76 | 609 | 5.44% | 125 | 20.53% | $1.053 |
E2/mugshot | $0.00 | 0 | — | 0 | — | 0 | — | — |
E2/spill2 | $0.00 | 0 | — | 0 | — | 2 | — | $0.000 |
No arm spent its budget. The four realised $131.58 to $144.09 against a $150/day cap on the account's clock, so no utilisation figure is stated.
The leading pair flipped again; bikini and lounge still trail. bodysuit's CPI rose 42% on the day; pool5 has the lowest CPM at 7.81.
spill2's two installs on zero spend are conversion-hour artifacts. They are carried in the account totals and named here so the rows reconcile.
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/pool5 | $383.89 | 2.66 (2.47) | $110.82 | 0.77 | $123.72 | 0.86 | 8 | 4.2% | 0.586 | 13.85 | 32.2% |
E2/bikini | $172.74 | 1.28 (1.36) | $46.88 | 0.35 | $52.81 | 0.39 | 3 | 2.3% | 0.358 | 15.63 | 74.6% |
E2/lounge | $118.48 | 0.89 (1.78) | $78.95 | 0.59 | $88.06 | 0.66 | 3 | 3.2% | 0.831 | 26.32 | 53.9% |
E2/bodysuit | $323.32 | 2.46 (3.21) | $64.84 | 0.49 | $71.40 | 0.54 | 7 | 5.3% | 0.491 | 9.26 | 44.5% |
E2/mugshot | $0.00 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
E2/spill2 | $199.03 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
The 16-payer bar (#37): every row in this table is under it. All four delivering arms rest on 3 to 8 payers, and in two of them a single person is more than half the arm's revenue: 74.6% of bikini's and 53.9% of lounge's. The table is printed because the format requires the full block; no row in it can be ranked against another.
spill2 books $199.03 on a rejected ad. People it recruited on earlier days paid on this one — why booked cannot rank anything.
⚠ This table is a cut of the account's own day, not the UTC day. It is a seven-hour-offset window against tables A and B; 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/pool5 | $148.79 | 21.1% | 11.7% | 67.2% | 0.0% |
E2/bikini | $155.02 | 22.1% | 14.8% | 63.2% | 0.0% |
E2/lounge | $148.42 | 17.8% | 10.7% | 71.4% | 0.0% |
E2/bodysuit | $145.48 | 19.1% | 17.8% | 63.1% | 0.0% |
The four arms put nearly the same share of spend into the same countries. India runs 17.8% to 22.1%, the United States 10.7% to 17.8%.
The zero in the last column is the same fact as section 3's: no arm took within-day revenue from the United States.
Money is plotted per day and delivery per hour, because payers run 0 to 4 per asset per hour and an hourly revenue line would be one person's basket. Markers are hollow where the point sits under 16 payers, which on this day is all of them.
The cohort measure now carries this comparison, and it did not on the first cut. Both days are 100% covered at H=24 on the 2026-08-12 09:27 UTC payment cut. When this page first shipped, 08-10 stood at 18% and the row was barred. Day-over-day claims still rest primarily on within-day, which is sealed at midnight and cannot move; cohort is now available as the hour-neutral cross-check.
The within-day fall is real as a fact about these two days and its cause is not established. Decomposed, revenue is installs times payer rate times revenue per payer: our registrations fell 15.0%, the within-day payer rate fell from 4.64% to 3.54%, and revenue per payer fell from $20.25 to $14.03. Those multiply to the observed −55.2%. But the payer-rate difference does not separate: matched to the 22 hours both days delivered in on the account's own clock, it reads 4.83% against 3.79%, p = 0.405. And 22 payers against 34 is a thin base for the third factor.
Within-day penalises a late-delivering day and this one was later. 44.4% of our registrations arrived in the first twelve UTC hours against 50.7% the day before, and the mean install hour moved from 11.07 to 12.09. Each install therefore had about an hour less of the day left in which to pay. That is a real contribution to the fall, and the re-cut now bounds it: cohort at a fixed horizon is hour-neutral, and it falls 1.49 → 0.63 against within-day's 1.07 → 0.57. Two similar falls on a measure that is sensitive to install hour and one that is not, so late delivery is a minor part of this day's drop.
Thirteen minutes of this day ran on unequal budgets. The 11:46 to 11:59 round trip on the account clock sits inside UTC hour 18. It is excluded from the regime-matched views by the E2-R6/E2-R7 split, but the day-level and hourly tables above are whole-day figures and do include it. No per-arm claim in this report rests on hour 18.
What the round trip did. The ten activity rows are one change and its reversal: at 11:46 pool5 went to $300, bodysuit to $200, lounge to $100, bikini to $50 and spill's ad set was switched off; at 11:59 all four returned to $150 and it came back on. Both hour-18 rows are about 78% matched-budget and 22% not. The seam is treated as the 08-04 12:31–12:37 one was: no matured cell moves, so every published E2-R6 reading stands unchanged.
The country section and table C are the account's own day, seven hours offset from every other table. On this re-cut they are a complete account day; the first cut held only about 22 of its 24 hours. They are read for mix, never for level against sections 1, 2 and 4.
spill's ad set is not in table A's delivery rows because it delivered nothing: its only live ad has been rejected since 08-09 06:12 on the account clock, so the set carried a $150/day budget and spent nothing. It was On for all but thirteen minutes of the day. Its budget is not a measure of what the account gave up: the account's own shortfall against the day before was $104.62, and none of the four arms that did deliver reached its own cap either.
The instrument gate passes. On the account's own clock our records read 1.06 and 1.01 of Meta's booked value against a 0.91 to 1.06 band. 08-09 again sits on the boundary and 08-10 is comfortably inside it.
Budget-matched is not spend-matched. Under-delivery inside an ad set is Meta's pacing decision, and the cost tables are computed on realised spend, so they are unaffected either way. The spends in table A are UTC-day figures against a cap set on the account's own day, seven hours apart.
A tight spend mix does not imply a tight install mix. DECISION_LOG.md #58 ranked the creatives on India's share of each arm's installs, where the four-day test read 11.4% to 35.7%; the two differ by exactly the per-country cost per install. No install-share cut for this day alone exists in the standing block, so table C cannot say whether the audiences converged.
Whether the within-day fall is a level change or a thin day. One more day at four arms and a flat $150 answers it, and the cut has to be taken late enough for cohort at 24 hours to be covered on both days. That is the measurement this report could not make.
Where the expensive tier's payers went. The United States, Britain and Germany produced no within-day revenue at all, against $176.30 between them the day before. On this re-cut both sides are whole account days, so the 47 installs and the 21.9% spend share compare cleanly with the previous day too. 47 installs is still too few to call it a rate change; the same three cells on the next two days would settle whether it is a run of zeros or a break.
Whether the account's flat clock is a floor or a stall. Two consecutive days with no direction on any of the four delivery ratios, after a stretch where CTR and CPI moved together at p = 0.007. The budget change due after the test's horizon is the natural probe, because it moves the one dial this account responds to.
Whether the spill rejection is appealed. A Request review control sits on the ad, and the arm has now missed a full day. That is an outward-facing action on an identity-bound ad account, so it is not an agent's to take. An arm restored after the test's horizon is a different experiment from the one that was pre-registered.
Re-cut 2026-08-12 09:27 UTC. This page first shipped on a cut five hours after the day closed, when cohort at 24 hours was 18% covered and barred from comparison. It is now complete, and the account day's own export has settled: spend reads $544.17 against the $539.91 first published, a +0.8% move of the kind a same-day export makes within about four hours of midnight. Within-day did not move and cannot — it is sealed at midnight — so every day-over-day claim on this page stands as written. What changed is the delivery column by under 1%, and the cohort row, which now carries a figure.
The test's horizon falls at 00:00 on 08-11 on the account clock, which is after this report's day. What this day adds to the read-out:
spill delivered zero hours of the test's last full UTC day, so the pre-registered five-arm comparison rests on four arms for its last day and the read-out has to say which of its numbers are four-day and which are five.bikini and lounge have been third and fourth on all five days; pool5 and bodysuit have swapped twice, today included ($0.828 against $1.053, from $0.918 against $0.743). The endpoint separates the leading pair from the trailing pair every day and has never settled the leading pair, and that is what the read-out should carry.Window: UTC 2026-08-10, against UTC 2026-08-09. The report clock is UTC and a UTC day is stitched from two of the ad account's own UTC-7 days, so each report day needs the previous account day's hourly export as well as its own.
Payment cut 2026-08-12 09:27 UTC. Cohort horizon H=24, 100% covered on both days.
Exports, re-pulled 2026-08-12 02:0x PT, after both the UTC day and the account's own day had closed:
| file | what | range |
|---|---|---|
exports/ads_hourly_aug10_settled.csv | ads × hour | Meta day 2026-08-10, all 24 hours, 104 rows |
exports/ads_day_jul1_aug11.csv | ads × day | 2026-07-01 → 2026-08-11, 6,342 rows |
exports/ads_country_day_jul1_aug11.csv | ads × country × day | 2026-07-14 → 2026-08-11, 10,513 rows |
These replace the partial pull this page first shipped on, which held Meta day 08-10 only to hour 21 and was taken while that day was still running. The settled export moves the account's spend from $539.91 to $544.17, +0.8%, and every delivery figure with it by under 1%. Within-day is untouched, as it must be.
Our own records come from the two Lum Telegram channels, re-exported on the laptop 2026-08-12 02:27 and 02:29 PT and parsed with ad_ops/lum_notifications/parse_export.py: 20,534 registrations and 2,434 payments, 18 of which have no matching registration. The parser corrected 67,128 timestamps for Telegram's fixed-offset bug. Registrations rose against the previous cut's 18,676, which is the check that the export was not truncated.
R=_runs/2026-08-12_0811_daily
python -m ad_ops.measures --config $R/run_config.json --day 2026-08-10 --prev 2026-08-09
python -m ad_ops.measures --config $R/run_config_meta.json --day 2026-08-10 --prev 2026-08-09
python -m ad_ops.day_compare --config $R/run_config.json --today 2026-08-10 --prev 2026-08-09 --h 6
python -m ad_ops.cohort_arpu --config $R/run_config.json --days 2026-08-07,…,2026-08-11
python -m ad_ops.asset_estimator hourly --campaign bailingxia_meituan_ww_cvr_260802 --horizon 24 …
python -m ad_ops.report_tables --config $R/run_config.json --day 2026-08-10 --prev 2026-08-09
python -m ad_ops.report_tables --config $R/run_config.json --day 2026-08-10 --prev 2026-08-09 --campaign-table
python -m ad_ops.report_tables --config $R/run_config.json --day 2026-08-10 --prev 2026-08-09 --campaign ww
python -m ad_ops.report_charts --config $R/run_config.json --day 2026-08-10 --prev 2026-08-09 \
--days 2026-08-06,…,2026-08-11 --out ad_ops/figures/2026-08-10
The instrument gate is run on the account's own clock, never on UTC, because Meta stamps conversion value on the conversion hour and that is the one column an hourly export cannot restitch.
The budget round trip's timestamps are read from Ads Manager: the campaign activity history at manage/campaigns/history with the range asserted as Aug 9, 2026 – Aug 10, 2026. That read is also what extends the regime table, which is a hand-recorded object and the one input to this report that goes stale without any error.
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 with nothing to convert. The ad account is fixed at UTC-7, so a UTC day is the account's previous day from 17:00 plus its own day to 16:59. The two clocks are not close: on a comparable day the same figures differ by 15% on spend and 40% on within-day revenue depending on which one is used.
Three things the clock does not reach, each labelled where it appears. 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 instrument check is invalid off the account clock, because conversion value sits on the conversion hour. The estimator runs on the account clock deliberately, since budget regimes are wall-clock events on it.
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 | settles about four hours after midnight, then fixed. Meta's own number is this basis |
| 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. Coverage is always stated |
Within-day is the one to use for day-over-day, because it is immutable and needs no horizon. Booked is reported to explain the gap and never to rank. Cohort at H is the hour-neutral cross-check and is only comparable when both days are covered, which on this pair, at this cut, they are.
One instrument, and Meta rides in a bracket. All three measures 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. Quoting Meta's booked against our within-day mixes instruments and puts part of the 0.91–1.06 instrument difference into what reads as a result.
Two install counts exist and they are never crossed. Meta's attributed installs drive the delivery funnel, so cost per install and click-to-install have Meta on both sides. Our registrations drive payer rate and every revenue measure, so the payers and the installs they came from are the same population.
Regime. A stretch over which an ad set's daily budget did not change. It matters because the budget dial selects the country mix on this account, so two creatives measured across a budget change are compared on different audiences. This day is split between E2-R6, which began 08-06 04:05 and ends 11:46 on this day, and E2-R7, which begins 11:59 and runs to the test's horizon. Both are $150/day on every delivering arm; they are separate regimes because the budget changed twice between them, and the thirteen minutes in the middle belong to neither.
The 16-payer bar. Below roughly 16 payers a revenue figure is a direction and not a magnitude. Revenue per install on this account has a coefficient of variation near 7, so separating two creatives by 20% on it needs sample sizes this account does not produce inside a five-day test.