Skip to content
GetProfit

Seasonal Demand in Ecommerce: Measure It and Plan Google Ads

See how seasonal online stores really are, with data from 96 stores, and what to do in Google Ads and the catalogue before, during and after the peak.

Almost every online store is seasonal, and the swing is large. In GetProfit data on 96 stores (July 2025 – June 2026), the three best months brought a median 2.62 times the ad revenue of the three worst, after we took out each store’s growth. They also took 41.7% of the revenue we counted, against 25–30% for an even spread. Measure your season over two full years, prepare Google Ads and the catalogue 1–2 months before the peak, keep the campaign structure fixed during it, then compare with last year.

Our Google Ads budget guide covers how much to spend on ads in general and how to change it safely. The November sales week in Shopping and Performance Max (PMax) has its own guide: Black Friday and Q4.

What is seasonal demand?

Seasonal demand is the part of your sales that rises and falls at the same time every year. Seasonality comes from the weather, holidays and gift-giving, the school year and the sales events the whole market runs. The months when demand for your products is highest are your peak season.

Forecasters separate the season from other patterns. The textbook by Hyndman and Athanasopoulos (Forecasting: Principles and Practice, section 2.3) defines the trend, seasonal and cyclic patterns and notes that seasonality always has a fixed and known period. The table adds a fourth pattern, the one-off: it is what makes a single year of data misleading.

PatternWhat it looks likeWhat it means for a store
SeasonalRises and falls tied to the calendar, with a fixed periodIt comes back, so you can plan for it
TrendA long-term increase or decreaseThe store or its market is growing or shrinking; if you leave it in the data, growth looks like a late-year peak
CycleRises and falls without a fixed periodThe economy, a competitor, a fashion; the calendar won’t predict it
One-offA single spike or dropA viral post, a supplier outage; in one year of data it looks exactly like a season

If you advertise, one more force shapes your curve: your own spend. Ad revenue, the conversion value your ads report, moves with demand and with the money you put into ads. A weak August may be the market, or it may be the budget you cut in August. You need to tell the two apart at every stage of the season, from measuring it to reviewing it.

Almost every store has a season, and the swing is large

We measured the season in 96 online stores that advertise on Google (GetProfit data, July 2025 – June 2026). For each store we took monthly ad revenue and counted only completed months. Before ranking the months, we removed each store’s own growth over the year, a step called detrending, so that a store that simply grew does not look seasonal.

Measurep25Medianp75p90
Three best months ÷ three worst months2.01×2.62×4.01×5.03×
Share of the three best months in the ad revenue of the months counted37.1%41.7%49.2%59.5%

GetProfit data, 96 stores, July 2025 – June 2026. p25, p75 and p90 are the values that a quarter, three quarters and nine in ten of the stores are at or below. We measured the swing after removing each store’s growth trend; the share uses the revenue the ads reported. Each store had 10 to 12 completed months, so with an even spread any three months would bring 25–30%.

A small swing is rare. Of the 96 stores, 92 had a gap of at least 1.5× between their three best and three worst months. In 72 stores (75%) the gap was at least 2×, in 36 (38%) at least 3× and in 10 (10%) at least 5×.

These numbers have limits: they cover one seasonal cycle, and one year cannot tell a season from a one-off event. Revenue here means the revenue your ads report, not the store’s total sales. To enter the sample, a store needed at least 10 completed months, 100 conversions and 10 months with revenue. To see where your store sits in this range, and why a flat year is not the goal, read how seasonal your online store is.

Which months are peak and which are weak?

November and December most often land among a store’s three best months; July and August most often land among the three worst. The table counts how many of the 96 stores had each month among their three best or three worst.

MonthAmong the 3 bestAmong the 3 worst
November5312
December5012
October3116
January3120
March2718
February2233
July1738
May1429
August1340
September1229
April1133

GetProfit data, 96 stores, July 2025 – June 2026, months ranked after removing each store’s growth trend. June is not shown: for most stores the data stops partway through June 2026, and we counted only completed months.

