Three of the four ad accounts delivered on 2026-08-17 and spent $702.70 between them against $708.97 the day before. B1 took $496.36, the two shared Nomad Node accounts $183.98 and KBM1 $22.36; HR1 was built and still did not deliver. The portfolio spent 0.9% less, bought a quarter fewer registrations, and sealed 30.3% more revenue inside the day. Definitions, the report clock and the three revenue measures are in the appendix.
(i) The portfolio, both days.
| 2026-08-16 | 2026-08-17 | change | |
|---|---|---|---|
| spend | $708.97 | $702.70 | −0.9% |
| impressions | 101,493 | 92,029 | −9.3% |
| CPM | $6.99 | $7.64 | +9.3% |
| registrations (ours) | 1,361 | 1,027 | −24.5% |
| cost per registration | $0.521 | $0.684 | +31.3% |
| booked | $1,869.11 (2.64) | $1,860.31 (2.65) | −0.5% |
| within-day | $578.01 (0.82) | $753.18 (1.07) | +30.3% |
| cohort @ 24h | $740.86 (1.04) | $881.43 (1.25) | +19.0% |
| booked payers | 133 | 153 | +20 |
| payer rate (d0) | 4.7% | — | |
| ARPU (d0) | $0.5444 | — | |
| ARPPU (d0) | $11.58 | — |
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.9336 | $1.0565 | $1.5019 | $12.69 | $13.76 | $17.83 | 938 |
| Sinai AI | $0.0831 | $0.1661 | $0.1661 | — | — | — | 36 |
(ii) Every account side by side, on one table. 2026-08-16 first, then 2026-08-17. This is the table the accounts are compared against each other on.
2026-08-16
| account | spend | share | impressions | CPM | registrations | cost/reg | booked (bROAS) | within-day (wROAS) | cohort@24h (cROAS) | payers | payer% | ARPU | ARPPU |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Portfolio | $708.97 | 100% | 101,493 | $6.99 | 1,361 | $0.521 | $1,869.11 (2.64) | $578.01 (0.82) | $740.86 (1.04) | 133 | 9.8% | $1.373 | $14.05 |
| B1 | $484.57 | 68% | 59,005 | $8.21 | 825 | $0.587 | $1,316.94 (2.72) | $261.02 (0.54) | $277.13 (0.57) | 91 | 11.0% | $1.596 | $14.47 |
| Nomad Node | $190.50 | 27% | 42,216 | $4.51 | 529 | $0.360 | $552.17 (2.90) | $316.99 (1.66) | $463.74 (2.43) | 42 | 7.9% | $1.044 | $13.15 |
| KBM1 | $33.90 | 5% | 272 | $124.63 | 7 | $4.843 | $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-17
| account | spend | share | impressions | CPM | registrations | cost/reg | booked (bROAS) | within-day (wROAS) | cohort@24h (cROAS) | payers | payer% | ARPU | ARPPU |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Portfolio | $702.70 | 100% | 92,029 | $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.36 | 71% | 57,136 | $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,639 | $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 | — | — | — |
(iii) The same table, once per account. Same rows, same columns, same two days.
B1
| 2026-08-16 | 2026-08-17 | change | |
|---|---|---|---|
| spend | $484.57 | $496.36 | +2.4% |
| impressions | 59,005 | 57,136 | −3.2% |
| CPM | $8.21 | $8.69 | +5.8% |
| registrations (ours) | 825 | 678 | −17.8% |
| cost per registration | $0.587 | $0.732 | +24.7% |
| booked | $1,316.94 (2.72) | $1,341.06 (2.70) | +1.8% |
| within-day | $261.02 (0.54) | $539.29 (1.09) | +106.6% |
| cohort @ 24h | $277.13 (0.57) | $650.98 (1.31) | +134.9% |
| booked payers | 91 | 111 | +20 |
| payer rate | 11.0% | 16.4% | +5.4 pts |
| ARPU | $1.596 | $1.978 | +23.9% |
| ARPPU | $14.47 | $12.08 | −16.5% |
Nomad Node
| 2026-08-16 | 2026-08-17 | change | |
|---|---|---|---|
| spend | $190.50 | $183.98 | −3.4% |
| impressions | 42,216 | 34,639 | −17.9% |
| CPM | $4.51 | $5.31 | +17.7% |
| registrations (ours) | 529 | 345 | −34.8% |
| cost per registration | $0.360 | $0.533 | +48.1% |
| booked | $552.17 (2.90) | $519.25 (2.82) | −6.0% |
| within-day | $316.99 (1.66) | $213.89 (1.16) | −32.5% |
| cohort @ 24h | $463.74 (2.43) | $230.44 (1.25) | −50.3% |
| booked payers | 42 | 42 | +0 |
| payer rate (d0) | 5.9% | — | |
| ARPU (d0) | $0.8766 | — | |
| ARPPU (d0) | $14.96 | — |
KBM1
| 2026-08-16 | 2026-08-17 | change | |
|---|---|---|---|
| spend | $33.90 | $22.36 | −34.0% |
| impressions | 272 | 254 | −6.6% |
| CPM | $124.63 | $88.03 | −29.4% |
| registrations (ours) | 7 | 4 | −42.9% |
| cost per registration | $4.843 | $5.590 | +15.4% |
| booked | $0.00 (0.00) | $0.00 (0.00) | — |
| within-day | $0.00 (0.00) | $0.00 (0.00) | — |
| cohort @ 24h | $0.00 (0.00) | $0.00 (0.00) | — |
| booked payers | 0 | 0 | +0 |
| payer rate (d0) | 0.0% | — | |
| ARPU (d0) | $0.0000 | — | |
| ARPPU (d0) | $0.00 | — |
HR1
| 2026-08-16 | 2026-08-17 | change | |
|---|---|---|---|
| spend | $0.00 | $0.00 | — |
| impressions | 0 | 0 | — |
| CPM | — | — | — |
| registrations (ours) | 0 | 0 | — |
| cost per registration | — | — | — |
| booked | $0.00 | $0.00 | — |
| within-day | $0.00 | $0.00 | — |
| cohort @ 24h | $0.00 | $0.00 | — |
| booked payers | 0 | 0 | +0 |
| payer rate | — | — | — |
| ARPU | — | — | — |
| ARPPU | — | — | — |
Campaign spend split inside B1: Worldwide 100% on 08-16 and 08-17 alike. Sections 2 to 6 carry no campaign mix change.
A quarter of the registrations disappeared and revenue went up. Registrations −24.5% on 0.9% less money, within-day +30.3%, payer rate 9.8% → 14.9%, ARPU +31.9%.
The fall hits both delivering accounts. B1 825 → 678, the shared buy 529 → 345; Meta's install count fell 15.3% against our 17.8%.
B1 and the shared buy have converged. Within-day 1.09 and 1.16 against 0.54 and 1.66: yesterday's three-fold gap is inside what these payer counts resolve.
KBM1 has now gone two days without a payer. $22.36 on this UTC day against $33.90, four registrations against seven, $5.590 a registration, CPM $88.03.
(i) The portfolio, hour by hour. 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 | $20.71 | 2,823 | $7.34 | 24 | $0.863 | $72.46 | 3.50 | $9.11 | 0.44 | $9.11 | 0.44 | 6 |
| 01 | $24.89 | 3,209 | $7.76 | 32 | $0.778 | $39.91 | 1.60 | $40.75 | 1.64 | $40.75 | 1.64 | 4 |
| 02 | $27.30 | 3,688 | $7.40 | 33 | $0.827 | $122.34 | 4.48 | $39.98 | 1.46 | $39.98 | 1.46 | 7 |
| 03 | $29.14 | 3,755 | $7.76 | 32 | $0.911 | $88.02 | 3.02 | $74.54 | 2.56 | $74.54 | 2.56 | 7 |
| 04 | $28.20 | 4,120 | $6.84 | 45 | $0.627 | $123.05 | 4.36 | $9.98 | 0.35 | $9.98 | 0.35 | 13 |
| 05 | $32.23 | 5,179 | $6.22 | 41 | $0.786 | $47.05 | 1.46 | $47.03 | 1.46 | $47.03 | 1.46 | 8 |
| 06 | $28.89 | 4,743 | $6.09 | 38 | $0.760 | $62.35 | 2.16 | $17.29 | 0.60 | $17.29 | 0.60 | 9 |
| 07 | $36.54 | 4,850 | $7.53 | 41 | $0.891 | $54.44 | 1.49 | $23.58 | 0.65 | $27.14 | 0.74 | 7 |
| 08 | $31.06 | 4,233 | $7.34 | 48 | $0.647 | $54.57 | 1.76 | $15.36 | 0.49 | $15.36 | 0.49 | 11 |
| 09 | $28.32 | 3,939 | $7.19 | 50 | $0.566 | $67.77 | 2.39 | $27.11 | 0.96 | $27.11 | 0.96 | 6 |
| 10 | $28.00 | 4,272 | $6.55 | 46 | $0.609 | $40.14 | 1.43 | $4.99 | 0.18 | $4.99 | 0.18 | 7 |
| 11 | $26.91 | 3,491 | $7.71 | 38 | $0.708 | $48.46 | 1.80 | $5.74 | 0.21 | $5.74 | 0.21 | 4 |
| 12 | $26.50 | 3,573 | $7.42 | 53 | $0.500 | $66.69 | 2.52 | $41.41 | 1.56 | $41.41 | 1.56 | 5 |
| 13 | $38.53 | 4,125 | $9.34 | 40 | $0.963 | $118.13 | 3.07 | $64.61 | 1.68 | $64.61 | 1.68 | 8 |
| 14 | $27.85 | 2,304 | $12.09 | 43 | $0.648 | $60.28 | 2.16 | $30.60 | 1.10 | $36.36 | 1.31 | 11 |
| 15 | $29.50 | 3,943 | $7.48 | 51 | $0.578 | $29.97 | 1.02 | $25.15 | 0.85 | $25.15 | 0.85 | 4 |
| 16 | $30.03 | 3,891 | $7.72 | 51 | $0.589 | $59.84 | 1.99 | $16.50 | 0.55 | $16.50 | 0.55 | 13 |
| 17 | $31.32 | 3,920 | $7.99 | 49 | $0.639 | $106.94 | 3.41 | $44.31 | 1.41 | $114.30 | 3.65 | 14 |
| 18 | $34.80 | 4,087 | $8.51 | 57 | $0.611 | $87.01 | 2.50 | $17.23 | 0.49 | $44.92 | 1.29 | 11 |
| 19 | $31.36 | 3,759 | $8.34 | 50 | $0.627 | $101.43 | 3.23 | $9.89 | 0.32 | $9.89 | 0.32 | 12 |
| 20 | $25.68 | 3,319 | $7.74 | 36 | $0.713 | $66.86 | 2.60 | $54.96 | 2.14 | $54.96 | 2.14 | 7 |
| 21 | $27.85 | 3,278 | $8.50 | 49 | $0.568 | $129.09 | 4.64 | $45.89 | 1.65 | $62.15 | 2.23 | 11 |
| 22 | $22.53 | 3,415 | $6.60 | 38 | $0.593 | $56.14 | 2.49 | $5.17 | 0.23 | $5.17 | 0.23 | 6 |
| 23 | $34.56 | 4,113 | $8.40 | 42 | $0.823 | $157.36 | 4.55 | $82.00 | 2.37 | $86.99 | 2.52 | 9 |
Absent from the table above, by name: HR1. Left out only when it cannot be placed on the report clock; its money is still in every day-grain table.
(ii) The same 24 hours per account. B1's block is the wide one, because only its export carries clicks, CTR and Meta's installs; the others carry what every preset ships.
B1 — $496.36 on this day, and the only account whose hours can be read as a funnel
| hr | spend | impressions | CPM | clicks | CTR | installs | click→install | CPI | registrations | coverage | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | booked payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $15.02 | 1,647 | $9.12 | 77 | 4.68% | 11 | 14.3% | $1.365 | 15 | 100% | $11.56 | 0.77 | $0.00 | 0.00 | $0.00 | 0.00 | 2 |
| 01 | $15.11 | 1,875 | $8.06 | 103 | 5.49% | 18 | 17.5% | $0.839 | 21 | 100% | $12.88 | 0.85 | $40.75 | 2.70 | $40.75 | 2.70 | 1 |
| 02 | $19.29 | 2,144 | $9.00 | 120 | 5.60% | 19 | 15.8% | $1.015 | 22 | 100% | $89.07 | 4.62 | $34.99 | 1.81 | $34.99 | 1.81 | 4 |
| 03 | $20.94 | 2,322 | $9.02 | 114 | 4.91% | 13 | 11.4% | $1.611 | 20 | 100% | $40.78 | 1.95 | $23.16 | 1.11 | $23.16 | 1.11 | 3 |
| 04 | $19.84 | 2,326 | $8.53 | 119 | 5.12% | 19 | 16.0% | $1.044 | 28 | 100% | $77.02 | 3.88 | $9.98 | 0.50 | $9.98 | 0.50 | 6 |
| 05 | $22.35 | 3,143 | $7.11 | 166 | 5.28% | 25 | 15.1% | $0.894 | 28 | 100% | $25.86 | 1.16 | $29.40 | 1.32 | $29.40 | 1.32 | 5 |
| 06 | $19.62 | 2,954 | $6.64 | 143 | 4.84% | 13 | 9.1% | $1.509 | 24 | 100% | $48.60 | 2.48 | $17.29 | 0.88 | $17.29 | 0.88 | 6 |
| 07 | $24.89 | 3,029 | $8.22 | 176 | 5.81% | 23 | 13.1% | $1.082 | 26 | 100% | $15.02 | 0.60 | $5.74 | 0.23 | $9.30 | 0.37 | 3 |
| 08 | $22.17 | 2,598 | $8.53 | 132 | 5.08% | 22 | 16.7% | $1.008 | 32 | 100% | $38.19 | 1.72 | $15.36 | 0.69 | $15.36 | 0.69 | 8 |
| 09 | $19.82 | 2,373 | $8.35 | 127 | 5.35% | 23 | 18.1% | $0.862 | 27 | 100% | $32.43 | 1.64 | $27.11 | 1.37 | $27.11 | 1.37 | 4 |
| 10 | $20.12 | 2,767 | $7.27 | 142 | 5.13% | 20 | 14.1% | $1.006 | 27 | 100% | $31.40 | 1.56 | $4.99 | 0.25 | $4.99 | 0.25 | 5 |
| 11 | $18.10 | 2,157 | $8.39 | 112 | 5.19% | 18 | 16.1% | $1.006 | 25 | 100% | $42.75 | 2.36 | $5.74 | 0.32 | $5.74 | 0.32 | 3 |
| 12 | $17.79 | 2,252 | $7.90 | 142 | 6.31% | 25 | 17.6% | $0.712 | 38 | 100% | $66.69 | 3.75 | $41.41 | 2.33 | $41.41 | 2.33 | 5 |
| 13 | $25.15 | 2,679 | $9.39 | 173 | 6.46% | 13 | 7.5% | $1.935 | 27 | 100% | $110.15 | 4.38 | $59.62 | 2.37 | $59.62 | 2.37 | 6 |
| 14 | $20.46 | 1,506 | $13.59 | 121 | 8.03% | 19 | 15.7% | $1.077 | 27 | 100% | $44.45 | 2.17 | $30.60 | 1.50 | $36.36 | 1.78 | 7 |
| 15 | $22.88 | 2,601 | $8.80 | 155 | 5.96% | 25 | 16.1% | $0.915 | 33 | 100% | $24.21 | 1.06 | $11.93 | 0.52 | $11.93 | 0.52 | 3 |
| 16 | $23.75 | 2,698 | $8.80 | 151 | 5.60% | 27 | 17.9% | $0.880 | 34 | 100% | $47.97 | 2.02 | $16.50 | 0.69 | $16.50 | 0.69 | 10 |
| 17 | $23.85 | 2,762 | $8.64 | 169 | 6.12% | 25 | 14.8% | $0.954 | 32 | 100% | $84.40 | 3.54 | $40.75 | 1.71 | $110.74 | 4.64 | 9 |
| 18 | $24.84 | 2,689 | $9.24 | 171 | 6.36% | 27 | 15.8% | $0.920 | 37 | 100% | $83.83 | 3.37 | $11.47 | 0.46 | $20.42 | 0.82 | 10 |
| 19 | $23.11 | 2,285 | $10.11 | 161 | 7.05% | 27 | 16.8% | $0.856 | 30 | 100% | $59.74 | 2.59 | $9.89 | 0.43 | $9.89 | 0.43 | 7 |
| 20 | $18.88 | 1,960 | $9.63 | 104 | 5.31% | 16 | 15.4% | $1.180 | 23 | 100% | $16.58 | 0.88 | $11.23 | 0.59 | $11.23 | 0.59 | 4 |
| 21 | $18.38 | 1,910 | $9.62 | 109 | 5.71% | 17 | 15.6% | $1.081 | 26 | 100% | $109.57 | 5.96 | $5.63 | 0.31 | $8.90 | 0.48 | 8 |
| 22 | $16.25 | 2,015 | $8.06 | 128 | 6.35% | 11 | 8.6% | $1.477 | 21 | 100% | $31.84 | 1.96 | $5.17 | 0.32 | $5.17 | 0.32 | 4 |
| 23 | $23.75 | 2,444 | $9.72 | 124 | 5.07% | 21 | 16.9% | $1.131 | 28 | 100% | $133.59 | 5.62 | $77.01 | 3.24 | $82.00 | 3.45 | 5 |
| ALL | $496.36 | 57,136 | $8.69 | 3,239 | 5.67% | 477 | 14.7% | $1.041 | 651 | 100% | $1278.60 | 2.58 | $535.73 | 1.08 | $632.24 | 1.27 | 102 |
Delivery columns (CPM, CTR, click→install, CPI) are Meta's: numerator and denominator both from its instrument. Registrations, the payer count and every revenue column are ours. The two install counts are never crossed. booked sits on the payment hour; within-day and cohort@24h sit on the install hour.
⚠ 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 are single digits and every bucket sits under the 16-payer bar. An hourly ROAS on two payers is those two baskets. Read the ALL row for level and the hours for shape.
The other accounts, hour by hour.
Nomad Node — $183.98 on this day
| hr | spend | impressions | CPM | registrations | cost/reg | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | booked payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $5.54 | 1,170 | $4.74 | 9 | $0.616 | $60.89 | 10.99 | $9.11 | 1.64 | $9.11 | 1.64 | 4 |
| 01 | $8.14 | 1,316 | $6.19 | 9 | $0.904 | $21.33 | 2.62 | $0.00 | 0.00 | $0.00 | 0.00 | 2 |
| 02 | $6.71 | 1,526 | $4.40 | 10 | $0.671 | $33.26 | 4.96 | $4.99 | 0.74 | $4.99 | 0.74 | 3 |
| 03 | $6.26 | 1,418 | $4.41 | 13 | $0.482 | $47.23 | 7.55 | $51.38 | 8.21 | $51.38 | 8.21 | 4 |
| 04 | $8.13 | 1,786 | $4.55 | 16 | $0.508 | $19.38 | 2.38 | $0.00 | 0.00 | $0.00 | 0.00 | 4 |
| 05 | $9.51 | 2,027 | $4.69 | 13 | $0.732 | $21.18 | 2.23 | $17.63 | 1.85 | $17.63 | 1.85 | 3 |
| 06 | $9.07 | 1,785 | $5.08 | 12 | $0.756 | $13.75 | 1.52 | $0.00 | 0.00 | $0.00 | 0.00 | 3 |
| 07 | $9.73 | 1,804 | $5.39 | 14 | $0.695 | $39.42 | 4.05 | $17.84 | 1.83 | $17.84 | 1.83 | 4 |
| 08 | $8.15 | 1,630 | $5.00 | 15 | $0.543 | $16.38 | 2.01 | $0.00 | 0.00 | $0.00 | 0.00 | 3 |
| 09 | $8.16 | 1,558 | $5.24 | 21 | $0.389 | $35.34 | 4.33 | $0.00 | 0.00 | $0.00 | 0.00 | 2 |
| 10 | $6.95 | 1,490 | $4.66 | 18 | $0.386 | $2.99 | 0.43 | $0.00 | 0.00 | $0.00 | 0.00 | 1 |
| 11 | $7.25 | 1,314 | $5.52 | 13 | $0.558 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 12 | $7.48 | 1,306 | $5.73 | 16 | $0.468 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 13 | $9.34 | 1,420 | $6.58 | 12 | $0.778 | $7.98 | 0.85 | $4.99 | 0.53 | $4.99 | 0.53 | 2 |
| 14 | $7.03 | 789 | $8.91 | 14 | $0.502 | $15.83 | 2.25 | $0.00 | 0.00 | $0.00 | 0.00 | 4 |
| 15 | $6.38 | 1,335 | $4.78 | 14 | $0.456 | $0.00 | 0.00 | $13.22 | 2.07 | $13.22 | 2.07 | 0 |
| 16 | $5.35 | 1,167 | $4.58 | 16 | $0.334 | $11.87 | 2.22 | $0.00 | 0.00 | $0.00 | 0.00 | 3 |
| 17 | $7.47 | 1,158 | $6.45 | 15 | $0.498 | $15.43 | 2.07 | $0.00 | 0.00 | $0.00 | 0.00 | 3 |
| 18 | $9.96 | 1,398 | $7.12 | 15 | $0.664 | $3.18 | 0.32 | $5.76 | 0.58 | $9.32 | 0.94 | 1 |
| 19 | $8.25 | 1,474 | $5.60 | 16 | $0.516 | $35.93 | 4.36 | $0.00 | 0.00 | $0.00 | 0.00 | 4 |
| 20 | $6.80 | 1,359 | $5.00 | 13 | $0.523 | $50.28 | 7.39 | $43.73 | 6.43 | $43.73 | 6.43 | 3 |
| 21 | $9.47 | 1,368 | $6.92 | 22 | $0.430 | $19.52 | 2.06 | $40.26 | 4.25 | $53.25 | 5.62 | 3 |
| 22 | $6.28 | 1,400 | $4.49 | 15 | $0.419 | $24.30 | 3.87 | $0.00 | 0.00 | $0.00 | 0.00 | 2 |
| 23 | $6.57 | 1,641 | $4.00 | 14 | $0.469 | $23.77 | 3.62 | $4.99 | 0.76 | $4.99 | 0.76 | 4 |
KBM1 — $22.36 on this day
| hr | spend | impressions | CPM | registrations | cost/reg | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | booked payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | $0.15 | 6 | $25.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 01 | $1.64 | 18 | $91.11 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 02 | $1.30 | 18 | $72.22 | 1 | $1.300 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 03 | $1.94 | 15 | $129.33 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 04 | $0.23 | 8 | $28.75 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 05 | $0.37 | 9 | $41.11 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 06 | $0.20 | 4 | $50.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 07 | $1.92 | 17 | $112.94 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 08 | $0.74 | 5 | $148.00 | 1 | $0.740 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 09 | $0.34 | 8 | $42.50 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 10 | $0.93 | 15 | $62.00 | 1 | $0.930 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 11 | $1.56 | 20 | $78.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 12 | $1.23 | 15 | $82.00 | 1 | $1.230 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 13 | $4.04 | 26 | $155.38 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 14 | $0.36 | 9 | $40.00 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 15 | $0.24 | 7 | $34.29 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 16 | $0.93 | 26 | $35.77 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
| 17 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | — | $0.00 | — | 0 |
| 18 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | — | $0.00 | — | 0 |
| 19 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | — | $0.00 | — | 0 |
| 20 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | — | $0.00 | — | 0 |
| 21 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | — | $0.00 | — | 0 |
| 22 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | — | $0.00 | — | 0 |
| 23 | $4.24 | 28 | $151.43 | 0 | — | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 |
HR1 — no hourly block: it delivered nothing on this day. Its export returned No data available, a measured zero, and the zero row is in the day-grain tables.
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-17 ran higher | hours it ran lower | sign test |
|---|---|---|---|
| CPM | 19 of 24 | 5 of 24 | p = 0.007 |
| CTR | 5 of 24 | 19 of 24 | p = 0.007 |
| click→install | 11 of 24 | 13 of 24 | p = 0.839 |
| CPI | 17 of 24 | 7 of 24 | p = 0.064 |
A sign test throws magnitude away and buys weight-free direction with it.
Both directional ratios are impression-side. CPM 19 of 24 higher, CTR 19 of 24 lower, p = 0.007; click→install 11 against 13, p = 0.839.
Paid more for a weaker impression, converted it the same. Unlike 08-16, the CTR loss is not bought back: installs 477 against 563, CPI +20.9%.
Every shared hour, 2026-08-16 → 2026-08-17. 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,375 → 1,647 | 7.94 → 9.12 | 6.91% → 4.68% | 11.6% → 14.3% | 0.993 → 1.365 |
| 01 | 1,479 → 1,875 | 8.58 → 8.06 | 5.61% → 5.49% | 15.7% → 17.5% | 0.976 → 0.839 |
| 02 | 1,128 → 2,144 | 7.09 → 9.00 | 6.03% → 5.60% | 23.5% → 15.8% | 0.500 → 1.015 |
| 03 | 1,314 → 2,322 | 8.94 → 9.02 | 7.53% → 4.91% | 13.1% → 11.4% | 0.904 → 1.611 |
| 04 | 1,519 → 2,326 | 7.14 → 8.53 | 6.19% → 5.12% | 19.1% → 16.0% | 0.602 → 1.044 |
| 05 | 1,378 → 3,143 | 6.39 → 7.11 | 5.88% → 5.28% | 14.8% → 15.1% | 0.734 → 0.894 |
| 06 | 2,288 → 2,954 | 5.94 → 6.64 | 6.42% → 4.84% | 10.2% → 9.1% | 0.906 → 1.509 |
| 07 | 3,816 → 3,029 | 6.82 → 8.22 | 6.00% → 5.81% | 17.0% → 13.1% | 0.667 → 1.082 |
| 08 | 3,008 → 2,598 | 6.93 → 8.53 | 4.99% → 5.08% | 12.0% → 16.7% | 1.158 → 1.008 |
| 09 | 3,014 → 2,373 | 8.12 → 8.35 | 6.24% → 5.35% | 11.7% → 18.1% | 1.112 → 0.862 |
| 10 | 3,282 → 2,767 | 7.15 → 7.27 | 6.58% → 5.13% | 17.1% → 14.1% | 0.634 → 1.006 |
| 11 | 3,352 → 2,157 | 7.05 → 8.39 | 6.00% → 5.19% | 13.9% → 16.1% | 0.844 → 1.006 |
| 12 | 3,268 → 2,252 | 8.70 → 7.90 | 5.81% → 6.31% | 15.8% → 17.6% | 0.948 → 0.712 |
| 13 | 2,949 → 2,679 | 8.09 → 9.39 | 5.76% → 6.46% | 16.5% → 7.5% | 0.852 → 1.935 |
| 14 | 1,464 → 1,506 | 11.60 → 13.59 | 8.33% → 8.03% | 20.5% → 15.7% | 0.679 → 1.077 |
| 15 | 2,955 → 2,601 | 8.80 → 8.80 | 6.23% → 5.96% | 16.3% → 16.1% | 0.866 → 0.915 |
| 16 | 3,060 → 2,698 | 8.25 → 8.80 | 6.14% → 5.60% | 14.9% → 17.9% | 0.902 → 0.880 |
| 17 | 3,283 → 2,762 | 8.50 → 8.64 | 6.94% → 6.12% | 12.7% → 14.8% | 0.962 → 0.954 |
| 18 | 2,983 → 2,689 | 8.13 → 9.24 | 6.40% → 6.36% | 16.2% → 15.8% | 0.783 → 0.920 |
| 19 | 2,907 → 2,285 | 11.39 → 10.11 | 6.16% → 7.05% | 12.3% → 16.8% | 1.505 → 0.856 |
| 20 | 2,579 → 1,960 | 7.74 → 9.63 | 5.58% → 5.31% | 13.9% → 15.4% | 0.998 → 1.180 |
| 21 | 2,348 → 1,910 | 10.01 → 9.62 | 6.18% → 5.71% | 20.0% → 15.6% | 0.811 → 1.081 |
| 22 | 2,380 → 2,015 | 9.78 → 8.06 | 5.46% → 6.35% | 20.0% → 8.6% | 0.895 → 1.477 |
| 23 | 1,876 → 2,444 | 9.07 → 9.72 | 5.97% → 5.07% | 20.5% → 16.9% | 0.740 → 1.131 |
(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.
The prior day, 2026-08-16, the same two tables.
(i) The portfolio by country, 2026-08-16. 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 | $83.70 | 17.3% | 3,536 | $23.67 | 76 | $1.101 | $91.88 | 1.10 | 20 |
| IN | $80.99 | 16.7% | 9,891 | $8.19 | 245 | $0.331 | $155.05 | 1.91 | 27 |
| GB | $24.21 | 5.0% | 1,476 | $16.40 | 35 | $0.692 | $12.08 | 0.50 | 5 |
| MX | $21.07 | 4.3% | 4,345 | $4.85 | 62 | $0.340 | $35.81 | 1.70 | 6 |
| ID | $17.68 | 3.6% | 3,536 | $5.00 | 108 | $0.164 | $4.99 | 0.28 | 3 |
| PH | $15.05 | 3.1% | 7,364 | $2.04 | 64 | $0.235 | $0.00 | 0.00 | 2 |
| TR | $14.17 | 2.9% | 876 | $16.19 | 37 | $0.383 | $11.78 | 0.83 | 4 |
| FR | $11.33 | 2.3% | 833 | $13.61 | 22 | $0.515 | $5.74 | 0.51 | 1 |
| CA | $10.91 | 2.3% | 575 | $18.96 | 11 | $0.992 | $35.65 | 3.27 | 1 |
| MY | $10.55 | 2.2% | 2,424 | $4.35 | 27 | $0.391 | $5.38 | 0.51 | 2 |
| AR | $9.20 | 1.9% | 1,158 | $7.95 | 40 | $0.230 | $4.99 | 0.54 | 1 |
| IT | $9.14 | 1.9% | 662 | $13.80 | 9 | $1.015 | $0.00 | 0.00 | 3 |
185 further countries are not listed, $176.57 between them (36.4% 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) $76.60 from Meta 2026-08-15 and $407.97 from Meta 2026-08-16, a measured UTC-day total of $484.57.
Absent from the table above, by name: KBM1, HR1. Their spend is in every day-grain table; only their country split is missing.
(ii) The same cut per account, 2026-08-16.
B1
| cc | spend | share | impressions | CPM | registrations (ours) | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|
| US | $83.70 | 17.3% | 3,536 | $23.67 | 64 | $1.308 | $86.89 | 1.04 | 18 |
| IN | $80.99 | 16.7% | 9,891 | $8.19 | 166 | $0.488 | $67.94 | 0.84 | 15 |
| GB | $24.21 | 5.0% | 1,476 | $16.40 | 27 | $0.897 | $0.00 | 0.00 | 3 |
| MX | $21.07 | 4.3% | 4,345 | $4.85 | 34 | $0.620 | $14.82 | 0.70 | 5 |
| ID | $17.68 | 3.6% | 3,536 | $5.00 | 44 | $0.402 | $0.00 | 0.00 | 2 |
| PH | $15.05 | 3.1% | 7,364 | $2.04 | 50 | $0.301 | $0.00 | 0.00 | 2 |
| TR | $14.17 | 2.9% | 876 | $16.19 | 22 | $0.644 | $5.89 | 0.42 | 1 |
| FR | $11.33 | 2.3% | 833 | $13.61 | 17 | $0.667 | $5.74 | 0.51 | 1 |
| CA | $10.91 | 2.3% | 575 | $18.96 | 10 | $1.091 | $0.00 | 0.00 | 0 |
| MY | $10.55 | 2.2% | 2,424 | $4.35 | 18 | $0.586 | $5.38 | 0.51 | 1 |
| AR | $9.20 | 1.9% | 1,158 | $7.95 | 25 | $0.368 | $0.00 | 0.00 | 0 |
| IT | $9.14 | 1.9% | 662 | $13.80 | 8 | $1.142 | $0.00 | 0.00 | 3 |
184 further countries are not listed, $176.57 between them (36.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 | — | 6 | $0.000 | $0.00 | — | 0 |
| AL | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| AM | $0.00 | 0.0% | 0 | — | 0 | — | $0.00 | — | 1 |
| AR | $0.00 | 0.0% | 0 | — | 15 | $0.000 | $4.99 | — | 1 |
| AU | $0.00 | 0.0% | 0 | — | 3 | $0.000 | $28.67 | — | 1 |
| AZ | $0.00 | 0.0% | 0 | — | 3 | $0.000 | $0.00 | — | 0 |
| BA | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| BD | $0.00 | 0.0% | 0 | — | 2 | $0.000 | $0.00 | — | 0 |
| BG | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $5.74 | — | 1 |
| BN | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
| BO | $0.00 | 0.0% | 0 | — | 3 | $0.000 | $0.00 | — | 0 |
| BR | $0.00 | 0.0% | 0 | — | 38 | $0.000 | $0.00 | — | 0 |
70 further countries are not listed, $0.00 between them (0.0% of this block).
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.
(i) The delivery funnel, 24 shared hours — B1's only, since only its preset carries CTR. Section 1 carries the portfolio's spend, impressions and CPM.
| spend | impressions | CPM | clicks | CTR | installs | click→install | CPI | |
|---|---|---|---|---|---|---|---|---|
| 2026-08-16 | $484.57 | 59,005 | 8.21 | 3,634 | 6.16% | 563 | 15.49% | $0.861 |
| 2026-08-17 | $496.36 | 57,136 | 8.69 | 3,239 | 5.67% | 477 | 14.73% | $1.041 |
Pooling across hours is a mix comparison. It weights each hour by delivery, and agrees with the unweighted hourly read on CTR and CPM.
The three measures, portfolio, both days:
| measure | 2026-08-16 | 2026-08-17 | moves? |
|---|---|---|---|
| booked | $1,869.11 (2.64) | $1,860.31 (2.65) | settled |
| within-day | $578.01 (0.82) | $753.18 (1.07) | never |
| cohort @ 24h | $740.86 (1.04), 100% covered | $881.43 (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-17 | share |
|---|---|---|
| 2026-08-17 | $535.73 | 41.9% |
| 2026-08-16 | $37.83 | 3.0% |
| 2026-08-15 | $206.81 | 16.2% |
| 2026-08-14 | $17.30 | 1.4% |
| 2026-08-13 | $53.76 | 4.2% |
| 2026-08-12 | $12.99 | 1.0% |
(ii) Each measure per account, both days.
2026-08-16
| account | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers | payer% | ARPU | ARPPU |
|---|---|---|---|---|---|---|---|---|---|---|
| Portfolio | $1,869.11 | 2.64 | $578.01 | 0.82 | $740.86 | 1.04 | 133 | 9.8% | $1.373 | $14.05 |
| B1 | $1,316.94 | 2.72 | $261.02 | 0.54 | $277.13 | 0.57 | 91 | 11.0% | $1.596 | $14.47 |
| Nomad Node | $552.17 | 2.90 | $316.99 | 1.66 | $463.74 | 2.43 | 42 | 7.9% | $1.044 | $13.15 |
| 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-17
| account | booked | bROAS | within-day | wROAS | cohort@24h | cROAS | payers (d0) | payer% (d0) | ARPU (d0) | ARPPU (d0) |
|---|---|---|---|---|---|---|---|---|---|---|
| Portfolio | $1,860.31 | 2.65 | $753.18 | 1.07 | $881.43 | 1.25 | 68 | 6.6% | $0.8583 | $12.96 |
| B1 | $1,341.06 | 2.70 | $539.29 | 1.09 | $650.98 | 1.31 | 49 | 7.2% | $0.9602 | $13.29 |
| Nomad Node | $519.25 | 2.82 | $213.89 | 1.16 | $230.44 | 1.25 | 19 | 5.5% | $0.6679 | $12.13 |
| KBM1 | $0.00 | 0.00 | $0.00 | 0.00 | $0.00 | 0.00 | 0 | 0.0% | $0.0000 | — |
| HR1 | $0.00 | — | $0.00 | — | $0.00 | — | 0 | — | — | — |
Rank these rows on within-day or cohort@24h, never on booked. Today they agree: booked 2.82 against 2.70, within-day 1.16 against 1.09. Yesterday they disagreed.
The mix-neutral line. B1's CPM on 2026-08-16's mix is $8.69 against the $8.69 read: one campaign delivered, so the 5.8% is country mix, section 3.
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 — 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 same seam section 3 carries and for the same reason: only B1's export has the Ad ID an hourly restitch needs. 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.
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
bailingxia_meituan_ww_cvr_260802 | B1 | $480.68 | 67.6% | 56,535 | $8.50 | 602 | $0.798 | $535.73 | 1.11 | 93 |
0814_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $84.07 | 11.8% | 19,899 | $4.22 | 209 | $0.402 | $114.20 | 1.36 | 24 |
0811_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $72.76 | 10.2% | 11,758 | $6.19 | 115 | $0.633 | $66.01 | 0.91 | 14 |
bailingxia_srfhjyd_ww_cvr_260814 | KBM1 | $46.21 | 6.5% | 367 | $125.91 | 4 | $11.553 | $0.00 | 0.00 | 0 |
0814_vl_bailingxia_srfhjyd_maimai | Nomad Node | $27.15 | 3.8% | 2,982 | $9.10 | 21 | $1.293 | $33.68 | 1.24 | 4 |
bailingxia_meituan_ww_cvr_260730 | B1 | $0.00 | 0.0% | 0 | — | 43 | $0.000 | $0.00 | — | 8 |
bailingxia_meituan_t3_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 26 | $0.000 | $3.56 | — | 6 |
bailingxia_meituan_t3_cvr_260723 | B1 | $0.00 | 0.0% | 0 | — | 3 | $0.000 | $0.00 | — | 0 |
bailingxia_meituan_t2_cvr_260723 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
bailingxia_meituan_dach_cvr_260729 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 1 |
bailingxia_meituan_t1_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
bailingxia_meituan_t2_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 3 |
Four of five delivering campaigns are not ours to steer. The three Nomad Node buys took $183.98, $0.402 to $1.293 a registration against B1's $0.798.
0814_vl_bailingxia_srfhjyd-rain-chuva is the cheapest registration in the portfolio. It is not ours, and Nomad CPMs run $4.22 to $9.10 against B1's $8.50.
(ii) The same, per account. B1's own campaign row carries the funnel columns the others cannot.
B1, the funnel version
| campaign | spend | share | impressions | impr share | CPM | clicks | CTR | cost/click | installs | CPI | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Worldwide | $496.36 | 100.0% | 57,136 | 100.0% | 8.69 | 3,239 | 5.67% | $0.153 | 477 | $1.041 | $535.73 | 1.08 | 43 |
Booking with no delivery, and excluded from every rate above: German (DE/AT) 0 installs (Meta), 1 registration (ours), $0.00 within-day; Earner (retired 08-03) 0 installs (Meta), 43 registrations (ours), $0.00 within-day. Counting them would put installs into the CPI denominator against spend that never happened.
Account CPM $8.21 → $8.69 (5.8%). Held to 2026-08-16's campaign mix it is $8.69 (5.8%) — the gap between those two is the mix, and here it is nil.
This section carries no chart. One campaign delivered, so a spend-share or CPM-by-campaign chart would be a single flat line at 100%.
The other accounts' campaigns.
Nomad Node
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
0814_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $84.07 | 45.7% | 19,899 | $4.22 | 209 | $0.402 | $114.20 | 1.36 | 24 |
0811_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $72.76 | 39.5% | 11,758 | $6.19 | 115 | $0.633 | $66.01 | 0.91 | 14 |
0814_vl_bailingxia_srfhjyd_maimai | Nomad Node | $27.15 | 14.8% | 2,982 | $9.10 | 21 | $1.293 | $33.68 | 1.24 | 4 |
KBM1
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
bailingxia_srfhjyd_ww_cvr_260814 | KBM1 | $46.21 | 100.0% | 367 | $125.91 | 4 | $11.553 | $0.00 | 0.00 | 0 |
HR1
nothing delivered or registered.
How the shared accounts get a campaign row. Their export has no Campaign name column; there the Ad set name is the campaign name.
(i) Every asset the portfolio ran. One row per ad, with the account it ran in named on it. Spend and impressions are each account's own day; registrations, payers and revenue are ours on the UTC day. The join is the ad NAME, which is allowed here only because the account is already fixed — by campaign_id on our side and by which export the row came from on Meta's — so the name separates assets inside one known account and never decides which account a row belongs to.
| asset | account | spend | impressions | CPM | registrations | cost/reg | within-day | wROAS | cohort@24h | payers |
|---|---|---|---|---|---|---|---|---|---|---|
vid_ww_pool5_15s_9x16_v1 | B1 | $480.68 | 56,535 | $8.50 | 529 | $0.909 | $516.39 | 1.07 | $607.15 | 68 |
nomad-0811-03-rain-chuva-video-01 | Nomad Node | $72.76 | 11,758 | $6.19 | 112 | $0.650 | $66.01 | 0.91 | $79.00 | 13 |
nomad-0814-03-rain-chuva-video-01 | Nomad Node | $58.49 | 17,105 | $3.42 | 161 | $0.363 | $109.19 | 1.87 | $112.75 | 21 |
vid_ww_pool5_15s_9x16_v1 | KBM1 | $46.21 | 367 | $125.91 | 4 | $11.553 | $0.00 | 0.00 | $0.00 | 0 |
nomad-0814-03-maimai | Nomad Node | $27.15 | 2,982 | $9.10 | 21 | $1.293 | $33.68 | 1.24 | $33.68 | 4 |
nomad-0814-03-rain-chuva-video-02 | Nomad Node | $25.58 | 2,794 | $9.16 | 48 | $0.533 | $5.01 | 0.20 | $5.01 | 3 |
vid_ww_bodysuit_10s_9x16_v1 | B1 | $0.00 | 0 | — | 50 | $0.000 | $13.58 | — | $13.58 | 15 |
vid_ww_bikini_10s_9x16_v1 | B1 | $0.00 | 0 | — | 28 | $0.000 | $5.76 | — | $5.76 | 6 |
vid_ww_spill_8s_9x16_v1 - Copy | B1 | $0.00 | 0 | — | 19 | $0.000 | $0.00 | — | $5.76 | 4 |
vid_ww_lounge_8s_9x16_v1 | B1 | $0.00 | 0 | — | 16 | $0.000 | $0.00 | — | $0.00 | 8 |
vid_sasian_bodysuit_10s_9x16_v1 | B1 | $0.00 | 0 | — | 12 | $0.000 | $3.56 | — | $18.74 | 2 |
vid_sasian_bikini_6s_9x16_v1 | B1 | $0.00 | 0 | — | 5 | $0.000 | $0.00 | — | $0.00 | 1 |
vid_utility_6s_9x16_v1 | B1 | $0.00 | 0 | — | 3 | $0.000 | $0.00 | — | $0.00 | 2 |
nomad-0811-03-rain-chuva-video-02 | Nomad Node | $0.00 | 0 | — | 3 | $0.000 | $0.00 | — | $0.00 | 1 |
vid_control_6s_9x16_v1 | B1 | $0.00 | 0 | — | 2 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_control_sexy_9x16_v1 | B1 | $0.00 | 0 | — | 2 | $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_ww_mugshot_15s_9x16_v1 | B1 | $0.00 | 0 | — | 2 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_spice5_15s_9x16_v1 | B1 | $0.00 | 0 | — | 2 | $0.000 | $0.00 | — | $0.00 | 1 |
vid_sasian_bikini_10s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_ww_spill_8s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_ww_pool5_15s_9x16_v1 - Copy | B1 | $0.00 | 0 | — | 1 | $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_utility_10s_9x16_v1 | B1 | $0.00 | 0 | — | 1 | $0.000 | $0.00 | — | $0.00 | 0 |
vid_sasian_fishnet_top_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 | — | 0 | — | $0.00 | — | $0.00 | 3 |
vid_de_german_10s_9x16_v1 | B1 | $0.00 | 0 | — | 0 | — | $0.00 | — | $0.00 | 1 |
The two shared rain-chuva cuts buy registrations at half what ours does. nomad-0814-03-rain-chuva-video-01: $58.49, 161 registrations, $0.363 each, $3.42 CPM. vid_ww_pool5_15s_9x16_v1: $480.68, 529, $0.909, $8.50.
Within-day return orders them the same way: 1.87 and 0.91 against 1.07.
Every B1 row with zero spend still books revenue, and that is the retired tail paying today rather than any delivery on this day.
Every asset, per account.
B1
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
bailingxia_meituan_ww_cvr_260802 | B1 | $480.68 | 100.0% | 56,535 | $8.50 | 602 | $0.798 | $535.73 | 1.11 | 93 |
bailingxia_meituan_ww_cvr_260730 | B1 | $0.00 | 0.0% | 0 | — | 43 | $0.000 | $0.00 | — | 8 |
bailingxia_meituan_t3_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 26 | $0.000 | $3.56 | — | 6 |
bailingxia_meituan_t3_cvr_260723 | B1 | $0.00 | 0.0% | 0 | — | 3 | $0.000 | $0.00 | — | 0 |
bailingxia_meituan_t2_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 3 |
bailingxia_meituan_t2_cvr_260723 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
bailingxia_meituan_dach_cvr_260729 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 1 |
bailingxia_meituan_t1_cvr_260725 | B1 | $0.00 | 0.0% | 0 | — | 1 | $0.000 | $0.00 | — | 0 |
Nomad Node
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
0814_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $84.07 | 45.7% | 19,899 | $4.22 | 209 | $0.402 | $114.20 | 1.36 | 24 |
0811_vl_bailingxia_srfhjyd-rain-chuva | Nomad Node | $72.76 | 39.5% | 11,758 | $6.19 | 115 | $0.633 | $66.01 | 0.91 | 14 |
0814_vl_bailingxia_srfhjyd_maimai | Nomad Node | $27.15 | 14.8% | 2,982 | $9.10 | 21 | $1.293 | $33.68 | 1.24 | 4 |
KBM1
| campaign | account | spend | share | impressions | CPM | registrations | cost/reg | within-day | wROAS | payers |
|---|---|---|---|---|---|---|---|---|---|---|
bailingxia_srfhjyd_ww_cvr_260814 | KBM1 | $46.21 | 100.0% | 367 | $125.91 | 4 | $11.553 | $0.00 | 0.00 | 0 |
HR1
nothing delivered or registered.
#### Structure on this day
One ad set delivered and one ad inside it: E2/pool5, the sixth 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, an identity that belongs to the daily cut, and it is checked against the hourly export each time it is claimed.
#### A. Per asset — delivery
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 | $496.36 | 57,136 | 8.69 | 3,239 | 5.67% | 477 | 14.73% | $1.041 |
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/mugshot | $0.00 | 0 | — | 0 | — | 0 | — | — |
E2/spill | $0.00 | 0 | — | 0 | — | 0 | — | — |
E2/spill2 | $0.00 | 0 | — | 0 | — | 0 | — | — |
E2/lounge | $0.00 | 0 | — | 0 | — | 0 | — | — |
DEww/pool5 | $0.00 | 0 | — | 0 | — | 0 | — | — |
#### B. Per asset — the three revenue measures
Ours on every column. Meta can express only booked, so it rides bracketed beside that column and never as a row. Payers are distinct people, never transactions. Cohort horizon H=24h, 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 | $936.80 | 1.89 (2.32) | $516.39 | 1.04 | $607.15 | 1.22 | 44 | 8.4% | 1.159 | 13.80 | 10.6% |
earner/bodysuit | $28.49 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
earner/bikini | $38.89 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
earner/pool5 | $6.32 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
E2/bikini | $26.10 | — (—) | $5.76 | — | $5.76 | — | 1 | 4.2% | 0.240 | 5.76 | 100.0% |
E2/bodysuit | $98.13 | — (—) | $13.58 | — | $13.58 | — | 1 | 4.8% | 0.647 | 13.58 | 100.0% |
E2/mugshot | $0.00 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
E2/spill | $0.00 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
E2/spill2 | $84.29 | — (—) | $0.00 | — | $5.76 | — | 1 | 5.3% | 0.303 | 5.76 | — |
E2/lounge | $43.46 | — (—) | $0.00 | — | $0.00 | — | 0 | 0.0% | 0.000 | — | — |
DEww/pool5 | $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. E2/pool5 at 41 payers is the only row on this table that clears it.
Every retired asset still books revenue and none of it is delivery. E2/bodysuit $98.13, E2/spill2 $84.29 — the tail section 4's booked split shows.
#### C. Per asset — country mix
⚠ This table is cut on the META day, while every other table on this page is on the UTC clock. Meta serves no hour × country grid, so per-country delivery exists only on the ad account's own UTC-7 day and cannot be restitched. It is a seven-hour-offset window against tables A and B above; read it for mix, never for level against them.
The last column is the share of that asset's own within-day revenue that came from the United States: where it far exceeds the US spend share, the return is a property of the geography the asset bought.
| asset | spend | India % | US % | other % | US % of its revenue |
|---|---|---|---|---|---|
E2/pool5 | $480.68 | 19.8% | 17.6% | 62.6% | 20.9% |
pool5 bought 17.6% United States and earned 20.9% there. The ratio is 1.19, against 1.93 on 08-16 and the 3.7 of 2026-08-04.
The US is paying roughly its own way, even at a $2.917 install.
#### The day across the run
The cohort figure is frozen, at 100% coverage on both days. 08-17's last install passed its 24-hour horizon at 23:59 UTC on 08-18, and re-cutting the day against the 2026-08-22 payment data returns $881.43 to the cent. The figure this page carries is final and its comparison against 08-16 stands at +19.0%. It was first published on the 2026-08-18 18:54 UTC cut, which had reached 79% of the day's installs; that was a lower-coverage read of the same cohort, not a different number.
⚠ The instrument gate is still outside its band at 1.08, against 0.91 to 1.06, but it has more than halved its breach. 08-16 read 1.15. The 08-16 report attributed that to a lengthening repurchase tail: our records key a payment to the person who made it and never expire, while Meta's window is 7-day click, 1-day view, so the share of a day's revenue Meta structurally cannot attribute grows as the account ages. A day whose booked revenue leans more on its own fresh cohort should therefore read closer to Meta, and this one does: 41.9% of booked came from same-day installs against 20.4% on 08-16. That is consistent with the explanation and is not proof of it, and the band still needs recalibrating on a cohort-limited basis before either reading counts as a pass or a fail.
⚠ The registration fall is the largest single thing on this page and nothing here explains it. Down 24.5% portfolio-wide in one day, in two independent accounts at once, with no budget or campaign change on either, and the campaign activity history returns no rows for 2026-08-15 to 2026-08-18. On B1 the Meta-side install count fell 15.3% against our 17.8%, which rules out a registration-feed artefact there because two independent instruments agree. It is not ruled out on the shared accounts, whose export carries no install column to check against.
B1's 43 within-day payers clear the 16-payer bar, and the portfolio's 153 booked payers clear it. Nothing below the account level does: no country cell, and no per-asset row except E2/pool5 at 41.
⚠⚠ 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 every one of their registrations resolves to a US IP, against 4% for B1 and 3% for the shared pair. B1's own US cell runs CPM $25.36 on this day against its account figure of $8.50, 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; the like-for-like comparison is against B1's US cell, which the country export carries.
⚠ The United States targeting is deliberate, and it is what these two accounts exist to test. Inside B1's worldwide buy pool5 has repeatedly earned a share of revenue in the United States far above its share of spend there: 13.7% of spend against 50.5% of revenue on 2026-08-04, and 17.6% against 20.9% on this day, with B1's US cell returning a booked 3.80 against the account's 2.58. KBM1 and HR1 buy the United States directly, to find out whether that concentration survives when the country is bought on purpose rather than reached by an optimiser spending worldwide. Their ad sets read Inclusion: United States; B1's read Worldwide minus Singapore and Taiwan, the shape DECISION_LOG.md #45 fixes. They are a test arm against a control, and the ww the campaign names carry is wrong about that.
What the test returned on these two days: nothing. KBM1 spent $85.75 on United States traffic across 2026-08-16 and 2026-08-17 for 11 registrations and no payers at all, while B1's own US cell returned a within-day 0.89 and then 1.28 on comparable money. Two days is two days and this page does not read a verdict off them; the account is four days old and the reading that matters is the one it has after a run long enough to carry a payer count.
One operational note on changing it. Both campaigns are Advantage+ Sales, whose ad-set creation form exposes no Locations section, so the geography cannot be tuned the way B1's is. The live ad sets do render a Locations block with an Edit control, so a change is probably an edit. That is an affordance and not a proven write, and nothing here has been changed.
⚠ HR1 spent $0.00 on both days and its zero rows are measured. Its export pulled successfully and reads zero across the whole window. Both its ads published late on 08-17 and its first delivery falls outside this report.
The 08-16 figures on this page read one registration higher than the 08-16 report's own: 1,361 against 1,360 at portfolio level and 825 against 824 for B1. The difference is a single registration through a dormant B1 campaign that this run's account map now recognises. It moves no rate on either page.
Every account's clock is now read off the account itself, and one of them was wrong on the last cut of this page. B1 and KBM1 run at UTC-7, so a UTC day on either is stitched from two account days; the Nomad Node pair and HR1 run at UTC+0, where the reporting day is the UTC day. B1's seven hours are confirmed by correlating its hourly impressions against our registrations, which recovers k=7 at r = 0.878 against 0.702 and 0.697 either side. KBM1's and HR1's could not be recovered that way — the correlation needs an account's own volume and KBM1 has seven registrations on its best day — so they were read directly off each account's campaign objects, which Ads Manager stamps in the account's own zone: KBM1 2026-08-15T01:33:28-0700, HR1 2026-08-17T08:25:57+0000. An offset is a setting, and waiting for volume to correlate one is what kept KBM1 on its own reporting day inside a UTC portfolio total — worth $46.21 against the $22.36 that day actually holds.
⚠ Two instruments produce B1's figures and they count different populations on purpose, so read the label that says which. The per-account tables select on campaign_id and cover every B1 campaign; sections 2 to 6 select on Ad ID against the run config's asset map and cover only mapped ads. On this day that is 678 registrations against 651, and $1,341.06 of booked revenue against $1,278.60: 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.
⚠ What a column preset actually costs, now that it has been measured. Only B1's account has Full View; the Nomad Node preset is not ours to change, and KBM1's popover offers Performance, Performance and clicks, Engagement and Delivery with no Full View to pick. That costs four columns — Ad ID, Link clicks, CTR, Leads — and so the click→install funnel, which is why every funnel table on this page says B1 on it. It costs nothing else: hour, country, campaign and asset are breakdowns, set on the export URL by whoever pulls it, and they were verified on a shared account at 24 of 24 hourly buckets and 3,146 country rows. Reading that preset as a limit on the GRAIN is what published sections 2 and 3 as B1-only for a week. Building the preset on KBM1 and HR1 is still worth doing — it is what gives those two a funnel.
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 and no ad-level hourly without Ad ID, so those cuts cannot be restitched. They are read for mix, never for level.
The FX table is sixteen days old. Revenue in 33 currencies is converted at rates pulled on 2026-08-02. It is the only named candidate left in the instrument reconciliation that has never been tested.
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.
One draft sits unpublished on B1. The manage view reads Review and publish (1). Nothing on this page depends on it and it was not touched.
KBM1's only payer to date paid $4.99 on 08-15, three minutes after installing. The account is a deliberate US-only test of pool5, which earns disproportionately in the United States inside B1's worldwide buy.
Read KBM1's CPM against B1's own US cell at $25.36, not against B1's blended $8.69. It is the only figure on that account with a sample behind it. KBM1 is targeted United States only and B1 buys worldwide at 4% US: the two account figures suggest a premium of 10.1 times; like for like it is 3.5.
Click→install had no direction at all on this day, the first in this run where that rate did not move; CPM and CTR both did.
The shared accounts' campaign rows rest on a naming identity, not a column. Every Nomad row in our registration records has campaign_name equal to adset_name, and that stops holding the moment an ad set is split out of a campaign. KBM1 and HR1 have neither column and run one campaign each, so their single campaign row is their account row.
Nothing in the per-asset table is a controlled comparison — different accounts, different ad sets, different audiences, and Meta chose every allocation — so read it as where the money went and what came back (DECISION_LOG.md #48).
The standing chart set has no campaign block. report_charts.py emits nineteen figures across the hourly, country, aggregate and per-asset sections and none for section 5, so no report in this series has ever carried one. That is a gap between the format document and the generator.
Why a quarter of the registrations went missing across two independent accounts on one day. This is the first thing to answer and nothing on this page answers it. The cheap checks, in order: whether the registration feed dropped rows on 08-17, by comparing the sink's own count against the Telegram export for the same day; whether the cloaker's fire rate moved; and whether Meta's install column fell by the same proportion on the shared accounts as it did on B1. Only the third needs anything we do not already hold, and it needs a column their preset does not carry.
Whether the payer rate at 14.9% is the same buy converting better or a different buy. Registrations fell 24.5% and the payer rate rose by half. Those are consistent with one story, that the missing quarter were people who would never have paid, and with a second, that the day reached a different population. The country cut favours the first, since the US install got dearer and scarcer. Two more days at this budget separate them.
Whether the instrument band survives recalibration. Unchanged from 08-16: compute the ratio over payments from cohorts inside Meta's 7-day window only, across the whole series. If the band holds on that basis and drifts on the current one, the gate's definition is what needs fixing.
KBM1's figures here have moved since an earlier cut of this page, and what moved is the clock they are read on. That account runs on UTC-7 and its money was being read off its own reporting day while B1's was being stitched onto UTC — so a portfolio total was adding two different 24-hour windows. KBM1 now reads $22.36 on this UTC day against the $46.21 its own day shows, and the portfolio $702.70 against $726.36. Nothing about B1 or the shared pair moves: B1 was already stitched and the Nomad Node accounts sit at UTC+0, where the two days are the same day.
This day answers the question the 08-16 report handed forward. Portfolio within-day return has now printed 1.20, 0.82 and 1.07 across three days inside one unchanged regime, so 0.82 was the outlier. The day that replaced it differs from 08-15 in both directions: the volume is a quarter lower and the payer rate half again higher.
The 08-18 report inherits a single-arm buy in its seventh day, a portfolio within-day return that has printed 1.20, 0.82 and 1.07 across three days, and a registration count that fell a quarter in one day for no reason this page can name. The question it can answer that this one cannot is whether the registration volume comes back; if it does not, $0.684 a registration is the new level and every plan built on $0.521 is wrong.
It also inherits HR1's first delivering day, which falls on 08-18. That report is the first on which all four accounts carry a non-zero row, and the first that can price a cold US account on more than one day: HR1 buys the same United States KBM1 does, so the two are comparable to each other and to B1's US cell at $25.36, and none of them is comparable to B1's blended figure.
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 — those two 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-18_2026-08-17_daily_auto/ |
|---|---|
| the per-account breakdown | python -m ad_ops.portfolio_split --run <run> --day 2026-08-17 --prev 2026-08-16, block portfolio.md; the pull's own status in portfolio_pull.txt |
| payment cut | 2026-08-18 18:54 UTC, on the repaired join |
| Meta exports | B1 day and country×day 2026-07-01_2026-08-19 pulled 2026-08-18 18:47 UTC; hourly per day, all 24 buckets verified. KBM1, HR1, Nomad Node ×1 and ×2 each at three grains pulled 2026-08-19 00:1x UTC — day over the same range, country×day over 2026-08-16_2026-08-18, and hourly for 08-17 and 08-16 |
| registrations | adjust_sink push, merged onto the previous run's ledger — 28,876 rows, 6,258 from this pull |
| payments | in-app-purchase API, full history, joined onto the export base and repaired on the account UUID. 237 payments on 08-17, 85.7% carrying a payer before repair |
| FX | _runs/2026-08-02_today_read/fx_rates.json |
| regimes | campaign activity history re-read for 2026-08-15_2026-08-19; no rows in the window, so both days sat in one unchanged regime |
python -m ad_ops.daily_pipeline --day 2026-08-17
python -m ad_ops.portfolio_split --run _runs/2026-08-18_2026-08-17_daily_auto \
--day 2026-08-17 --prev 2026-08-16
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 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. portfolio_split rebuilds each account's hourly archive by globbing every run directory, because a UTC day on a UTC-7 account needs the account day before it and a single night's pull holds only two. 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 is fixed at UTC-7, so a UTC day on that account is Meta day D−1 17:00 to 23:59 plus Meta day D 00:00 to 16:59. 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.
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. 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: the campaign's own activity history returns no rows for 2026-08-15 to 2026-08-18.