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.
| Pattern | What it looks like | What it means for a store |
|---|---|---|
| Seasonal | Rises and falls tied to the calendar, with a fixed period | It comes back, so you can plan for it |
| Trend | A long-term increase or decrease | The store or its market is growing or shrinking; if you leave it in the data, growth looks like a late-year peak |
| Cycle | Rises and falls without a fixed period | The economy, a competitor, a fashion; the calendar won’t predict it |
| One-off | A single spike or drop | A 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.
| Measure | p25 | Median | p75 | p90 |
|---|---|---|---|---|
| Three best months ÷ three worst months | 2.01× | 2.62× | 4.01× | 5.03× |
| Share of the three best months in the ad revenue of the months counted | 37.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.
| Month | Among the 3 best | Among the 3 worst |
|---|---|---|
| November | 53 | 12 |
| December | 50 | 12 |
| October | 31 | 16 |
| January | 31 | 20 |
| March | 27 | 18 |
| February | 22 | 33 |
| July | 17 | 38 |
| May | 14 | 29 |
| August | 13 | 40 |
| September | 12 | 29 |
| April | 11 | 33 |
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.
| Check | Result |
|---|---|
| Spend in the three worst months was below 70% of spend in the three best | 61 of 96 stores (64%) |
| Spend stayed at 70% or more, and revenue fell anyway | 35 of 96 stores (36%) |
| ROAS in the three worst months ÷ ROAS in the three best | p25 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 swing | Stores | Median growth | Grew 1.2× or more |
|---|---|---|---|
| Flat, below 2× | 24 | 1.24× | 54% |
| Medium, 2–4× | 48 | 1.03× | 33% |
| Sharp, 4× and more | 24 | 1.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.
- 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.
- 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.
- 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.
- Average the two shares and multiply by 12. That is the month’s seasonal index.
- 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.
| Month | Year 1 | Share of year 1 | Year 2 | Share of year 2 | Seasonal index |
|---|---|---|---|---|---|
| March | 170,000 | 8.5% | 204,000 | 8.5% | 1.02 |
| August | 110,000 | 5.5% | 120,000 | 5.0% | 0.63 |
| November | 300,000 | 15.0% | 372,000 | 15.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.
| Tool | What it shows | What to keep in mind |
|---|---|---|
| Google Trends | Search interest over time, on a 0–100 scale | A relative index, not a count of searches |
| Keyword Planner | Average monthly searches and an approximate volume for each month | Past 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.
| Phase | When | What to do |
|---|---|---|
| Early warning | 3–5 months before the peak | Name the peak month for each category. If buying stock takes a long time, plan the purchase now |
| Preparation | 1–2 months before | Check stock of last peak’s best sellers, bring back products that dropped out, fix feed errors, start raising campaign budgets gradually |
| Peak | The peak months | Watch stock of the best sellers. Keep the campaign structure as it is |
| Review | After the peak | Compare 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 see | What it points to |
|---|---|
| Revenue fell across all categories, spend fell by about as much, ROAS held | The budget, not demand |
| Revenue fell at comparable spend, with lower ROAS or conversion rate | Demand or performance dropped; the season does not explain it |
| A category got its usual impressions and sold less | Demand or the product |
| A category got fewer impressions | Bids, 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
- 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.
- Calculate a seasonal index for each month and compare the two years. If they disagree, plan month by month from the facts for now.
- 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.
- 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.
- Split the curve by category and look for a period when none is strong. That gap is an assortment question, not a bidding one.
- 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.
- Put “no restructuring” in the calendar for the peak weeks. A structure change in those weeks can put the bid strategy back into “Learning”.
- 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.
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.
Slow Season for Online Stores: How Deep It Goes, What Helps
Get a plan for your weakest months, such as cutting ad spend in steps instead of pausing, and see how big the revenue gap was in 96 online stores.
Ecommerce Growth Strategy: Google Ads Levers and Their Order
Get a five-step plan to grow your store's revenue from Google Ads. It starts with conversion numbers you can trust and uses data from 1,360 store-months.
Black Friday Google Ads: A Week-by-Week Plan for Stores
See when to change Shopping and Performance Max before Black Friday and what to leave alone. Two weeks out: budgets up 20–30%, target ROAS down 10–15%.
International PPC: Shopping and PMax Across Countries
See what changes when your store sells in several countries, from shipping settings in Merchant Center to ROAS targets per market, and the order to set it up.
Agency vs In-House vs Freelancer: Who Should Run Google Ads?
Find the set-up that fits your store's budget and catalogue, then check whoever runs the ads by one number: the share of budget on products that never sell.
Shopify Markets and Google Shopping Without Duplicate IDs
See how Shopify Markets and WooCommerce plugins send each country to Merchant Center, and how to stop one product splitting into two IDs and two histories.