Three things stand out:

  • November is the most common peak, but not a universal one. It was among the three best for 53 stores, so 43 of the 96 had their three best months elsewhere. A plan copied from the market calendar may not fit your year.
  • January is a strong month for many stores. It was among the three best for 31 stores and among the three worst for 20.
  • Summer is the most common trough. August was among the three worst for 40 stores and July for 38. The summer slump in ecommerce explains why that happens and how much of it is the market.

For the month-by-month picture, see peak months for online stores. Holidays and sales events also differ by country: our ecommerce marketing calendar lists dates and Google Ads lead times for Ukraine, Czechia and Slovakia.

A store’s curve is also the sum of its categories. Two categories with opposite seasons can cancel each other out in the total, so the store looks flat while each category swings hard. Seasonality by category shows how to split the curve and read each part.

Is the slow season demand, or your own budget cut?

Both, in our data. ROAS, ad revenue divided by ad spend, falls in the weak months, which means demand drops. Most stores, 64% in our data, also cut their spend in those months, which makes the drop deeper.

CheckResult
Spend in the three worst months was below 70% of spend in the three best61 of 96 stores (64%)
Spend stayed at 70% or more, and revenue fell anyway35 of 96 stores (36%)
ROAS in the three worst months ÷ ROAS in the three bestp25 0.54 · median 0.70 · p75 0.86

GetProfit data, 96 stores, July 2025 – June 2026.

If the weak months were weak only because of a smaller budget, each unit spent there would earn about as much as at the peak. The ratio would then sit near 1. In the median store it is 0.70: each unit spent in the trough brought back 30% less than at the peak. So the demand drop is real.

The weak months also cost a noticeable share of the year. Add up how far each month fell below the store’s median month. For the median store, that shortfall came to 10.8% of the year’s ad revenue (p25 7.0%, p75 14.7%, p90 21.6%; same 96 stores, measured after removing the growth trend).

Our data cannot split that shortfall between demand and budget cuts. A store may cut spend because demand has already fallen, so cause and effect can run either way: this is an observation, not an experiment. It does show that the off-season is more than a market fact: in 64% of stores, spend falls with it. The slow season playbook for online stores covers what to do in those months and what doing nothing costs.

Should you try to flatten the year?

Not as a goal in itself. In our data, a flat year is not linked to faster growth. Neither is a category that sells in the store’s weak months.

The test needs stores with at least two significant categories, each with 5% or more of revenue and at least 30 conversions over the period. Of the 96 stores, 42 qualified. In 17 of them (40%), one category already had at least one of its three best months among the store’s three worst. In the other 25 (60%), nothing covered the trough.

We compared revenue in the last three months of the period with the first three. Stores with such a category grew by a median 1.16×, stores without one by 1.22×.

Splitting all 96 stores by the size of their swing gives the same answer:

Seasonal swingStoresMedian growthGrew 1.2× or more
Flat, below 2×241.24×54%
Medium, 2–4×481.03×33%
Sharp, 4× and more241.46×58%

GetProfit data, 96 stores, July 2025 – June 2026. Growth is revenue in the last three completed months against the first three.

The most seasonal stores grew fastest. Read this as a description, not a rule: growth here compares two ends of one year, so the shape of the season itself affects it. One more limit applies to the category test: it splits stores by Google’s top-level product category, which is coarse, and 54 of the 96 stores did not qualify. For a store with one main category, a counter-seasonal category means entering a new niche rather than adjusting the shelf it already has.

The data supports something narrower. The trough is real and costs the median store 10.8% of the year’s ad revenue. In 60% of multi-category stores there is also a seasonal gap: a period when none of the categories is strong.

Whether new products for those months pay off depends on the products, not on how smooth the curve looks. Counter-seasonal products walks through that decision.

How do you measure your own store’s seasonality?

