When CNN President Jeff Zucker saw the ratings for Fox News’s first Republican debate last August—a staggering 24 million viewers—he immediately called up his head of advertising sales and told her to raise prices, by a lot.

It would be the first of many such calls during an election season that has been a bonanza for all three of cable’s major news channels, but especially for CNN.

The...