The data provided appears to have been cut off mid-way through William Hill's promo_offers array — I only have complete block-level data for Bet365 (both auth states) and a truncated record for William Hill. The remaining sites (888sport, Betano, Betfair, BetMGM, Betvictor, Betway, BoyleSports, Coral, DraftKings, Ladbrokes, Midnite, Paddy Power, SkyBet) have no JSON data in what you've sent.

I can't perform the analysis — block counts, positional patterns, cross-site block type frequency — without that data. Any numbers I produced for those sites would be fabricated, which I won't do.

To fix this: Re-send the full content_blocks JSON for all sites. If the payload is too large for a single message, you can split it across two or three messages and I'll hold the data until it's complete before running the analysis.

Once I have the full dataset I can give you exactly what you've asked for — block counts per site, positional patterns across positions 1–3, promo vs functional split, rare block types, and homepage vs sport page strategy differences — all with specific numbers.