Build a seasonal index on two full years. The index compares each month with an average month: 1.0 is average, 1.5 is half as much again, 0.6 is 40% below.

  1. Take 24 completed months. Export ad revenue, spend and conversions by month from Google Ads. Leave out the current month: it is still running and would look weaker than it is.
  2. Mark the months when the ads barely ran. A month with almost no spend shows a pause in your ads, not a lack of demand. Leave such months out, or keep the mark and read them with care.
  3. Turn each month into a share of its own year. Divide the month’s revenue by the year’s total. This removes the difference in level between the two years, so growth from one year to the next does not inflate either year’s peak.
  4. Average the two shares and multiply by 12. That is the month’s seasonal index.
  5. Compare the two years before you trust the result. If both years put the peak and the trough in the same months, plan around them. If they disagree, there is no stable season yet: plan month by month from the facts.

If your store grew fast within a year, the later months still look stronger than they are, so detrend the series before step 3. Classical decomposition works the same way. As Hyndman and Athanasopoulos describe it (Forecasting: Principles and Practice, section 3.4), it averages the detrended values for each season and assumes the seasonal component repeats from year to year. Step 5 checks that assumption.

Example store, not client data.

A home textiles store took 2,000,000 in ad revenue in its first year and 2,400,000 in its second.

MonthYear 1Share of year 1Year 2Share of year 2Seasonal index
March170,0008.5%204,0008.5%1.02
August110,0005.5%120,0005.0%0.63
November300,00015.0%372,00015.5%1.83

November’s index is (15.0% + 15.5%) ÷ 2 × 12 = 1.83, so the month brings 83% more than an average month. The 20% growth between the years does not inflate it, because each month is a share of its own year’s total. Both years put November high and August low, so the store can plan purchasing and budget around them.

Why two years? A single deep month looks the same whether it repeats or not. That is also the main limit of our own 96-store figures: they cover one cycle. How to calculate a seasonal index gives the full method step by step.

The portal’s assortment and seasonality section runs this comparison on 24 completed months of your account. It shows revenue by month for both years, with the payback line (ROAS) on top, and assigns one of five states:

  • Confirmed by two years
  • The peak repeats, the baseline shifted between years
  • One year only — not confirmed yet
  • No pattern visible — last year doesn’t repeat
  • Too little data — analysis impossible

The portal also assigns a state to each notable category, because a store can have no season while a category inside it does.

How do you check demand before you have your own history?

Use Google’s demand tools. Once you have two years of your own sales, rely on them and keep Google’s tools as a second opinion.

ToolWhat it showsWhat to keep in mind
Google TrendsSearch interest over time, on a 0–100 scaleA relative index, not a count of searches
Keyword PlannerAverage monthly searches and an approximate volume for each monthPast searches on Google Search, not a forecast of your sales

The Google Search Central Blog (Introducing the Google Trends API (alpha)) notes that on the Trends website, results are scaled from 0 to 100 every time you request data. Read a Trends curve as a shape, not as a number of searches. Google Trends for ecommerce shows how to check a Trends curve against your own sales.

The Google Ads API documentation (Generate historical metrics) describes its keyword data as similar to the Keyword Planner tool. It lists average monthly searches over the past 12 months and an approximate search volume for each month. A separate article explains how to read Keyword Planner’s monthly volumes for seasonal products and when to trust your sales history instead.

A simple forecast multiplies last year’s shape by this year’s level. If this spring runs 10% above last spring and the shape has held so far, that forecast puts the coming months about 10% above last year as well. Demand forecasting for an online store covers how to tell a lasting trend from a seasonal spike and how to plan with no history at all.

What should you do before the peak?

Start early and move in steps. We split a season into four phases, from an early warning months ahead to a review afterwards.

PhaseWhenWhat to do
Early warning3–5 months before the peakName the peak month for each category. If buying stock takes a long time, plan the purchase now
Preparation1–2 months beforeCheck stock of last peak’s best sellers, bring back products that dropped out, fix feed errors, start raising campaign budgets gradually
PeakThe peak monthsWatch stock of the best sellers. Keep the campaign structure as it is
ReviewAfter the peakCompare with the same months last year and find the reason for any gap

