All four ad accounts delivered on 2026-08-18 for the first time, and between them spent $561.08 against $702.79 the day before. B1 took $383.25, KBM1 $102.50, the two shared Nomad Node accounts $49.54 and HR1 $25.79 on its first delivering day ever. The portfolio spent 20.2% less, bought a third fewer registrations, and sealed 39.1% less revenue inside the day. Definitions, the report clock and the three revenue measures are in the appendix.
(i) The portfolio, both days.
| 2026-08-17 | 2026-08-18 | change | |
|---|---|---|---|
| spend | $702.79 | $561.08 | −20.2% |
| impressions | 92,038 | 54,877 | −40.4% |
| CPM | $7.64 | $10.22 | +33.8% |
| registrations (ours) | 1,027 | 690 | −32.8% |
| cost per registration | $0.684 | $0.813 | +18.9% |
| booked | $1,860.31 (2.65) | $1,791.97 (3.19) | −3.7% |
| within-day | $753.18 (1.07) | $458.50 (0.82) | −39.1% |
| cohort @ 24h | $881.43 (1.25) | $701.19 (1.25) | −20.4% |
| booked payers | 153 | 137 | −16 |
| payer rate | 14.9% | 19.9% | +5.0 pts |
| ARPU | $1.811 | $2.597 | +43.4% |
| ARPPU | $12.16 | $13.08 | +7.6% |
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.8086 | $1.2770 | $1.4990 | $9.80 | $12.57 | $14.76 | 630 |
| Sinai AI | $0.0000 | $0.0765 | $0.0765 | $0.00 | $0.63 | $0.63 | 41 |
(ii) Every account side by side, on one table. 2026-08-17 first, then 2026-08-18. This is the table the accounts are compared against each other on.
2026-08-17
| account | spend | share | impressions | CPM | registrations | cost/reg | booked (bROAS) | within-day (wROAS) | cohort@24h (cROAS) | payers | payer% | ARPU | ARPPU |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Portfolio | $702.79 | 100% | 92,038 | $7.64 | 1,027 | $0.684 | $1,860.31 (2.65) | $753.18 (1.07) | $881.43 (1.25) | 153 | 14.9% | $1.811 | $12.16 |
| B1 | $496.45 | 71% | 57,144 | $8.69 | 678 | $0.732 | $1,341.06 (2.70) | $539.29 (1.09) | $650.98 (1.31) | 111 | 16.4% | $1.978 | $12.08 |
| Nomad Node | $183.98 | 26% | 34,640 | $5.31 | 345 | $0.533 | $519.25 (2.82) | $213.89 (1.16) | $230.44 (1.25) | 42 | 12.2% | $1.505 | $12.36 |
| KBM1 | $22.36 | 3% | 254 | $88.03 | 4 | $5.590 | $0.00 (0.00) | $0.00 (0.00) | $0.00 (0.00) | 0 | 0.0% | $0.000 | — |
| HR1 | $0.00 | 0% | 0 | — | 0 | — | $0.00 | $0.00 | $0.00 | 0 | — | — | — |
2026-08-18
| account | spend | share | impressions | CPM | registrations | cost/reg | booked (bROAS) | within-day (wROAS) | cohort@24h (cROAS) | payers | payer% | ARPU | ARPPU |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Portfolio | $561.08 | 100% | 54,877 | $10.22 | 690 | $0.813 | $1,791.97 (3.19) | $458.50 (0.82) | $701.19 (1.25) | 137 | 19.9% | $2.597 | $13.08 |
| B1 | $383.25 | 68% | 48,709 | $7.87 | 616 | $0.622 | $1,308.70 (3.41) | $348.28 (0.91) | $537.99 (1.40) | 115 | 18.7% | $2.125 | $11.38 |
| Nomad Node | $49.54 | 9% | 5,144 | $9.63 | 61 | $0.812 | $418.29 (8.44) | $45.25 (0.91) | $58.24 (1.18) | 20 | 32.8% | $6.857 | $20.91 |
| KBM1 | $102.50 | 18% | 667 | $153.67 | 10 | $10.250 | $64.97 (0.63) | $64.97 (0.63) | $104.96 (1.02) | 2 | 20.0% | $6.497 | $32.48 |
| HR1 | $25.79 | 5% | 357 | $72.24 | 3 | $8.597 | $0.00 (0.00) | $0.00 (0.00) | $0.00 (0.00) | 0 | 0.0% | $0.000 | — |
(iii) The same table, once per account. Same rows, same columns, same two days.
B1
| 2026-08-17 | 2026-08-18 | change | |
|---|---|---|---|
| spend | $496.45 | $383.25 | −22.8% |
| impressions | 57,144 | 48,709 | −14.8% |
| CPM | $8.69 | $7.87 | −9.4% |
| registrations (ours) | 678 | 616 | −9.1% |
| cost per registration | $0.732 | $0.622 | −15.0% |
| booked | $1,341.06 (2.70) | $1,308.70 (3.41) | −2.4% |
| within-day | $539.29 (1.09) | $348.28 (0.91) | −35.4% |
| cohort @ 24h | $650.98 (1.31) | $537.99 (1.40) | −17.4% |
| booked payers | 111 | 115 | +4 |
| payer rate | 16.4% | 18.7% | +2.3 pts |
| ARPU | $1.978 | $2.125 | +7.4% |
| ARPPU | $12.08 | $11.38 | −5.8% |
Nomad Node
| 2026-08-17 | 2026-08-18 | change | |
|---|---|---|---|
| spend | $183.98 | $49.54 | −73.1% |
| impressions | 34,640 | 5,144 | −85.2% |
| CPM | $5.31 | $9.63 | +81.4% |
| registrations (ours) | 345 | 61 | −82.3% |
| cost per registration | $0.533 | $0.812 | +52.3% |
| booked | $519.25 (2.82) | $418.29 (8.44) | −19.4% |
| within-day | $213.89 (1.16) | $45.25 (0.91) | −78.8% |
| cohort @ 24h | $230.44 (1.25) | $58.24 (1.18) | −74.7% |
| booked payers | 42 | 20 | −22 |
| payer rate | 12.2% | 32.8% | +20.6 pts |
| ARPU | $1.505 | $6.857 | +355.6% |
| ARPPU | $12.36 | $20.91 | +69.2% |
KBM1
| 2026-08-17 | 2026-08-18 | change | |
|---|---|---|---|
| spend | $22.36 | $102.50 | +358.4% |
| impressions | 254 | 667 | +162.6% |
| CPM | $88.03 | $153.67 | +74.6% |
| registrations (ours) | 4 | 10 | +150.0% |
| cost per registration | $5.590 | $10.250 | +83.4% |
| booked | $0.00 (0.00) | $64.97 (0.63) | new |
| within-day | $0.00 (0.00) | $64.97 (0.63) | new |
| cohort @ 24h | $0.00 (0.00) | $104.96 (1.02) | new |
| booked payers | 0 | 2 | +2 |
| payer rate | 0.0% | 20.0% | +20.0 pts |
| ARPU | $0.000 | $6.497 | new |
| ARPPU | — | $32.48 | new |
HR1
| 2026-08-17 | 2026-08-18 | change | |
|---|---|---|---|
| spend | $0.00 | $25.79 | new |
| impressions | 0 | 357 | new |
| CPM | — | $72.24 | new |
| registrations (ours) | 0 | 3 | new |
| cost per registration | — | $8.597 | new |
| booked | $0.00 | $0.00 (0.00) | — |
| within-day | $0.00 | $0.00 (0.00) | — |
| cohort @ 24h | $0.00 | $0.00 (0.00) | — |
| booked payers | 0 | 0 | +0 |
| payer rate | — | 0.0% | — |
| ARPU | — | $0.000 | — |
| ARPPU | — | — | — |
The cohort row carries its change figure above: both days frozen at full coverage. A new row had no prior-day delivery, so no percentage.
Campaign spend split inside B1: Worldwide 100% on both 08-17 and 08-18. No campaign mix moved inside B1; the mix that moved is between accounts.
⚠ Portfolio CPM rose a third while B1, holding 89% of its impressions, made them 9.4% cheaper. Composition read as price; section 4 decomposes it.
The registration fall stopped being portfolio-wide. B1 lost 9.1% and the shared buy 82.3%, the latter to two campaigns switched down to under a dollar.
Revenue fell harder than spend while payer rate and ARPU rose. Both are booked-basis, and booked hardly moved while its registration denominator fell a third.
KBM1 returned real money for the first time: $64.97 within-day from two payers on $102.50, against a single $4.99 payer on 08-15 and nothing since.
(i) The portfolio, hour by hour, 2026-08-18. Every account placeable on the report clock, summed; delivery on the delivery hour, our columns on the hour the appendix names.
| hr | spend | impressions | CPM | registrations | cost/reg | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | booked payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $27.31 | 3,057 | $8.93 | 39 | $0.700 | $91.81 | 3.36 | $65.87 | 2.41 | $65.87 | 2.41 | 7 |
| 01 | $25.90 | 2,391 | $10.83 | 31 | $0.835 | $83.47 | 3.22 | $17.39 | 0.67 | $17.39 | 0.67 | 9 |
| 02 | $32.38 | 2,511 | $12.90 | 32 | $1.012 | $78.16 | 2.41 | $11.14 | 0.34 | $11.14 | 0.34 | 6 |
| 03 | $20.99 | 2,621 | $8.01 | 26 | $0.807 | $119.74 | 5.70 | $5.76 | 0.27 | $5.76 | 0.27 | 5 |
| 04 | $21.03 | 2,611 | $8.05 | 40 | $0.526 | $43.89 | 2.09 | $11.36 | 0.54 | $11.36 | 0.54 | 8 |
| 05 | $22.31 | 2,626 | $8.50 | 35 | $0.637 | $75.75 | 3.40 | $25.71 | 1.15 | $25.71 | 1.15 | 9 |
| 06 | $17.18 | 2,172 | $7.91 | 20 | $0.859 | $133.77 | 7.79 | $0.00 | 0.00 | $0.00 | 0.00 | 5 |
| 07 | $20.41 | 2,035 | $10.03 | 25 | $0.816 | $39.30 | 1.93 | $5.76 | 0.28 | $5.76 | 0.28 | 5 |
| 08 | $17.92 | 1,823 | $9.83 | 31 | $0.578 | $76.52 | 4.27 | $65.74 | 3.67 | $105.73 | 5.90 | 8 |
| 09 | $15.02 | 1,470 | $10.22 | 20 | $0.751 | $23.51 | 1.56 | $0.00 | 0.00 | $0.00 | 0.00 | 5 |
| 10 | $22.71 | 1,897 | $11.97 | 21 | $1.081 | $33.93 | 1.49 | $29.91 | 1.32 | $34.90 | 1.54 | 4 |
| 11 | $29.67 | 2,509 | $11.83 | 30 | $0.989 | $17.07 | 0.58 | $5.45 | 0.18 | $5.45 | 0.18 | 4 |
| 12 | $25.96 | 2,388 | $10.87 | 30 | $0.865 | $28.79 | 1.11 | $4.99 | 0.19 | $4.99 | 0.19 | 4 |
| 13 | $31.09 | 2,583 | $12.04 | 27 | $1.151 | $182.76 | 5.88 | $32.11 | 1.03 | $32.11 | 1.03 | 14 |
| 14 | $20.73 | 1,467 | $14.13 | 24 | $0.864 | $30.61 | 1.48 | $9.86 | 0.48 | $9.86 | 0.48 | 7 |
| 15 | $25.17 | 2,079 | $12.11 | 14 | $1.798 | $52.87 | 2.10 | $15.92 | 0.63 | $15.92 | 0.63 | 6 |
| 16 | $24.62 | 2,680 | $9.19 | 34 | $0.724 | $161.36 | 6.55 | $84.58 | 3.44 | $84.58 | 3.44 | 14 |
| 17 | $25.08 | 3,069 | $8.17 | 39 | $0.643 | $74.53 | 2.97 | $0.00 | 0.00 | $5.71 | 0.23 | 10 |
| 18 | $26.41 | 2,757 | $9.58 | 32 | $0.825 | $50.44 | 1.91 | $17.09 | 0.65 | $46.46 | 1.76 | 9 |
| 19 | $28.03 | 2,392 | $11.72 | 25 | $1.121 | $133.01 | 4.75 | $10.12 | 0.36 | $13.11 | 0.47 | 12 |
| 20 | $18.61 | 1,866 | $9.97 | 27 | $0.689 | $50.88 | 2.73 | $10.67 | 0.57 | $156.66 | 8.42 | 9 |
| 21 | $19.17 | 1,724 | $11.12 | 28 | $0.685 | $44.29 | 2.31 | $4.99 | 0.26 | $8.66 | 0.45 | 6 |
| 22 | $25.28 | 1,970 | $12.83 | 28 | $0.903 | $71.26 | 2.82 | $10.96 | 0.43 | $10.96 | 0.43 | 5 |
| 23 | $18.10 | 2,179 | $8.31 | 32 | $0.566 | $94.26 | 5.21 | $13.13 | 0.73 | $23.11 | 1.28 | 8 |
Absent from the table above: nothing — all four accounts carry a derived offset and are inside the hourly sum for the first time.
(ii) The same 24 hours per account, 2026-08-18.
The other accounts, hour by hour.
Nomad Node — $49.54 on this day
| hr | spend | impressions | CPM | registrations | cost/reg | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | booked payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $4.07 | 606 | $6.72 | 11 | $0.370 | $6.18 | 1.52 | $6.18 | 1.52 | $6.18 | 1.52 | 1 |
| 01 | $1.56 | 141 | $11.06 | 3 | $0.520 | $12.99 | 8.33 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
| 02 | $0.67 | 101 | $6.63 | 0 | — | $52.98 | 79.07 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
| 03 | $0.96 | 151 | $6.36 | 0 | — | $110.99 | 115.61 | $0.00 | 0.00 | $0.00 | 0.00 | 3 |
| 04 | $0.80 | 130 | $6.15 | 1 | $0.800 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 05 | $3.74 | 433 | $8.64 | 5 | $0.748 | $30.04 | 8.03 | $10.53 | 2.82 | $10.53 | 2.82 | 3 |
| 06 | $3.90 | 312 | $12.50 | 3 | $1.300 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 07 | $2.77 | 205 | $13.51 | 4 | $0.693 | $18.74 | 6.77 | $0.00 | 0.00 | $0.00 | 0.00 | 2 |
| 08 | $4.33 | 305 | $14.20 | 3 | $1.443 | $2.96 | 0.68 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
| 09 | $2.31 | 188 | $12.29 | 2 | $1.155 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 10 | $1.95 | 163 | $11.96 | 3 | $0.650 | $4.99 | 2.56 | $4.99 | 2.56 | $4.99 | 2.56 | 1 |
| 11 | $1.84 | 199 | $9.25 | 5 | $0.368 | $8.41 | 4.57 | $5.45 | 2.96 | $5.45 | 2.96 | 2 |
| 12 | $2.39 | 225 | $10.62 | 2 | $1.195 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 13 | $1.83 | 248 | $7.38 | 2 | $0.915 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 14 | $2.36 | 184 | $12.83 | 3 | $0.787 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 15 | $1.68 | 178 | $9.44 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 16 | $1.19 | 159 | $7.48 | 2 | $0.595 | $41.11 | 34.55 | $7.98 | 6.71 | $7.98 | 6.71 | 3 |
| 17 | $1.97 | 183 | $10.77 | 2 | $0.985 | $12.99 | 6.59 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
| 18 | $1.57 | 199 | $7.89 | 1 | $1.570 | $4.99 | 3.18 | $4.99 | 3.18 | $17.98 | 11.45 | 1 |
| 19 | $1.52 | 157 | $9.68 | 2 | $0.760 | $18.35 | 12.07 | $5.13 | 3.37 | $5.13 | 3.37 | 2 |
| 20 | $1.20 | 154 | $7.79 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 21 | $1.46 | 168 | $8.69 | 1 | $1.460 | $15.98 | 10.95 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
| 22 | $1.88 | 181 | $10.39 | 5 | $0.376 | $36.60 | 19.47 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
| 23 | $1.59 | 174 | $9.14 | 1 | $1.590 | $39.99 | 25.15 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
KBM1 — $102.50 on this day
| hr | spend | impressions | CPM | registrations | cost/reg | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | booked payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $4.79 | 52 | $92.12 | 1 | $4.790 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 01 | $1.60 | 5 | $320.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 02 | $12.93 | 72 | $179.58 | 1 | $12.930 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 03 | $3.42 | 18 | $190.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 04 | $4.05 | 19 | $213.16 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 05 | $1.91 | 15 | $127.33 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 06 | $0.98 | 10 | $98.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 07 | $1.98 | 10 | $198.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 08 | $1.98 | 21 | $94.29 | 1 | $1.980 | $34.99 | 17.67 | $59.98 | 30.29 | $99.97 | 50.49 | 1 |
| 09 | $1.79 | 27 | $66.30 | 1 | $1.790 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 10 | $2.49 | 31 | $80.32 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 11 | $10.63 | 58 | $183.28 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 12 | $5.02 | 37 | $135.68 | 1 | $5.020 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 13 | $9.53 | 50 | $190.60 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 14 | $4.49 | 29 | $154.83 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 15 | $6.08 | 24 | $253.33 | 0 | — | $24.99 | 4.11 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
| 16 | $5.30 | 27 | $196.30 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 17 | $2.17 | 24 | $90.42 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 18 | $3.02 | 26 | $116.15 | 1 | $3.020 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 19 | $3.43 | 25 | $137.20 | 1 | $3.430 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 20 | $3.94 | 34 | $115.88 | 1 | $3.940 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 21 | $3.33 | 15 | $222.00 | 1 | $3.330 | $4.99 | 1.50 | $4.99 | 1.50 | $4.99 | 1.50 | 1 |
| 22 | $5.06 | 23 | $220.00 | 1 | $5.060 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 23 | $2.58 | 15 | $172.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
HR1 — $25.79 on this day
| hr | spend | impressions | CPM | registrations | cost/reg | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | booked payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $0.94 | 16 | $58.75 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 01 | $1.12 | 31 | $36.13 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 02 | $1.06 | 23 | $46.09 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 03 | $1.00 | 24 | $41.67 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 04 | $0.12 | 2 | $60.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 05 | $0.87 | 8 | $108.75 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 06 | $0.01 | 1 | $10.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 07 | $0.37 | 8 | $46.25 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 08 | $0.50 | 5 | $100.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 09 | $0.67 | 14 | $47.86 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 10 | $1.48 | 13 | $113.85 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 11 | $0.97 | 17 | $57.06 | 1 | $0.970 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 12 | $1.79 | 24 | $74.58 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 13 | $2.29 | 34 | $67.35 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 14 | $1.86 | 16 | $116.25 | 1 | $1.860 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 15 | $2.71 | 28 | $96.79 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 16 | $0.98 | 17 | $57.65 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 17 | $0.75 | 12 | $62.50 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 18 | $1.28 | 12 | $106.67 | 1 | $1.280 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 19 | $3.59 | 33 | $108.79 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 20 | $0.53 | 11 | $48.18 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 21 | $0.78 | 6 | $130.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 22 | $0.12 | 2 | $60.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 23 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | — | $0.00 | — | 0 |
B1's own 24 rows are the full-funnel table below.
B1's full-funnel hourly table, the one account whose hours the renderer reads as a funnel. Delivery columns are Meta's; registrations, payers and revenue are ours.
| hr | spend | impr | CPM | clicks | CTR | inst | clk→inst | CPI | ours | cov | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $17.51 | 2,383 | $7.35 | 133 | 5.58% | 21 | 15.8% | $0.834 | 26 | 100% | $85.62 | 4.89 | $59.68 | 3.41 | $59.68 | 3.41 | 6 |
| 01 | $21.62 | 2,214 | $9.77 | 108 | 4.88% | 18 | 16.7% | $1.201 | 27 | 100% | $55.30 | 2.56 | $17.39 | 0.80 | $17.39 | 0.80 | 7 |
| 02 | $17.72 | 2,315 | $7.65 | 119 | 5.14% | 20 | 16.8% | $0.886 | 29 | 100% | $25.18 | 1.42 | $11.14 | 0.63 | $11.14 | 0.63 | 5 |
| 03 | $15.61 | 2,428 | $6.43 | 137 | 5.64% | 23 | 16.8% | $0.679 | 25 | 100% | $8.75 | 0.56 | $5.76 | 0.37 | $5.76 | 0.37 | 2 |
| 04 | $16.06 | 2,460 | $6.53 | 149 | 6.06% | 24 | 16.1% | $0.669 | 39 | 100% | $43.89 | 2.73 | $11.36 | 0.71 | $11.36 | 0.71 | 8 |
| 05 | $15.79 | 2,170 | $7.28 | 136 | 6.27% | 17 | 12.5% | $0.929 | 26 | 100% | $16.40 | 1.04 | $0.00 | 0.00 | $0.00 | 0.00 | 5 |
| 06 | $12.29 | 1,849 | $6.65 | 113 | 6.11% | 9 | 8.0% | $1.366 | 17 | 100% | $130.21 | 10.59 | $0.00 | 0.00 | $0.00 | 0.00 | 4 |
| 07 | $15.29 | 1,812 | $8.44 | 124 | 6.84% | 19 | 15.3% | $0.805 | 19 | 100% | $20.56 | 1.34 | $5.76 | 0.38 | $5.76 | 0.38 | 3 |
| 08 | $11.11 | 1,492 | $7.45 | 108 | 7.24% | 19 | 17.6% | $0.585 | 26 | 100% | $38.58 | 3.47 | $5.76 | 0.52 | $5.76 | 0.52 | 6 |
| 09 | $10.25 | 1,241 | $8.26 | 71 | 5.72% | 12 | 16.9% | $0.854 | 17 | 100% | $23.51 | 2.29 | $0.00 | 0.00 | $0.00 | 0.00 | 5 |
| 10 | $16.79 | 1,690 | $9.93 | 105 | 6.21% | 16 | 15.2% | $1.049 | 17 | 100% | $28.94 | 1.72 | $24.92 | 1.48 | $29.91 | 1.78 | 3 |
| 11 | $16.23 | 2,235 | $7.26 | 127 | 5.68% | 17 | 13.4% | $0.955 | 22 | 100% | $8.66 | 0.53 | $0.00 | 0.00 | $0.00 | 0.00 | 2 |
| 12 | $16.76 | 2,102 | $7.97 | 135 | 6.42% | 26 | 19.3% | $0.645 | 27 | 100% | $28.79 | 1.72 | $4.99 | 0.30 | $4.99 | 0.30 | 4 |
| 13 | $17.44 | 2,251 | $7.75 | 131 | 5.82% | 18 | 13.7% | $0.969 | 25 | 100% | $179.20 | 10.28 | $32.11 | 1.84 | $32.11 | 1.84 | 13 |
| 14 | $12.02 | 1,238 | $9.71 | 73 | 5.90% | 13 | 17.8% | $0.925 | 18 | 100% | $27.20 | 2.26 | $9.86 | 0.82 | $9.86 | 0.82 | 6 |
| 15 | $14.70 | 1,849 | $7.95 | 130 | 7.03% | 10 | 7.7% | $1.470 | 12 | 100% | $27.88 | 1.90 | $15.92 | 1.08 | $15.92 | 1.08 | 5 |
| 16 | $17.15 | 2,477 | $6.92 | 158 | 6.38% | 18 | 11.4% | $0.953 | 30 | 100% | $109.88 | 6.41 | $76.60 | 4.47 | $76.60 | 4.47 | 9 |
| 17 | $20.19 | 2,850 | $7.08 | 185 | 6.49% | 30 | 16.2% | $0.673 | 35 | 100% | $61.54 | 3.05 | $0.00 | 0.00 | $5.71 | 0.28 | 9 |
| 18 | $20.54 | 2,520 | $8.15 | 166 | 6.59% | 19 | 11.4% | $1.081 | 27 | 100% | $41.89 | 2.04 | $12.10 | 0.59 | $28.48 | 1.39 | 7 |
| 19 | $19.49 | 2,177 | $8.95 | 130 | 5.97% | 14 | 10.8% | $1.392 | 21 | 100% | $99.48 | 5.10 | $4.99 | 0.26 | $7.98 | 0.41 | 9 |
| 20 | $12.94 | 1,667 | $7.76 | 112 | 6.72% | 16 | 14.3% | $0.809 | 23 | 100% | $50.88 | 3.93 | $10.67 | 0.82 | $156.66 | 12.11 | 9 |
| 21 | $13.60 | 1,535 | $8.86 | 108 | 7.04% | 19 | 17.6% | $0.716 | 26 | 100% | $23.32 | 1.72 | $0.00 | 0.00 | $3.67 | 0.27 | 4 |
| 22 | $18.22 | 1,764 | $10.33 | 103 | 5.84% | 19 | 18.4% | $0.959 | 22 | 100% | $34.66 | 1.90 | $10.96 | 0.60 | $10.96 | 0.60 | 4 |
| 23 | $13.93 | 1,990 | $7.00 | 105 | 5.28% | 28 | 26.7% | $0.497 | 31 | 100% | $54.27 | 3.90 | $13.13 | 0.94 | $23.11 | 1.66 | 7 |
| ALL | $383.25 | 48,709 | $7.87 | 2,966 | 6.09% | 445 | 15.0% | $0.861 | 587 | 100% | $1224.59 | 3.20 | $333.10 | 0.87 | $522.81 | 1.36 | 110 |
⚠ The coverage column reads 100% on every hour. Every install on this day has lived a full 24 hours, so the cohort column is frozen end to end and no hour on it can rise further.
⚠ Payer counts per hour run 0 to 13 and every bucket sits under the 16-payer bar. Read the ALL row for level and the hours for shape.
Hours both days delivered in, on the UTC clock: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23. Only the shared hours are compared.
Counting which way each shared hour points, which needs no weighting and asks only for a direction:
| metric | hours 2026-08-18 ran higher | hours it ran lower | sign test |
|---|---|---|---|
| CPM | 7 of 24 | 17 of 24 | p = 0.064 |
| CTR | 18 of 24 | 6 of 24 | p = 0.023 |
| click→install | 14 of 24 | 10 of 24 | p = 0.541 |
| CPI | 7 of 24 | 17 of 24 | p = 0.064 |
A sign test throws magnitude away and buys weight-free direction with it.
Every shared hour, 2026-08-17 → 2026-08-18. All columns are Meta's instrument on both sides of each ratio. Revenue is deliberately absent: per-hour payer counts run 0-3, so an hourly revenue column would be one person's basket read as a rate.
| hr | impressions | CPM | CTR | click→install | CPI |
|---|---|---|---|---|---|
| 00 | 1,647 → 2,383 | 9.12 → 7.35 | 4.68% → 5.58% | 14.3% → 15.8% | 1.365 → 0.834 |
| 01 | 1,875 → 2,214 | 8.06 → 9.77 | 5.49% → 4.88% | 17.5% → 16.7% | 0.839 → 1.201 |
| 02 | 2,144 → 2,315 | 9.00 → 7.65 | 5.60% → 5.14% | 15.8% → 16.8% | 1.015 → 0.886 |
| 03 | 2,322 → 2,428 | 9.02 → 6.43 | 4.91% → 5.64% | 11.4% → 16.8% | 1.611 → 0.679 |
| 04 | 2,326 → 2,460 | 8.53 → 6.53 | 5.12% → 6.06% | 16.0% → 16.1% | 1.044 → 0.669 |
| 05 | 3,143 → 2,170 | 7.11 → 7.28 | 5.28% → 6.27% | 15.1% → 12.5% | 0.894 → 0.929 |
| 06 | 2,954 → 1,849 | 6.64 → 6.65 | 4.84% → 6.11% | 9.1% → 8.0% | 1.509 → 1.366 |
| 07 | 3,029 → 1,812 | 8.22 → 8.44 | 5.81% → 6.84% | 13.1% → 15.3% | 1.082 → 0.805 |
| 08 | 2,598 → 1,492 | 8.53 → 7.45 | 5.08% → 7.24% | 16.7% → 17.6% | 1.008 → 0.585 |
| 09 | 2,373 → 1,241 | 8.35 → 8.26 | 5.35% → 5.72% | 18.1% → 16.9% | 0.862 → 0.854 |
| 10 | 2,767 → 1,690 | 7.27 → 9.93 | 5.13% → 6.21% | 14.1% → 15.2% | 1.006 → 1.049 |
| 11 | 2,157 → 2,235 | 8.39 → 7.26 | 5.19% → 5.68% | 16.1% → 13.4% | 1.006 → 0.955 |
| 12 | 2,252 → 2,102 | 7.90 → 7.97 | 6.31% → 6.42% | 17.6% → 19.3% | 0.712 → 0.645 |
| 13 | 2,679 → 2,251 | 9.39 → 7.75 | 6.46% → 5.82% | 7.5% → 13.7% | 1.935 → 0.969 |
| 14 | 1,507 → 1,238 | 13.62 → 9.71 | 8.03% → 5.90% | 15.7% → 17.8% | 1.080 → 0.925 |
| 15 | 2,602 → 1,849 | 8.80 → 7.95 | 6.00% → 7.03% | 16.0% → 7.7% | 0.916 → 1.470 |
| 16 | 2,699 → 2,477 | 8.80 → 6.92 | 5.59% → 6.38% | 17.9% → 11.4% | 0.880 → 0.953 |
| 17 | 2,764 → 2,850 | 8.63 → 7.08 | 6.15% → 6.49% | 14.7% → 16.2% | 0.954 → 0.673 |
| 18 | 2,691 → 2,520 | 9.23 → 8.15 | 6.35% → 6.59% | 15.8% → 11.4% | 0.920 → 1.081 |
| 19 | 2,285 → 2,177 | 10.11 → 8.95 | 7.05% → 5.97% | 16.8% → 10.8% | 0.856 → 1.392 |
| 20 | 1,961 → 1,667 | 9.63 → 7.76 | 5.30% → 6.72% | 15.4% → 14.3% | 1.180 → 0.809 |
| 21 | 1,910 → 1,535 | 9.62 → 8.86 | 5.71% → 7.04% | 15.6% → 17.6% | 1.081 → 0.716 |
| 22 | 2,015 → 1,764 | 8.06 → 10.33 | 6.35% → 5.84% | 8.6% → 18.4% | 1.477 → 0.959 |
| 23 | 2,444 → 1,990 | 9.72 → 7.00 | 5.07% → 5.28% | 16.9% → 26.7% | 1.131 → 0.497 |
No delivery problem on this day. CTR clears the sign test at p = 0.023; CPM and CPI at p = 0.064 point only.
(i) The portfolio by country, 2026-08-18. 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 |
|---|---|---|---|---|---|---|---|---|---|
| US | $190.91 | 37.3% | 3,501 | $54.53 | 49 | $3.896 | $137.90 | 0.72 | 30 |
| IN | $74.83 | 14.6% | 8,888 | $8.42 | 168 | $0.445 | $127.09 | 1.70 | 25 |
| MX | $20.11 | 3.9% | 4,583 | $4.39 | 42 | $0.479 | $15.92 | 0.79 | 5 |
| ID | $15.13 | 3.0% | 2,585 | $5.85 | 40 | $0.378 | $12.97 | 0.86 | 7 |
| GB | $14.42 | 2.8% | 1,025 | $14.07 | 20 | $0.721 | $0.00 | 0.00 | 0 |
| TR | $13.42 | 2.6% | 754 | $17.79 | 18 | $0.746 | $0.00 | 0.00 | 2 |
| MY | $11.83 | 2.3% | 2,127 | $5.56 | 16 | $0.739 | $5.38 | 0.46 | 1 |
| PH | $10.40 | 2.0% | 6,585 | $1.58 | 43 | $0.242 | $0.00 | 0.00 | 2 |
| CL | $8.76 | 1.7% | 638 | $13.74 | 10 | $0.876 | $10.67 | 1.22 | 2 |
| CA | $6.96 | 1.4% | 611 | $11.40 | 12 | $0.580 | $4.99 | 0.72 | 2 |
| FR | $6.80 | 1.3% | 510 | $13.33 | 6 | $1.133 | $0.00 | 0.00 | 0 |
| AR | $6.72 | 1.3% | 842 | $7.98 | 12 | $0.560 | $0.00 | 0.00 | 1 |
181 further countries are not listed, $131.32 between them (25.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) $116.60 from Meta 2026-08-17 and $266.71 from Meta 2026-08-18, a measured UTC-day total of $383.31; KBM1 (UTC-7) $29.68 from Meta 2026-08-17 and $72.82 from Meta 2026-08-18, a measured UTC-day total of $102.50; HR1 (UTC+0) needed none, its Meta day IS the UTC day at $25.79. The 1 UTC+0 account above is the control: raking one returns its country export unchanged, and that identity held here. Meta days this run did not pull were taken from the country archive at ad_ops/_data/country_archive/ — HR1 Meta 2026-08-18; KBM1 Meta 2026-08-17, 2026-08-18 — because a UTC-7 day reaches back into the Meta day before it and the run window did not.
(ii) The same cut per account, 2026-08-18.
B1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| IN | $74.83 | 19.5% | 8,888 | $8.42 | 164 | $0.456 | $127.09 | 1.70 | 23 |
| US | $62.62 | 16.3% | 2,477 | $25.28 | 35 | $1.789 | $67.94 | 1.08 | 25 |
| MX | $20.11 | 5.2% | 4,583 | $4.39 | 41 | $0.490 | $15.92 | 0.79 | 4 |
| ID | $15.13 | 3.9% | 2,585 | $5.85 | 28 | $0.540 | $0.00 | 0.00 | 5 |
| GB | $14.42 | 3.8% | 1,025 | $14.07 | 19 | $0.759 | $0.00 | 0.00 | 0 |
| TR | $13.42 | 3.5% | 754 | $17.79 | 17 | $0.789 | $0.00 | 0.00 | 1 |
| MY | $11.83 | 3.1% | 2,127 | $5.56 | 14 | $0.845 | $5.38 | 0.46 | 1 |
| PH | $10.40 | 2.7% | 6,585 | $1.58 | 41 | $0.254 | $0.00 | 0.00 | 2 |
| CL | $8.76 | 2.3% | 638 | $13.74 | 8 | $1.095 | $10.67 | 1.22 | 2 |
| CA | $6.96 | 1.8% | 611 | $11.40 | 11 | $0.633 | $4.99 | 0.72 | 2 |
| FR | $6.80 | 1.8% | 510 | $13.33 | 6 | $1.133 | $0.00 | 0.00 | 0 |
| AR | $6.72 | 1.8% | 842 | $7.98 | 11 | $0.611 | $0.00 | 0.00 | 1 |
178 further countries are not listed, $131.32 between them (34.3% of this block).
Nomad Node
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| AR | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| AZ | $0.00 | 0.0% | 0 | — | 0 | — | $0.00 | — | 1 |
| BR | $0.00 | 0.0% | 0 | — | 5 | $0.000 | $5.13 | — | 3 |
| CA | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| CL | $0.00 | 0.0% | 0 | — | 2 | $0.000 | $0.00 | — | 0 |
| CO | $0.00 | 0.0% | 0 | — | 3 | $0.000 | $0.00 | — | 0 |
| CR | $0.00 | 0.0% | 0 | — | 2 | $0.000 | $0.00 | — | 0 |
| CZ | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $6.18 | — | 1 |
| DK | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| EC | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| GB | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| GT | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
23 further countries are not listed, $0.00 between them (0.0% of this block).
KBM1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| US | $102.50 | 100.0% | 667 | $153.67 | 10 | $10.250 | $64.97 | 0.63 | 2 |
HR1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| US | $25.79 | 100.0% | 357 | $72.24 | 3 | $8.597 | $0.00 | 0.00 | 0 |
The prior day, 2026-08-17, the same two tables.
(i) The portfolio by country, 2026-08-17. 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 |
|---|---|---|---|---|---|---|---|---|---|
| US | $108.36 | 21.1% | 3,809 | $28.45 | 69 | $1.570 | $117.90 | 1.09 | 22 |
| IN | $91.93 | 17.9% | 10,001 | $9.19 | 228 | $0.403 | $121.23 | 1.32 | 38 |
| MX | $20.83 | 4.1% | 4,540 | $4.59 | 47 | $0.443 | $14.82 | 0.71 | 7 |
| TR | $20.56 | 4.0% | 817 | $25.18 | 33 | $0.623 | $10.90 | 0.53 | 4 |
| GB | $20.47 | 4.0% | 1,359 | $15.06 | 28 | $0.731 | $21.74 | 1.06 | 6 |
| ID | $17.66 | 3.4% | 2,932 | $6.02 | 60 | $0.294 | $9.98 | 0.56 | 2 |
| PH | $14.99 | 2.9% | 8,020 | $1.87 | 58 | $0.258 | $5.63 | 0.38 | 4 |
| MY | $13.36 | 2.6% | 2,625 | $5.09 | 27 | $0.495 | $10.76 | 0.81 | 6 |
| IT | $10.83 | 2.1% | 717 | $15.11 | 16 | $0.677 | $6.32 | 0.58 | 1 |
| CA | $10.30 | 2.0% | 676 | $15.25 | 16 | $0.644 | $89.12 | 8.65 | 3 |
| AR | $9.10 | 1.8% | 1,124 | $8.10 | 25 | $0.364 | $15.96 | 1.75 | 4 |
| FR | $8.64 | 1.7% | 721 | $11.98 | 15 | $0.576 | $5.74 | 0.67 | 2 |
186 further countries are not listed, $165.93 between them (32.3% 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) $132.17 from Meta 2026-08-16 and $364.28 from Meta 2026-08-17, a measured UTC-day total of $496.45; KBM1 (UTC-7) $16.53 from Meta 2026-08-17, a measured UTC-day total of $16.53. Meta days this run did not pull were taken from the country archive at ad_ops/_data/country_archive/ — KBM1 Meta 2026-08-17 — because a UTC-7 day reaches back into the Meta day before it and the run window did not.
Absent from the table above, by name: HR1. Their spend is in every day-grain table; only their country split is missing.
(ii) The same cut per account, 2026-08-17.
B1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| IN | $91.93 | 18.5% | 10,001 | $9.19 | 167 | $0.550 | $103.96 | 1.13 | 30 |
| US | $91.83 | 18.5% | 3,633 | $25.28 | 50 | $1.837 | $107.92 | 1.18 | 17 |
| MX | $20.83 | 4.2% | 4,540 | $4.59 | 30 | $0.694 | $5.71 | 0.27 | 5 |
| TR | $20.56 | 4.1% | 817 | $25.18 | 18 | $1.142 | $5.89 | 0.29 | 2 |
| GB | $20.47 | 4.1% | 1,359 | $15.06 | 25 | $0.819 | $21.74 | 1.06 | 6 |
| ID | $17.66 | 3.6% | 2,932 | $6.02 | 29 | $0.609 | $9.98 | 0.56 | 2 |
| PH | $14.99 | 3.0% | 8,020 | $1.87 | 39 | $0.384 | $5.63 | 0.38 | 4 |
| MY | $13.36 | 2.7% | 2,625 | $5.09 | 22 | $0.607 | $10.76 | 0.81 | 4 |
| IT | $10.83 | 2.2% | 717 | $15.11 | 13 | $0.833 | $6.32 | 0.58 | 1 |
| CA | $10.30 | 2.1% | 676 | $15.25 | 11 | $0.937 | $71.31 | 6.92 | 2 |
| AR | $9.10 | 1.8% | 1,124 | $8.10 | 15 | $0.607 | $10.97 | 1.20 | 2 |
| FR | $8.64 | 1.7% | 721 | $11.98 | 10 | $0.864 | $5.74 | 0.67 | 2 |
184 further countries are not listed, $165.93 between them (33.4% of this block).
Nomad Node
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| AE | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| AR | $0.00 | 0.0% | 0 | — | 10 | $0.000 | $4.99 | — | 2 |
| AT | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| AU | $0.00 | 0.0% | 0 | — | 0 | — | $0.00 | — | 1 |
| AZ | $0.00 | 0.0% | 0 | — | 2 | $0.000 | $10.97 | — | 1 |
| BE | $0.00 | 0.0% | 0 | — | 3 | $0.000 | $6.32 | — | 1 |
| BG | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| BO | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| BR | $0.00 | 0.0% | 0 | — | 26 | $0.000 | $13.22 | — | 3 |
| CA | $0.00 | 0.0% | 0 | — | 5 | $0.000 | $17.82 | — | 1 |
| CL | $0.00 | 0.0% | 0 | — | 3 | $0.000 | $0.00 | — | 1 |
| CO | $0.00 | 0.0% | 0 | — | 6 | $0.000 | $0.00 | — | 0 |
58 further countries are not listed, $0.00 between them (0.0% of this block).
KBM1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| US | $16.53 | 100.0% | 176 | $93.92 | 4 | $4.133 | $0.00 | 0.00 | 0 |
HR1 — no country block: it delivered nothing on this day, a measured zero.
(i) The delivery funnel — B1's only. portfolio_split does not yet read the other accounts' funnel columns. Every revenue table below is portfolio-wide.
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-17 | $496.45 | 57,144 | 8.69 | 3,241 | 5.67% | 477 | 14.72% | $1.041 |
| 2026-08-18 | $383.25 | 48,709 | 7.87 | 2,966 | 6.09% | 445 | 15.00% | $0.861 |
Pooling across hours weights each hour by what it delivered. The hourly pairing is the unweighted read of the same two days; where they disagree, the mix moved.
The three measures, portfolio, both days:
| measure | 2026-08-17 | 2026-08-18 | moves? |
|---|---|---|---|
| booked | $1,860.31 (2.65) | $1,791.97 (3.19) | settled |
| within-day | $753.18 (1.07) | $458.50 (0.82) | never |
| cohort @ 24h | $881.43 (1.25), 100% covered | $701.19 (1.25), 100% covered | frozen, both days |
Booked revenue by the day its payer installed, B1, whose top row is the within-day figure:
| installed | booked on 08-18 | share |
|---|---|---|
| 2026-08-18 | $333.10 | 27.2% |
| 2026-08-17 | $106.63 | 8.7% |
| 2026-08-16 | $64.29 | 5.2% |
| 2026-08-15 | $94.76 | 7.7% |
| 2026-08-14 | $2.99 | 0.2% |
| 2026-08-13 | $6.81 | 0.6% |
(ii) Each measure per account, both days.
2026-08-17 (prior day) — the three measures
| account | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers | payer% | ARPU | ARPPU |
|---|---|---|---|---|---|---|---|---|---|---|
| Portfolio | $1,860.31 | 2.65 | $753.18 | 1.07 | $881.43 | 1.25 | 153 | 14.9% | $1.811 | $12.16 |
| B1 | $1,341.06 | 2.70 | $539.29 | 1.09 | $650.98 | 1.31 | 111 | 16.4% | $1.978 | $12.08 |
| Nomad Node | $519.25 | 2.82 | $213.89 | 1.16 | $230.44 | 1.25 | 42 | 12.2% | $1.505 | $12.36 |
| KBM1 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 | 0.0% | $0.000 | — |
| HR1 | $0.00 | — | $0.00 | — | $0.00 | — | 0 | — | — | — |
2026-08-18 (the day) — the three measures
| account | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers (d0) | payer% (d0) | ARPU (d0) | ARPPU (d0) |
|---|---|---|---|---|---|---|---|---|---|---|
| Portfolio | $1,791.97 | 3.19 | $458.50 | 0.82 | $701.19 | 1.25 | 51 | 7.4% | $1.0162 | $13.75 |
| B1 | $1,308.70 | 3.41 | $348.28 | 0.91 | $537.99 | 1.40 | 42 | 6.8% | $0.8734 | $12.81 |
| Nomad Node | $418.29 | 8.44 | $45.25 | 0.91 | $58.24 | 1.18 | 7 | 11.5% | $0.9548 | $8.32 |
| KBM1 | $64.97 | 0.63 | $64.97 | 0.63 | $104.96 | 1.02 | 2 | 20.0% | $10.4960 | $52.48 |
| HR1 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 | 0.0% | $0.0000 | — |
Ranked on within-day the order is B1 0.91, the shared buy 0.91, KBM1 0.63, HR1 0.00; ranked on booked it is the shared buy 8.44, B1 3.41, KBM1 0.63. Rank on within-day or cohort@24h, never on booked. The shared buy's 8.44 is $418.29 booked against $49.54 of spend it had almost stopped making, which is a week of accumulated cohort paying on a day it quit buying.
The mix-neutral account line. On 2026-08-17's account mix the portfolio CPM is $8.93: of the $2.59 move, $1.29 is mix and $1.30 is price. The $1.30 is the shared buy at $5.31 → $9.63 and the US-only pair at $153.67 and $72.24 taking 0.3% of impressions to 1.9%.
Delivery is Meta's instrument on both sides of every ratio; every revenue measure is ours. Cohort horizon H=24h. Rank on CPM, cost per click and CPI only, because 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 only.
⚠ Spend here is each account's OWN day and our columns are the UTC day, the seam section 3 also carries. It bites on B1 and KBM1 at UTC-7 and not on the Nomad pair or HR1 at UTC+0.
(i) Every campaign the portfolio ran, 2026-08-18.
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
bailingxia_meituan_ww_cvr_260802 | B1 | $372.79 | 68.9% | 48,677 | $7.66 | 560 | $0.666 | $326.78 | 0.88 | 98 |
bailingxia_srfhjyd_ww_cvr_260814 | KBM1 | $92.80 | 17.2% | 544 | $170.59 | 10 | $9.280 | $64.97 | 0.70 | 2 |
bailingxia_srfhjyd_ww_cvr_260816 | HR1 | $25.79 | 4.8% | 357 | $72.24 | 3 | $8.597 | $0.00 | 0.00 | 0 |
0814_vl_bailingxia_srfhjyd_maimai | Nomad Node | $24.83 | 4.6% | 2,916 | $8.52 | 27 | $0.920 | $34.08 | 1.37 | 6 |
0818_vl_bailingxia_srfhjyd_maimai | Nomad Node | $22.87 | 4.2% | 1,778 | $12.86 | 21 | $1.089 | $4.99 | 0.22 | 1 |
0814_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $0.93 | 0.2% | 273 | $3.41 | 10 | $0.093 | $0.00 | 0.00 | 7 |
0811_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $0.91 | 0.2% | 177 | $5.14 | 3 | $0.303 | $6.18 | 6.80 | 6 |
bailingxia_meituan_ww_cvr_260730 | B1 | $0.00 | 0.0% | 0 | — | 26 | $0.000 | $6.32 | — | 12 |
bailingxia_meituan_t3_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 23 | $0.000 | $15.18 | — | 4 |
bailingxia_meituan_t1_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 2 | $0.000 | $0.00 | — | 0 |
bailingxia_meituan_t2_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 2 | $0.000 | $0.00 | — | 1 |
bailingxia_meituan_t3_cvr_260723 | B1 | $0.00 | 0.0% | 0 | — | 2 | $0.000 | $0.00 | — | 0 |
bailingxia_meituan_dach_cvr_260729 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
Both rain-chuva campaigns went off, a second maimai opened at $22.87. $156.83 → $1.84 between them: most of the portfolio's $141.71 spend fall.
B1's worldwide buy is the cheapest on CPM, cost per click and CPI. The two US-only campaigns belong against B1's US cell at $24.94.
No chart here, the gap the 08-17 page named. report_charts.py emits nineteen figures and none for section 5, on seven campaigns against 08-17's five.
(ii) The same, per account, 2026-08-18. B1's own campaign row carries the funnel columns.
B1, the funnel version
| campaign | spend | share | impressions | impr share | CPM | clicks | CTR | cost/click | installs | CPI | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Worldwide | $383.25 | 100.0% | 48,709 | 100.0% | 7.87 | 2,966 | 6.09% | $0.129 | 445 | $0.861 | $326.78 | 0.85 | 33 |
Booking with no delivery, and excluded from every rate above: German (DE/AT) 0 installs (Meta), 1 registrations (ours), $0.00 within-day; Earner (retired 08-03) 0 installs (Meta), 26 registrations (ours), $6.32 within-day. Counting them would put installs into the CPI denominator against spend that never happened.
Account CPM $8.69 → $7.87 (-9.4%). Held to 2026-08-17's campaign mix it is $7.87 (-9.4%) — the difference between those two is the mix's share of the move, and here it is zero.
The other accounts' campaigns.
Nomad Node
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
0814_vl_bailingxia_srfhjyd_maimai | Nomad Node | $24.83 | 50.1% | 2,916 | $8.52 | 27 | $0.920 | $34.08 | 1.37 | 6 |
0818_vl_bailingxia_srfhjyd_maimai | Nomad Node | $22.87 | 46.2% | 1,778 | $12.86 | 21 | $1.089 | $4.99 | 0.22 | 1 |
0814_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $0.93 | 1.9% | 273 | $3.41 | 10 | $0.093 | $0.00 | 0.00 | 7 |
0811_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $0.91 | 1.8% | 177 | $5.14 | 3 | $0.303 | $6.18 | 6.80 | 6 |
KBM1
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
bailingxia_srfhjyd_ww_cvr_260814 | KBM1 | $92.80 | 100.0% | 544 | $170.59 | 10 | $9.280 | $64.97 | 0.70 | 2 |
HR1
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
bailingxia_srfhjyd_ww_cvr_260816 | HR1 | $25.79 | 100.0% | 357 | $72.24 | 3 | $8.597 | $0.00 | 0.00 | 0 |
The join is the ad NAME, allowed only because the account is already fixed — by campaign_id on our side, by the export on Meta's.
(i) Every asset the portfolio ran, 2026-08-18. One row per ad, the account named on it.
| asset | account | spend | impressions | CPM | registrations | cost/reg | within-day | wROAS | cohort@24h | payers |
|---|---|---|---|---|---|---|---|---|---|---|
vid_ww_pool5_15s_9x16_v1 | B1 | $372.79 | 48,677 | $7.66 | 507 | $0.735 | $295.55 | 0.79 | $339.27 | 62 |
vid_ww_pool5_15s_9x16_v2 | KBM1 | $90.82 | 534 | $170.07 | 8 | $11.352 | $64.97 | 0.72 | $104.96 | 2 |
nomad-0814-03-maimai | Nomad Node | $24.83 | 2,916 | $8.52 | 27 | $0.920 | $34.08 | 1.37 | $34.08 | 6 |
nomad-0818-03-maimai | Nomad Node | $22.87 | 1,778 | $12.86 | 21 | $1.089 | $4.99 | 0.22 | $17.98 | 1 |
vid_ww_pool5_15s_9x16_v1 | HR1 | $21.70 | 293 | $74.06 | 2 | $10.850 | $0.00 | 0.00 | $0.00 | 0 |
vid_ww_bodysuit_10s_9x16_v2 | HR1 | $3.29 | 39 | $84.36 | 1 | $3.290 | $0.00 | 0.00 | $0.00 | 0 |
vid_ww_pool5_15s_9x16_v1 | KBM1 | $1.98 | 10 | $198.00 | 2 | $0.990 | $0.00 | 0.00 | $0.00 | 0 |
nomad-0811-03-rain-chuva-video-01 | Nomad Node | $0.91 | 177 | $5.14 | 3 | $0.303 | $6.18 | 6.80 | $6.18 | 6 |
nomad-0814-03-rain-chuva-video-01 | Nomad Node | $0.69 | 231 | $2.99 | 9 | $0.077 | $0.00 | 0.00 | $0.00 | 7 |
vid_ww_pool5_15s_9x16_v2 | HR1 | $0.52 | 5 | $104.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0 |
vid_ww_bodysuit_10s_9x16_v1 | HR1 | $0.28 | 20 | $14.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0 |
nomad-0814-03-rain-chuva-video-02 | Nomad Node | $0.24 | 42 | $5.71 | 1 | $0.240 | $0.00 | 0.00 | $0.00 | 0 |
vid_ww_bodysuit_10s_9x16_v1 | B1 | $0.00 | 0 | — | 40 | $0.000 | $17.63 | — | $17.63 | 30 |
vid_ww_spill_8s_9x16_v1 - Copy | B1 | $0.00 | 0 | — | 16 | $0.000 | $0.00 | — | $145.99 | 5 |
vid_ww_bikini_10s_9x16_v1 | B1 | $0.00 | 0 | — | 12 | $0.000 | $0.00 | — | $0.00 | 7 |
vid_ww_lounge_8s_9x16_v1 | B1 | $0.00 | 0 | — | 11 | $0.000 | $19.91 | — | $19.91 | 6 |
vid_sasian_bodysuit_10s_9x16_v1 | B1 | $0.00 | 0 | — | 8 | $0.000 | $15.18 | — | $15.18 | 3 |
vid_sasian_fishnet_top_6s_9x16_v1 | B1 | $0.00 | 0 | — | 4 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_bikini_6s_9x16_v1 | B1 | $0.00 | 0 | — | 3 | $0.000 | $0.00 | — | $0.00 | 1 |
vid_sasian_spice5_15s_9x16_v1 | B1 | $0.00 | 0 | — | 3 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_utility_6s_9x16_v1 | B1 | $0.00 | 0 | — | 3 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_utility_sexy_9x16_v1 | B1 | $0.00 | 0 | — | 2 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_bikini_10s_9x16_v1 | B1 | $0.00 | 0 | — | 2 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_utility_15s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_slip_dress_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_corset_6s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_latina_es_bikini_10s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_de_german_mature_10s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_latina_es_offshoulder_9x16_v1 | B1 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | 1 |
The same creative runs in three accounts at three prices, $7.66 to $74.06 to $198.00. That is geography, not a creative comparison (DECISION_LOG.md #48).
Every B1 zero-spend row still books revenue — the retired tail. E2/spill2 returns $145.99 cohort@24h from one payer, on an ad Meta rejected 08-09.
(ii) The same, per account, 2026-08-18.
Every asset, per account.
B1
| asset | account | spend | impressions | CPM | registrations | cost/reg | within-day | wROAS | cohort@24h | payers |
|---|---|---|---|---|---|---|---|---|---|---|
vid_ww_pool5_15s_9x16_v1 | B1 | $372.79 | 48,677 | $7.66 | 507 | $0.735 | $295.55 | 0.79 | $339.27 | 62 |
vid_ww_bodysuit_10s_9x16_v1 | B1 | $0.00 | 0 | — | 40 | $0.000 | $17.63 | — | $17.63 | 30 |
vid_ww_spill_8s_9x16_v1 - Copy | B1 | $0.00 | 0 | — | 16 | $0.000 | $0.00 | — | $145.99 | 5 |
vid_ww_bikini_10s_9x16_v1 | B1 | $0.00 | 0 | — | 12 | $0.000 | $0.00 | — | $0.00 | 7 |
vid_ww_lounge_8s_9x16_v1 | B1 | $0.00 | 0 | — | 11 | $0.000 | $19.91 | — | $19.91 | 6 |
vid_sasian_bodysuit_10s_9x16_v1 | B1 | $0.00 | 0 | — | 8 | $0.000 | $15.18 | — | $15.18 | 3 |
vid_sasian_fishnet_top_6s_9x16_v1 | B1 | $0.00 | 0 | — | 4 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_bikini_6s_9x16_v1 | B1 | $0.00 | 0 | — | 3 | $0.000 | $0.00 | — | $0.00 | 1 |
vid_utility_6s_9x16_v1 | B1 | $0.00 | 0 | — | 3 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_spice5_15s_9x16_v1 | B1 | $0.00 | 0 | — | 3 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_utility_sexy_9x16_v1 | B1 | $0.00 | 0 | — | 2 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_bikini_10s_9x16_v1 | B1 | $0.00 | 0 | — | 2 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_utility_15s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_slip_dress_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_corset_6s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_latina_es_bikini_10s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_de_german_mature_10s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_latina_es_offshoulder_9x16_v1 | B1 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | 1 |
Nomad Node
| asset | account | spend | impressions | CPM | registrations | cost/reg | within-day | wROAS | cohort@24h | payers |
|---|---|---|---|---|---|---|---|---|---|---|
nomad-0814-03-maimai | Nomad Node | $24.83 | 2,916 | $8.52 | 27 | $0.920 | $34.08 | 1.37 | $34.08 | 6 |
nomad-0818-03-maimai | Nomad Node | $22.87 | 1,778 | $12.86 | 21 | $1.089 | $4.99 | 0.22 | $17.98 | 1 |
nomad-0811-03-rain-chuva-video-01 | Nomad Node | $0.91 | 177 | $5.14 | 3 | $0.303 | $6.18 | 6.80 | $6.18 | 6 |
nomad-0814-03-rain-chuva-video-01 | Nomad Node | $0.69 | 231 | $2.99 | 9 | $0.077 | $0.00 | 0.00 | $0.00 | 7 |
nomad-0814-03-rain-chuva-video-02 | Nomad Node | $0.24 | 42 | $5.71 | 1 | $0.240 | $0.00 | 0.00 | $0.00 | 0 |
KBM1
| asset | account | spend | impressions | CPM | registrations | cost/reg | within-day | wROAS | cohort@24h | payers |
|---|---|---|---|---|---|---|---|---|---|---|
vid_ww_pool5_15s_9x16_v2 | KBM1 | $90.82 | 534 | $170.07 | 8 | $11.352 | $64.97 | 0.72 | $104.96 | 2 |
vid_ww_pool5_15s_9x16_v1 | KBM1 | $1.98 | 10 | $198.00 | 2 | $0.990 | $0.00 | 0.00 | $0.00 | 0 |
HR1
| asset | account | spend | impressions | CPM | registrations | cost/reg | within-day | wROAS | cohort@24h | payers |
|---|---|---|---|---|---|---|---|---|---|---|
vid_ww_pool5_15s_9x16_v1 | HR1 | $21.70 | 293 | $74.06 | 2 | $10.850 | $0.00 | 0.00 | $0.00 | 0 |
vid_ww_bodysuit_10s_9x16_v2 | HR1 | $3.29 | 39 | $84.36 | 1 | $3.290 | $0.00 | 0.00 | $0.00 | 0 |
vid_ww_pool5_15s_9x16_v2 | HR1 | $0.52 | 5 | $104.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0 |
vid_ww_bodysuit_10s_9x16_v1 | HR1 | $0.28 | 20 | $14.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0 |
Five campaigns get a tab. The bar is 2% of the window's spend ($11.22) and 20 installs, which the two shared rain-chuva campaigns miss.
⚠ Every campaign here now has a click→install funnel, four for the first time, read off each account's own export on that account's own day.
B1 · Worldwide — every section below this line is B1 · Worldwide's: the day, the hours, the countries, the campaigns and the assets, counted on B1 · Worldwide's own ledger and its own accounts. Use the buttons above to switch.
One ad set delivered and one ad inside it: E2/pool5, the seventh day of the single-arm buy. The campaign holds six ad sets and seven ads; five ad sets and six ads spent nothing. The ad-set row is therefore the ad row on this day, a fact about this day's delivery that the object model itself does not carry, read off the hourly export by counting ads per ad set for this campaign.
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 | $383.25 | 48,709 | 7.87 | 2,966 | 6.09% | 445 | 15.00% | $0.861 |
earner/bodysuit | $0.00 | 0 | — | 0 | — | 0 | — | — |
earner/bikini | $0.00 | 0 | — | 0 | — | 0 | — | — |
earner/pool5 | $0.00 | 0 | — | 0 | — | 0 | — | — |
E2/bikini | $0.00 | 0 | — | 0 | — | 0 | — | — |
E2/bodysuit | $0.00 | 0 | — | 0 | — | 0 | — | — |
E2/spill2 | $0.00 | 0 | — | 0 | — | 0 | — | — |
E2/lounge | $0.00 | 0 | — | 0 | — | 0 | — | — |
DE/german_mature | $0.00 | 0 | — | 0 | — | 0 | — | — |
⚠ 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/pool5 | $372.79 | 18.8% | 16.7% | 64.6% | 21.3% |
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 (d0) | payer% (d0) | ARPU (d0) | ARPPU (d0) | largest payer |
|---|---|---|---|---|---|---|---|---|---|---|---|
E2/pool5 | $666.22 | 1.74 (2.45) | $295.55 | 0.77 | $339.27 | 0.89 | 36 | 7.1% | 0.673 | 9.42 | 23.0% |
earner/bodysuit | $105.86 | — (—) | $6.32 | — | $6.32 | — | 1 | 5.6% | 0.351 | 6.32 | 100.0% |
earner/bikini | $3.41 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
earner/pool5 | $0.00 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
E2/bikini | $41.82 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
E2/bodysuit | $258.60 | — (—) | $11.31 | — | $11.31 | — | 2 | 9.1% | 0.514 | 5.65 | 55.9% |
E2/spill2 | $72.57 | — (—) | $0.00 | — | $145.99 | — | 1 | 6.2% | 9.124 | 145.99 | — |
E2/lounge | $76.11 | — (—) | $19.91 | — | $19.91 | — | 1 | 9.1% | 1.810 | 19.91 | 100.0% |
DE/german_mature | $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.
Delivery is plotted hourly, because CTR, click-to-install, CPI and CPM are single-clock quantities on hundreds to thousands of impressions an hour and the shape is real. Money is plotted per day, because payers run 0 to 2 per asset per hour and an hourly ARPPU is one person's basket. There is deliberately no hourly revenue chart.
KBM1 · US — every section below this line is KBM1 · US's: the day, the hours, the countries, the campaigns and the assets, counted on KBM1 · US's own ledger and its own accounts. Use the buttons above to switch.
bailingxia_srfhjyd_ww_cvr_260814, the account's only campaign, so this tab is also its account block. Three ad sets exist and one delivered: ww_broad_purchase_adv_d100_pool5_v2, the rebuild onto the consolidated Hasan1 dataset, which took $90.82 of the account's $92.80. The two older sets read not_delivering on the export. This is the clean side of the 08-18 pixel cutover, and the contrast with HR1's tab is the point.
| ad set | ad | spend | impressions | CPM | clicks | CTR | installs | click→install | CPI |
|---|---|---|---|---|---|---|---|---|---|
..._pool5_v2 (Hasan1) | vid_ww_pool5_15s_9x16_v2 | $90.82 | 534 | $170.07 | 47 | 8.80% | 15 | 31.9% | $6.055 |
..._pool5 - Copy (not delivering) | vid_ww_pool5_15s_9x16_v1 | $1.98 | 10 | $198.00 | 0 | — | 0 | — | — |
| campaign | $92.80 | 544 | $170.59 | 47 | 8.64% | 15 | 31.9% | $6.187 |
Its click→install is 31.9% against B1's 15.0%, on 47 clicks and 15 installs. The highest on the page, on a sample that cannot carry it.
⚠ This campaign's country cut is a META-day cut, while the rest of this page is on the UTC clock. The reconstruction that puts the country section on the report clock is raked per ACCOUNT, against that account's own hourly margin; a campaign has no hourly margin of its own, so this grain cannot follow it. Read it for mix against the sections above, never for level.
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| US | $92.80 | 100.0% | 544 | $170.59 | 10 | $9.280 | $64.97 | 0.70 | 2 |
One country, by design, the ad set reading Inclusion: United States. Against B1's US cell at $24.94 CPM it pays 6.8× for the same country.
| booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers | payer% | ARPU | ARPPU | |
|---|---|---|---|---|---|---|---|---|---|---|
..._ww_cvr_260814 | $64.97 | 0.63 | $64.97 | 0.63 | $104.96 | 1.02 | 2 | 20.0% | $6.497 | $32.48 |
Two payers, one most of it, eight times under the bar: a year subscription three minutes after an 08:41 UTC install, a credits pack seven hours on.
No per-asset charts for this tab — report_charts.py draws from the run config's ads map, which holds B1's ads only.
HR1 · US — every section below this line is HR1 · US's: the day, the hours, the countries, the campaigns and the assets, counted on HR1 · US's own ledger and its own accounts. Use the buttons above to switch.
bailingxia_srfhjyd_ww_cvr_260816, the account's only campaign, and its first delivering day ever. All four ad sets read active, and they are split across two datasets: the two originals sit on the retired Adjust HR and the two _v2 rebuilds on the consolidated Hasan1.
| ad set | dataset | ad | spend | impressions | CPM | clicks | CTR | installs | click→install | CPI |
|---|---|---|---|---|---|---|---|---|---|---|
..._pool5 6993104151797 | Adjust HR (retired) | vid_ww_pool5_15s_9x16_v1 | $21.70 | 293 | $74.06 | 49 | 16.72% | 2 | 4.1% | $10.850 |
..._bodysuit_v2 6993899602397 | Hasan1 | vid_ww_bodysuit_10s_9x16_v2 | $3.29 | 39 | $84.36 | 2 | 5.13% | 1 | 50.0% | $3.290 |
..._pool5_v2 6993898744197 | Hasan1 | vid_ww_pool5_15s_9x16_v2 | $0.52 | 5 | $104.00 | 1 | 20.00% | 0 | — | — |
..._bodysuit 6993120469997 | Adjust HR (retired) | vid_ww_bodysuit_10s_9x16_v1 | $0.28 | 20 | $14.00 | 2 | 10.00% | 0 | — | — |
| campaign | $25.79 | 357 | $72.24 | 54 | 15.13% | 3 | 5.6% | $8.597 |
⚠ 84% of the money went through the retired dataset, $21.98 of $25.79 on Adjust HR against $3.81 on Hasan1.
⚠ This campaign's country cut is a META-day cut, while the rest of this page is on the UTC clock. The reconstruction that puts the country section on the report clock is raked per ACCOUNT, against that account's own hourly margin; a campaign has no hourly margin of its own, so this grain cannot follow it. Read it for mix against the sections above, never for level.
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| US | $25.79 | 100.0% | 357 | $72.24 | 3 | $8.597 | $0.00 | 0.00 | 0 |
One country, by design, the same Inclusion: United States KBM1 carries. Against B1's US cell at $24.94 it pays 2.9×, against KBM1's 6.8×.
| booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers | payer% | ARPU | ARPPU | |
|---|---|---|---|---|---|---|---|---|---|---|
..._ww_cvr_260816 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 | 0.0% | $0.000 | — |
Three registrations and no payers. Nothing here is readable as return; the row exists to keep the account present.
No per-asset charts for this tab — the chart generator is scoped to B1's ads map, as in KBM1's.
Nomad · 0814 maimai — every section below this line is Nomad · 0814 maimai's: the day, the hours, the countries, the campaigns and the assets, counted on Nomad · 0814 maimai's own ledger and its own accounts. Use the buttons above to switch.
0814_vl_bailingxia_srfhjyd_maimai, in the shared Nomad Node pair, running one ad — nomad-0814-03-maimai. That campaign is not ours to steer. On this day it became the largest of the four, because both rain-chuva campaigns were switched down to under a dollar.
| ad | spend | impressions | CPM | clicks | CTR | installs | click→install | CPI |
|---|---|---|---|---|---|---|---|---|
nomad-0814-03-maimai | $24.83 | 2,916 | $8.52 | 216 | 7.41% | 24 | 11.1% | $1.035 |
Its CPM is within 11% of B1's $7.66, its install $1.035 against $0.861. Both buy worldwide, so this is the page's one near like-for-like comparison.
No country cut at campaign grain: this export keys campaigns by Ad set name and pulls country per account. Section 3 has it.
| booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers | |
|---|---|---|---|---|---|---|---|
0814_..._maimai | — | — | $34.08 | 1.37 | $34.08 | 1.37 | 6 |
The best within-day return on the page at 1.37, on six payers — ten times under the bar. Booked is not split to campaign grain.
No per-asset charts for this tab — the chart generator is scoped to B1's ads map.
Nomad · 0818 maimai — every section below this line is Nomad · 0818 maimai's: the day, the hours, the countries, the campaigns and the assets, counted on Nomad · 0818 maimai's own ledger and its own accounts. Use the buttons above to switch.
0818_vl_bailingxia_srfhjyd_maimai, one ad, nomad-0818-03-maimai. Opened on this day, which is what the shared buy moved to when rain-chuva was switched off.
| ad | spend | impressions | CPM | clicks | CTR | installs | click→install | CPI |
|---|---|---|---|---|---|---|---|---|
nomad-0818-03-maimai | $22.87 | 1,778 | $12.86 | 164 | 9.22% | 20 | 12.2% | $1.143 |
It buys the most expensive impressions of any worldwide campaign here, $12.86 on a higher click rate. First day, so a starting point.
No country cut at campaign grain, as in the 0814 tab: the country export is pulled per account.
| booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers | |
|---|---|---|---|---|---|---|---|
0818_..._maimai | — | — | $4.99 | 0.22 | $17.98 | 0.79 | 1 |
One payer on its first day. Not readable at this sample size.
No per-asset charts for this tab — the chart generator is scoped to B1's ads map.
The two campaigns with no tab, named with their spend: 0814_vl_bailingxia_srfhjyd-rain-chuva $0.93 and 0811_vl_bailingxia_srfhjyd-rain-chuva $0.91, down from $84.07 and $72.76. Their funnels still read: 15 and 13 clicks, 7 and 4 installs, $0.133 and $0.228 an install — the cheapest in the portfolio.
⚠⚠ The instrument gate breached to 1.35 against a 0.91 to 1.06 band, the widest reading the series has ever produced, and the explanation the last two reports used does not cover it. On the account's own clock, where the check is valid, our records read 1.08 of Meta's booked value on 08-17 and 1.35 on 08-18. The 08-16 and 08-17 pages attributed the breach to a lengthening repurchase tail: our records key a payment to the person who made it and never expire, Meta's window is 7-day click and 1-day view, so a day leaning less on its own fresh cohort should read further from Meta. That account predicts almost no move here. The share of booked revenue coming from the day's own installs is flat on the account clock, 36.4% on 08-17 against 36.9% on 08-18, while the ratio moved 27 points. What actually moved is Meta's own number: it fell from $1,241.03 to $934.24, down 24.7%, while ours fell 5.6%. No figure in this report depends on the gate, which touches only statements setting our revenue against Meta's; within-day never touches Meta's column. But the reconciliation is now a bigger open question than it was, and the tail explanation should not be repeated until it is tested.
⚠ One event landed on exactly this day and is named here as a candidate. 2026-08-18 is the day all three of our own accounts were consolidated onto dataset 2778864072482708, renamed Hasan1, so B1's pixel began serving KBM1 and HR1 as well. Meta attributes per ad and a shared dataset should not move value between ad accounts, so there is no mechanism here that is understood, only a coincidence of dates worth checking before anything else is theorised.
⚠⚠ HR1's first delivering day split its money across two pixels, and the retired one took 84% of it. All four of its ad sets read active on the export. ww_broad_purchase_adv_d100_pool5 (6993104151797) took $21.70 of the account's $25.79 and ww_broad_purchase_adv_d100_bodysuit (6993120469997) another $0.28. Those two are the pair the 08-18 consolidation record names as needing to go off, because they sit on the retired Adjust HR dataset. The rebuilt _v2 sets on Hasan1 took $3.81 between them. So what HR1's first day mostly measures is the dataset it is leaving. KBM1 did the same cutover cleanly on the same day: its two old ad sets read not_delivering and the new _v2 took $90.82 of $92.80, which is what makes the contrast checkable.
The cohort figure is frozen, at 100% coverage on both days. 08-18's last install passed its 24-hour horizon at 23:59 UTC on 08-19, and re-cutting the day against the 2026-08-22 payment data returns $701.19 — and 08-17's $881.43 — to the cent. Both figures are final and the comparison between them stands at −20.4%. This page was first published on the 2026-08-19 21:25 UTC cut, which had reached 89% of the day's installs and quoted 08-17 at its own 79%; those were lower-coverage reads of the same two cohorts, not different numbers.
Every account's export now carries the funnel columns, and two renderers do not read them yet. All twenty exports in this run were pulled with the column list pinned onto the request URL and all twenty came back with Ad ID, Link clicks, CTR (link click-through rate) and Leads present, verified file by file. portfolio_split's own coverage table reports yes for all four accounts on that column. Its hourly and campaign renderers still omit the funnel, on a docstring that says those columns "exist on B1's preset alone", which stopped being true on 2026-08-19. That is why sections 2, 4 and 5 still carry a B1-only funnel: a renderer that has not caught up with its data. It is the same class of gap as section 5's missing charts.
⚠⚠ KBM1 AND HR1 BUY THE UNITED STATES ONLY, AND B1 AND THE SHARED PAIR BUY WORLDWIDE, SO NO BLENDED FIGURE IS COMPARABLE ACROSS THE ACCOUNT ROWS. Both new accounts read Inclusion: United States in their ad sets and 100% of their delivery resolves there, against roughly 4% for B1 and 3% for the shared pair. B1's own US cell runs CPM $24.94 on this day against its account figure of $7.87, so the CPM and cost-per-registration columns in section 1 compare a US buy with a worldwide one wherever a new account sits beside an old one. The per-account rows are correct as figures and must not be ranked on those two columns. Their campaign names say ww; the names are wrong and the ad set is the authority.
What the United States test has returned so far. KBM1 has now spent $148.71 across 08-16 to 08-18 for 21 registrations and its first two payers, $64.97; HR1 has spent $25.79 for three registrations and none. Against them B1's own US cell returned within-day 1.28, 0.79 and 1.09 on comparable money across the same three days. Three days is three days and this page reads no verdict off them, but the direction has not yet been kind: buying the United States directly costs between three and seven times what reaching it inside a worldwide buy costs, and has not yet produced a payer count anyone can rank.
B1's 34 within-day payers clear the 16-payer bar and the portfolio's 137 booked payers clear it. Below the account level, two cells clear it, India at 25 payers and the United States at 30, and nothing else does. No per-asset row except E2/pool5 at 30, and no campaign except B1's worldwide buy.
⚠ Two instruments produce B1's figures and they count different populations on purpose, so the label on a table says which population it counted. The per-account tables select on campaign_id and cover every B1 campaign; sections 2, 4 and 6's B1-scoped tables select on Ad ID against the run config's asset map and cover only mapped ads. On this day that is 616 registrations against 587, and $348.28 of within-day revenue against $333.10: the narrower instrument inside the wider one, in the direction the scope difference predicts. Neither is wrong and they must not be quoted against each other.
One campaign id in our records belongs to no known account. 1873306944531618, carrying a single registration, is reported as itself and counts in no account row, which is why the per-account rows can sum to slightly less than the records hold.
The country, campaign and asset sections carry Meta's figures on each account's own day, seven hours offset from the UTC tables on B1 and KBM1 and identical on the Nomad pair and HR1. Meta serves no hour × country grid, so those cuts cannot be restitched. Read them for mix, never for level.
The FX table is seventeen days old. Revenue in 33 currencies is converted at rates pulled on 2026-08-02. It is still the only named candidate in the instrument reconciliation that has never been tested, and the gate's move to 1.35 makes testing it worth more than it was.
Both days sit in one budget regime. B1's campaign activity history, re-read for 2026-08-16 to 08-19, returns no rows at all, so no budget changed on either day and the comparison is regime-matched. That is not true one level out: KBM1's ad-set budget went $28.00 to $64.00 at 08-18 01:22 UTC and its spend more than quadrupled, and HR1 began delivering. Those two accounts' day-over-day figures cross a budget change and B1's do not.
37% of registrations never enter a revenue measure, and that is true of every day in this series. Every "ours" figure from section 2 down means registrations attributable to a mapped Meta ad. It is internally consistent, because the payer rate divides our payers by that same population.
Why Meta's own booked value fell 24.7% on a day its spend fell 22.5% and ours fell 5.6%. This is now the largest unexplained thing in the series and the tail explanation no longer fits it. Three checks, in order of cost: recompute the ratio across the whole series restricted to payments from cohorts inside Meta's 7-day window, which is the recalibration the last three reports have deferred; re-pull the FX table and re-run the gate, since it is seventeen days old and prices 33 currencies; and read Meta's attribution setting on the campaign to confirm it did not change when the dataset was consolidated. Only the first needs anything not already on disk.
Whether HR1 on the consolidated pixel is worth anything, which this day cannot say. 84% of its money went through the two ad sets on the retired Adjust HR dataset. Switching those two off, the step the consolidation record leaves open and unverified, makes the next day the first clean reading, and until then HR1's cost per registration is a blend of two setups. This is the cheapest open item on the page and the only one that is purely operational.
Whether the United States is worth buying directly at all. Three days, $174.50 across the two US-only accounts, 24 registrations and two payers. The like-for-like comparison already exists and is unflattering: B1 reaches the same country inside a worldwide buy at $24.94 a thousand impressions against $72.24 and $170.59. What would settle it is a payer count, and at the current rate KBM1 needs roughly three more weeks to reach 16. The decision worth making before then is whether to keep paying for that wait.
Whether the move off rain-chuva was ours to learn from. It retired the cheapest registration in the portfolio, $0.402 against B1's $0.666, and replaced it with a creative running at $0.920 and $1.089. Nothing here says why, those accounts are not ours to steer, and the answer will not come from an inference off their spend.
This is the first report in the series whose every account's export carries the click→install funnel. The column set turned out to be a URL parameter, so
Ad ID,Link clicks,CTRandLeadswere pinned onto all twenty exports in this run and all twenty came back carrying them — the shared pair included, whose own preset offers none of it. Where a funnel table below is still B1-only, that is now a gap in the renderer, and the Caveats say which.
The question the 08-17 report handed forward is answered, and it turns out to have been two questions. Portfolio registrations fell again, 1,027 to 690, but the fall is no longer shared: B1's own went 678 to 616, down 9.1%, while the shared buy's went 345 to 61, down 82.3%. The shared collapse is two campaigns wound down to nothing, which is a spend decision. Nothing in B1 repeats the drop 08-17 could not explain.
The 08-19 report inherits a portfolio in which B1 is the only account buying at scale and the only one whose delivery improved: cheaper impressions, a higher click rate at p = 0.023, an unchanged click-to-install and a 17.3% cheaper install. It also inherits a within-day return of 0.82 against 1.07, so the whole of the revenue fall sits somewhere below the install on a day when everything above it got better.
Three specific things it can settle that this one cannot. Whether the shared buy stays at $49.54 or comes back, which decides whether the portfolio is now effectively one account plus two US experiments. Whether HR1's ad sets were switched over, which decides whether its numbers mean anything yet. And whether the instrument gate stays at 1.35, which decides whether 08-18 was an event or a level.
Report clock UTC. Every account's export is stamped in its own account zone, so B1's and KBM1's delivery rows are restitched from two Meta days each and the Nomad Node pair's and HR1's are not, because those run at UTC+0, where the account day already is the UTC day. The country, campaign and asset tables cannot be restitched at all and are labelled where they appear.
| run | _runs/2026-08-19_2026-08-18_daily_auto/ |
|---|---|
| the per-account breakdown | python -m ad_ops.portfolio_split --run <run> --day 2026-08-18 --prev 2026-08-17, block portfolio.md; the pull's own status in portfolio_pull.txt |
| payment cut | 2026-08-19 21:25 UTC, on the repaired join |
| Meta exports | 20 files, all pulled 2026-08-19 21:18–21:31 UTC with the column list pinned on every request; all 20 verified to carry all 8 required columns. B1 day and country×day over 2026-07-01_2026-08-20, hourly per day with all 24 buckets asserted. KBM1, HR1, Nomad Node ×1 and ×2 each at three grains — day over the same range, country×day over 2026-08-17_2026-08-19, hourly for 08-18 and 08-17 |
| registrations | adjust_sink push merged onto the previous run's ledger — 29,770 rows, 6,010 from this pull; 897 on 08-18 against 1,269 on 08-17 |
| payments | in-app-purchase API, full history, joined onto the export base and repaired on the account UUID. 214 payments on 08-18, 85.5% carrying a payer before repair; 4,081 in the merged ledger |
| FX | _runs/2026-08-02_today_read/fx_rates.json, pulled 2026-08-02 |
| regimes | campaign activity history re-read for 2026-08-16_2026-08-20, rendered range asserted as Aug 16, 2026 – Aug 19, 2026; no rows in the window, so both days sat in one unchanged regime on B1 |
python -m ad_ops.daily_pipeline --day 2026-08-18
python -m ad_ops.portfolio_split --run _runs/2026-08-19_2026-08-18_daily_auto \\
--day 2026-08-18 --prev 2026-08-17
The pipeline pulls B1's day, country×day and two hourly exports, then four exports per other account: day, country×day and hourly on each of the two days. Then the payments and registrations, then it runs measures, day_compare, cohort_arpu, asset_estimator, portfolio_split, report_tables and report_charts in the fixed order, on both the UTC and the META configs it writes. It chains the payment and registration ledgers forward from the previous run and repairs the payer on the account UUID after merging them.
The report clock is a UTC day. Adjust reports in UTC, so a UTC-bucketed report lines up with the attribution dashboard without anyone converting in their head. B1 and KBM1 are fixed at UTC-7, so a UTC day on either is Meta day D−1 17:00 to 23:59 plus Meta day D 00:00 to 16:59; the Nomad Node pair and HR1 run at UTC+0, where the reporting day already is the UTC day. The two clocks are not close: on a measured day the same figures differed by 14.6% on spend and 40.7% on within-day revenue.
An offset is a setting to be read off Ads Manager, and correlation is only the check on it. B1's seven hours are confirmed by correlating its hourly impressions against our own registrations, which recovers k=7 at r = 0.878. KBM1's and HR1's cannot be recovered that way, because the correlation needs an account's own volume and neither has it, so both were read directly off their campaign objects, which Ads Manager stamps in the account's own zone.
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's clock, because Meta's conversion value sits on its conversion hour and cannot honestly be restitched. And the estimator runs on Meta's clock deliberately, because its subject is delivery windows and a budget change is an instant on the account's own clock.
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. Always state coverage |
A day whose spend is falling reads high on booked and low on the other two, purely because yesterday's buyers are still paying, which is exactly what this day does, at booked 3.19 against within-day 0.82. Use within-day for day-over-day, because it is immutable and needs no horizon. Use cohort at a fixed horizon to compare hours to each other, because within-day censors by hour of day. Booked is what Meta will quote at you, so it is reported to explain the gap and never to rank.
All three are read on our own payment records, and all three count only payments the record can tie to a person who installed through one of our mapped ads. That tie is made on the numeric user id where the payment carries one and on the account UUID where it does not.
Two install counts exist and they are never crossed. Meta's Leads and our own registrations disagree by 5 to 10%. Meta's is used for the delivery funnel, so CPI and click→install have both numerator and denominator on one instrument. Ours is used for payer rate and every revenue measure, so the payers and the installs they came from are the same population. The per-account tables print cost/reg for exactly this reason: they divide by our registrations, and the delivery tables divide by Meta's installs.
The four ad accounts, what each buys, and how each is identified. B1 and the shared Nomad Node pair buy worldwide; KBM1 and HR1 buy the United States only. That difference governs which figures may be set against each other at all, and it is not visible in the campaign names, which say ww on all four. Accounts are keyed on campaign_id and never on the campaign name: the cloaker requires the key bailingxia in every campaign name, so a name test returns B1 for all four. B1 is 1738541847343652; the shared Nomad Node pair is 835434076171203 and 3267486106793669, whose campaigns for this app are 0811_, 0814_ and 0818_ and whose greenvid and pixvoo campaigns are not ours to count; KBM1 is 1533358924738693; HR1 is 1598814841849780. Two campaigns inside B1's own account are excluded on purpose: youguqi_, agreed as tuition, and 0730_starfall_*, run for a third party.
A regime is a stretch over which the ad set's daily budget did not change. The budget is a decision and delivery is a response to it, so a comparison that crosses a budget change is comparing two different buys. Both days on this page sit in one regime on B1, whose activity history returns no rows for 2026-08-16 to 08-19. They do not on KBM1, whose ad-set budget more than doubled inside 08-18.