Every October I get the same message from three or four accounts at once: "Our RPM jumped 30% this week, what did you change?" Nothing changed. It's Q4. And every February I get the opposite message, panicked, about a "collapse" that's really just the market settling back to baseline after the holiday spending spree ends. If you're not mapping your revenue against a seasonal curve, you'll spend half the year celebrating a normal upswing as a win and the other half diagnosing a normal downswing as a failure — while the real problems hide inside both.
Your Monthly Average Is Hiding The Real Story
Most publishers I sit down with track revenue as a single trailing number — last month versus this month, this quarter versus last. That comparison only works if demand is flat across the calendar, and it never is. Display and video demand move with advertiser budgets, and advertiser budgets move with retail calendars, fiscal quarters, and consumer behavior that has nothing to do with your site's traffic or content quality. When you strip seasonality out of the picture, you start attributing normal cyclical swings to your own performance, good or bad.
I worked with a lifestyle site last year whose blended annual RPM sat at $3.10. That number told the owner almost nothing useful. The real shape was a $4.80 RPM in November and December, a hard drop to $2.20 through January and February, and a slow climb back to $3.40 by June. Judged against the annual average, January looked like a crisis. Judged against a five-year seasonal baseline, it was exactly on pattern — arguably a touch better than the prior year once you accounted for the extra traffic.
A meaningful chunk of month-to-month RPM fluctuations are seasonal, not structural, and conflating the two leads to bad decisions — swapping demand partners after one soft month, panicking your team into a header bidding overhaul, or worse, cutting content investment right when you should be building inventory for the next peak.
The Demand Curve You're Actually Selling Into
Programmatic demand isn't smooth. It moves in a predictable wave shaped by advertiser budget cycles, and once you've watched it for a few years across enough accounts, the pattern becomes almost boring in its consistency. Retail and CPG budgets flood the market from late September through December, peaking hard around Black Friday and Cyber Monday, then staying elevated through the December gift-buying window. That demand doesn't just lift RPM — it lifts fill rate, because advertisers who were bidding selectively in July are suddenly bidding on nearly everything in your inventory that resembles their target audience.
January and the first half of February are the hangover. Budgets reset, a lot of them get re-approved slowly, and advertisers who overspent in Q4 pull back hard. I've seen RPMs drop 30-40% from December peak to January trough on general-interest sites, and that's completely normal — not a sign your inventory quality dropped. Things stabilize by March, and depending on your vertical you'll see a second, smaller bump: tax-and-finance content sees a real lift from late January through mid-April as tax prep advertisers spend heavily, and personal finance sites I work with often see their second-best quarter of the year here.
Back-to-school spending shows up in late July through early September, which matters if you run education, retail, or parenting content — expect a smaller but real bump before the Q4 wave even starts. Travel is its own animal: booking-intent demand rises in January and February as people plan spring and summer trips, dips slightly during peak summer travel months when people are traveling rather than researching, then rises again from September through November for holiday travel planning. None of these curves are identical across verticals, which is exactly why applying a generic "Q4 is good, Q1 is bad" rule to every site on your network is lazy analysis.
- Q4 (Oct-Dec): broad retail and CPG surge, highest fill rates and CPMs of the year, peaking around Black Friday/Cyber Monday and staying elevated through December
- Q1 (Jan-mid Feb): budget reset hangover, RPMs commonly down 25-40% from December peak
- Late Jan-April: tax and personal finance content sees a secondary demand spike
- Late July-early Sept: back-to-school bump for education, parenting, retail content
- Travel: booking-intent demand rises Jan-Feb and Sept-Nov, softens during peak summer travel weeks
What To Do In The 60 Days Before Peak Season
The work that actually determines how much you capture during Q4 happens in September, not November. By the time Black Friday traffic hits your site, your floor prices, ad unit configuration, and demand relationships should already be locked in and tested. Scrambling to make structural changes during peak week is how you either leave money on the table because you're too conservative, or break something in your setup during the highest-value ten days of the year.
Start with a floor price review using at least two years of historical auction data, not gut feel. Look at where your unfilled impressions clustered last November and December — if you were leaving 8-10% of impressions unfilled at your current price floors during peak demand, your floors were probably fine or even a little low. If your fill rate was already sitting above 96-97% heading into peak, you likely have room to raise floors 10-15% for the specific weeks around Black Friday and Cyber Monday without meaningfully hurting fill.
This is also the point to audit your actual inventory, not just your pricing. Dead ad units that stopped rendering after a template change, units running below viewability thresholds that AdX and other exchanges quietly deprioritize, and pages where ad density crept up past what your layout supports all cost you more during peak season, when every impression is worth two or three times what it's worth in March. If it's been more than six months since you checked whether your account setup is fully optimized against current policy and demand requirements, running your site through an eligibility check before peak season starts is a cheap way to catch gaps you'd otherwise only notice after losing revenue for weeks.
Finally, have the demand partner capacity conversation directly instead of assuming your existing setup will scale. If you're relying heavily on one or two demand sources, ask them directly whether their budgets and bidder capacity scale with your expected Q4 traffic increase, and if you're running server-side header bidding, load test your setup at 2-3x your normal peak concurrent traffic in October, not during the actual Black Friday traffic spike when you can't afford a timeout-related fill drop.
- Pull 24 months of auction and fill data and identify where floors created unfilled impressions during last year's peak
- Audit every ad unit for rendering, viewability, and density issues that don't show up in aggregate reports
- Confirm demand partner budget and bidder capacity scales with your projected traffic increase
- Load test header bidding and page load performance at 2-3x normal peak concurrency
- Lock in floor price and inventory changes at least 3-4 weeks before your seasonal peak begins
Why Raising Floors Too Aggressively Before Q4 Backfires
The advice you'll see repeated everywhere is "raise your floors before Q4 because demand is high, so you can charge more." That's true in direction but reckless in execution, and it's probably the single most common seasonal mistake I see publishers make. Demand being higher doesn't mean every buyer's willingness to pay went up by the same percentage. Push floors up too fast and you don't just filter out cheap bids — you filter out the mid-tier and even some premium bids that would have cleared at a slightly lower price, and header bidding auctions are unforgiving about that kind of miscalibration.
I've seen this play out on an account that raised floors 35% across the board two weeks before Black Friday, based on nothing more than "demand is higher, so we should charge more." Fill rate dropped from 94% to 81% in the first week, and because so many bidders got filtered out of the auction entirely, the remaining winning bids weren't even meaningfully higher — fewer bidders competing meant less competitive pressure driving up the clearing price. Net revenue for that two-week stretch came in lower than the prior year's Black Friday period, at a time when overall market demand was up double digits year over year.
The fix isn't to avoid raising floors — it's to raise them in smaller increments, segmented by ad unit and geography rather than blanket account-wide, and to watch fill rate and unfilled revenue loss daily during the adjustment window. A 5-8% floor increase on your top-performing units, tested for four or five days before you touch anything else, tells you far more than a single aggressive move applied everywhere at once. Peak season is not the time to be experimenting with wide swings — it's the time to make small, monitored moves on top of a strategy you already validated in a lower-stakes month.
Diversifying Demand Before You Need It
Peak season is exactly when demand concentration risk becomes visible, because it's when a capacity ceiling on any single partner costs you the most money per hour. If 70-80% of your programmatic revenue runs through one exchange, and that exchange's budgets for your vertical get exhausted by 2pm on Black Friday, you don't find out until the fill rate report the next morning — and by then you've lost your highest-value hours of the entire year.
The accounts I've moved from a Google-only or Google-heavy setup toward a broader mix of demand sources going into Q4 consistently show more stable fill during the exact hours when a single-source setup gets shaky. I've watched a news publisher take a setup that ran roughly 85% through AdX and add three additional demand partners over the summer; by the following Black Friday, unfilled impression rate during peak evening hours dropped from around 12% to under 4%, and blended RPM for the week came in 9% higher than the prior year even after accounting for general market growth.
If you haven't already gone through the exercise of diversifying your demand sources beyond Google, the two months before your seasonal peak is the deadline, not a someday project — new header bidding partners take time to onboard, get approved for your ad units, and start bidding at full capacity, and that ramp-up period eats into your peak weeks if you start too late.
- Add at least one new SSP or header bidding partner at least 6-8 weeks before peak so bidding fully ramps before you need it
- Check each partner's budget caps and category restrictions for your specific vertical, not just their general capacity
- Stagger onboarding so you can isolate which partner caused any fill or latency issue
- Keep a fallback price floor structure ready in case a new partner underperforms mid-peak
Timing Your Content Calendar To The Demand Curve
Your publishing calendar should lead the demand curve, not follow it. If you wait until November to publish holiday gift guide content, you're competing for rankings against sites that published and refreshed the same content in August and September, and even if your content is better, you won't have time to accumulate the search signals that get you ranked and indexed before the buying window closes. The traffic lag between publishing and ranking is typically 4-8 weeks for competitive commercial content, sometimes longer, so working backward from your revenue peak should set your publishing deadlines.
For a site with meaningful Q4 retail-adjacent content, that means your gift guide, best-of, and holiday shopping content needs to be published or substantially refreshed by mid-September at the latest, with a second refresh pass in late October to update pricing and availability. Tax and finance sites should be doing the equivalent work in November and December for an April peak. Travel content aimed at the January-February booking surge should be live and ranking by December. Publishing on demand's schedule instead of ahead of it is one of the more expensive mistakes I see, because it means you're monetizing traffic during the low-CPM ramp-up period instead of the high-CPM peak.
The trough months matter too, just for different reasons. January and February are when I tell most of my accounts to do their heaviest content production and technical cleanup — new URLs need time to get indexed and start ranking, and you'd rather spend that ramp-up period during a low-RPM month than burn your best traffic days later in the year still waiting for Google to fully index new pages. Treat Q1 as inventory-building time for the Q4 you're planning eleven months out, not as a quiet period to coast through.
Vertical-Specific Patterns That Change Your Playbook
Everything above is a general framework, and general frameworks get you in trouble if you apply them without checking your specific vertical against your own historical data. A gaming site's demand curve looks nothing like a personal finance site's, and a recipe blog's looks nothing like a B2B software review site's. Before you finalize any seasonal plan, pull your own RPM and fill data by month for the last two to three years and compare it against the general pattern — where it matches, trust the pattern; where it diverges, trust your data.
Finance content is the clearest example of a vertical that runs against the general calendar. While general retail demand cools through January and February, tax-related finance content sees advertiser interest climb steadily from late January through the April filing deadline, driven by tax prep software, financial advisory, and refund-related lending advertisers. I worked with a personal finance site where we restructured ad density and floor pricing specifically around this window instead of applying the same settings used for Q4 — that project is part of what's covered in a related account improvement case study, where isolating a single high-intent seasonal window from the rest of the year's settings was a meaningful part of the RPM gain.
Health and fitness content gets a real bump in the first three weeks of January tied to New Year's resolution behavior, then tapers hard by February — plan your content refresh and any promotional push for late December, not January, so you're already ranking when search volume spikes on January 1st. Parenting and education sites see two separate bumps: back-to-school in August-September and a smaller one around New Year's for family planning and organization content. None of these patterns are exotic, but I still see accounts apply a single generic "Q4 good, Q1 bad" plan across a portfolio that includes finance and health verticals that don't follow that shape at all.
The Post-Season Review Most Publishers Skip
Most publishers move from Q4 straight into "let's not think about this until next October," and that's a mistake, because the most useful data you'll get all year is sitting in your reporting right after peak season ends and you'll forget half the useful detail within a month if you don't write it down while it's fresh. Block time in the first two weeks of January specifically for a structured review — not a quick glance at total revenue, but a real breakdown of what worked, what underperformed, and what you'd change with the benefit of hindsight.
Go back through your floor price changes week by week and check whether each adjustment moved fill rate and RPM in the direction you expected. Check demand partner performance individually — which partners scaled cleanly with your traffic increase, which hit capacity limits, which had latency or timeout issues during your highest-traffic hours. Review which content pieces actually drove the incremental traffic and revenue during peak weeks versus which ones you expected to perform and didn't, so next year's content calendar gets built around what actually worked rather than what you assumed would work.
Write the answers down somewhere your team will actually find them in September, not buried in a Slack thread from January. The publishers I've worked with longest treat this debrief as the actual start of next year's seasonal plan, not an afterthought — the account that does this consistently outperforms the one that re-learns the same lessons every single Q4.
- Which floor price changes improved net revenue, and which reduced fill without a corresponding CPM gain?
- Did any demand partner hit capacity limits or show latency issues during peak hours?
- Which content pieces published ahead of peak actually ranked and converted traffic into revenue?
- Where did technical issues around page speed, ad refresh, or viewability show up specifically under high traffic load?
- What would you change about your prep timeline if you started this process one month earlier?
Pull two to three years of your own monthly RPM and fill data before you plan anything else — that's the baseline everything above depends on. Build your floor price, inventory, and content decisions around your actual seasonal curve, not a generic calendar, and put a post-season debrief on the calendar now so next year's plan starts from evidence instead of memory.
Frequently Asked Questions
Written by Ismael Inacio
Founder, Ismael Ads
15+ years helping publishers across LATAM, North America and Europe grow ad revenue through Google AdSense, Ad Manager, AdX and header bidding. Every article here comes from work inside real publisher accounts, not secondhand research.