You know your own purchasing lead times. The phases give the order of work; set the timing by your supplier’s delivery dates.

Why grow the campaigns early. Smart Bidding learns from conversions. Google’s help on the learning period (Duration of the learning period for campaigns and what affects it) says its length depends on the number of conversions, the length of the conversion cycle and the bid strategy. It adds that recalibrating typically takes 1–2 conversion cycles.

Campaigns that grow a month or two before the peak meet it with fresh data. For a November peak, that means starting in late August or September. If you are about to launch ads from zero, read about starting ads before your season.

The step two weeks out. The portal’s rule for the run-up: about two weeks before the season, raise daily budgets by 20–30% and lower the target ROAS by 10–15% at the same time. Outside the season, the portal’s limit is 20% per budget change. The pre-season step is bigger, and you plan it ahead of demand rather than in reaction to a result. A month-by-month Google Ads budget plan shows how to turn your seasonal index into a budget for every month of the year.

Short events have their own tool. Seasonality adjustments are an advanced tool that tells Smart Bidding about expected changes in conversion rates for upcoming events, according to the Google Ads API documentation (Create seasonality adjustments). Google calls them ideal for short events of 1–7 days and warns that they may not work as well over more than 14 days at a time. They fit a three-day sale, not a two-month season.

Keep seasonal products in the feed. Between seasons, pause a product or mark it out of stock rather than deleting it and adding it back. Google’s Merchant API reference (ProductAttributes) lists two attributes that help. The pause attribute temporarily pauses a product in all ads locations, including Shopping ads; the expiration date stops a product from showing on a set day. Keep the availability in the feed in line with the landing page, especially when peak stock runs out fast.

Seasonal products in Shopping and PMax covers when seasonal products should enter the feed and campaigns, and whether they need a campaign of their own. To decide what to stock up on from last season’s ad data, and how to clear leftovers afterwards, see seasonal inventory planning with ad data.

What should you leave alone during the peak?

The campaign structure. Google’s help (Duration of the learning period for campaigns and what affects it) lists what puts a bid strategy into “Learning”: a new or reactivated strategy, a changed setting, and campaigns, ad groups or keywords added or removed. Google adds that after such a change the campaign needs some time to calibrate towards the new goal. A rebuild in the peak weeks can send the most valuable traffic of the year through that phase.

The portal’s rules for the peak are short:

  • Keep the campaign structure as it is. Prepare it before the season.
  • Don’t raise the target ROAS. The target is a bid strategy setting, and Google lists a setting change among the triggers of “Learning”.
  • Keep a category running through the quiet weeks just before its peak. A quiet patch before the peak says little about the category.
  • Watch stock of last peak’s best sellers. A product that runs out stops selling at the moment it is most wanted.

How do you review the season afterwards?

Compare the same months with last year and split the change into demand and budget. Line up revenue, spend, ROAS and conversions for the same months of both years, then read the pattern:

What you seeWhat it points to
Revenue fell across all categories, spend fell by about as much, ROAS heldThe budget, not demand
Revenue fell at comparable spend, with lower ROAS or conversion rateDemand or performance dropped; the season does not explain it
A category got its usual impressions and sold lessDemand or the product
A category got fewer impressionsBids, budget or the feed

If the peak was weaker than last year’s, check each category’s impressions first: they tell a demand problem from a problem with bids, budget or the feed.

Judge over a month, not a week. Google recommends evaluating Smart Bidding over longer periods with at least 30 conversions, such as a month or longer, and 50 conversions for Target ROAS (About Smart Bidding).

Our guide to telling demand from your ad budget gives the detailed method and the traps of comparing one year with another. Before you close the review, write down three things: the peak’s best sellers, what ran out and when, and the week demand started to build. That list is next year’s early warning.

What to do this month

  1. Export 24 completed months of ad revenue, spend and conversions by month. Two cycles are the minimum to tell a season from a one-off.
  2. Calculate a seasonal index for each month and compare the two years. If they disagree, plan month by month from the facts for now.
  3. Find your peak month and count back from it. Allow 3–5 months for stock, 1–2 months for growing the campaigns and two weeks for the pre-season budget step.
  4. Look at last year’s weakest months: how far you cut spend and what ROAS you still got. If spend fell much further than ROAS did, part of the trough may be your own cut.
  5. Split the curve by category and look for a period when none is strong. That gap is an assortment question, not a bidding one.
  6. List last peak’s best sellers and check their stock and feed status. Fix any problems now, while there is time before the run-up.
  7. Put “no restructuring” in the calendar for the peak weeks. A structure change in those weeks can put the bid strategy back into “Learning”.
  8. Book the post-season review for the week after the peak. The details fade fast.

How much of the catalogue reached sales — and what the rest is doing. The portal walks the whole catalogue through the stages — from the feed to sales, shows where the budget goes by product group, and answers whether you really have a season. The portal changes nothing without your consent.

Break down your catalogue →

Frequently asked questions

How many months of data do I need to trust my seasonality?

Two full years. One year shows a shape, but a single deep or strong month looks the same whether it repeats or was a one-off. With two years you can check that the peak and the trough fall in the same months before you plan around them.

Does a sharp season hold a store back?

Not in our data. Stores with a sharp season, 4× or more between their three best and three worst months, grew by a median 1.46× over the period. Flat stores grew by a median 1.24× (GetProfit data, 96 stores, July 2025 – June 2026). This is a description of one year, not proof that a sharp season helps.

Can I use seasonality adjustments for my whole peak season?

Google’s documentation points the other way. It calls them ideal for events of 1–7 days and warns they may not work as well over more than 14 days at a time. Use them for a short sale where you expect conversion rates to change, not for a season of several weeks.

Sources

  • Create seasonality adjustments — Google Ads API documentation: an advanced tool that informs Smart Bidding of expected conversion-rate changes; ideal for events of 1–7 days, may not work as well over more than 14 days at a time. Last updated 30 September 2026. Checked 2 October 2026.
  • Duration of the learning period for campaigns and what affects it — the reasons for the “Learning” status; learning length depends on conversions, conversion cycle and bid strategy; typically 1–2 conversion cycles. Checked 2 October 2026.
  • About Smart Bidding — evaluate over periods with at least 30 conversions, such as a month or longer, 50 for Target ROAS. Checked 2 October 2026.
  • ProductAttributes — Merchant API reference: the pause attribute pauses a product in all ads locations, including Shopping ads; expiration date; availability values. Last updated 23 September 2026. Checked 2 October 2026.
  • Introducing the Google Trends API (alpha) — Google Search Central Blog, 24 July 2025: on the Trends website results are scaled from 0 to 100 for every request. Checked 2 October 2026.
  • Generate historical metrics — Google Ads API documentation: similar to the Keyword Planner tool; average monthly searches over the past 12 months and approximate monthly search volume. Last updated 30 September 2026. Checked 2 October 2026.
  • Forecasting: Principles and Practice (3rd ed.), section 2.3 Time series patterns — definitions of trend, seasonal and cyclic patterns; seasonality has a fixed and known period. Checked 2 October 2026.
  • Forecasting: Principles and Practice (3rd ed.), section 3.4 Classical decomposition — seasonal indices from averaged detrended values; the assumption that the seasonal component repeats from year to year. Checked 2 October 2026.
  • GetProfit data: 96 stores, July 2025 – June 2026 — seasonal swing, share of the three best months, peak and trough months, spend and ROAS in the weakest months, size of the shortfall, counter-seasonal categories and growth.
  • GetProfit portal methodology — the four phases of a season, pre-season budget and target ROAS step, rules for the peak, demand-versus-budget review.