How does my ad spend and ROI shift by season?

You spend the same on ads every month, but the return varies wildly. Some months your cost per lead is $18. Other months it is $55 for the same campaign. The difference is often seasonality, and if you do not track it, you are overspending during dead months and underspending during the ones that actually convert.

8 min read

The short answer

Your ad ROI has a seasonal pattern, and each platform can show it. Pull monthly spend and ROAS (return on ad spend) data from Google Ads and Meta Ads for the last 12 months. Compare the cost per conversion and ROAS month by month. The months with the best return are where you should concentrate budget. Below, we show you how.


Why flat monthly ad budgets waste money during seasonal shifts

You set a $5,000/month Google Ads budget in January and left it running all year. In March, your cost per lead was $22 and you generated 227 leads. In July, your cost per lead was $61 and you generated 82 leads. Same budget. Same campaigns. Wildly different results.

The difference was not your ads. It was your market. In March, your target audience was actively searching. Competition for keywords was moderate. Click-through rates were high. In July, search volume dropped, competitors were bidding up the same shrinking pool of clicks, and your audience was distracted.

If you had known this pattern from the prior year, you could have shifted $2,000 from July into March. Same annual budget. Significantly more leads. But most business owners never compare ad performance month by month because the data lives in multiple platforms and nobody consolidates it.


What a seasonal ad performance analysis actually shows you

When you compare your ad spend and ROI across 12 months, you are looking for:

  • High-ROI months. Which months give you the lowest cost per lead or highest ROAS? These are the months where you should increase budget because your market is most responsive.
  • Low-ROI months. Which months see your cost per lead spike or ROAS drop? These are the months where you should either reduce spend or shift to cheaper channels like email and organic content.
  • Platform-specific patterns. Google Ads and Meta Ads often have different seasonal curves. Google search ads depend on search volume, which is intent-driven. Meta ads depend on attention availability and competition for impressions. One platform might perform well in a month where the other does not.
  • The lag between ad spend and revenue. You spent $5,000 on ads in March, but the revenue from those leads may not close until May. Tracking this lag by month helps you understand the true ROI window.

How to find your seasonal ad ROI in Google Ads (step by step)

Google Ads has a built-in time comparison feature that makes monthly analysis straightforward:

  1. 1
    Go to Campaigns → set date range to 12 months

    In the Google Ads dashboard, click the date picker in the upper right. Set the range to the last 12 months. Under “Compare,” you can optionally select Previous period or Previous year.

  2. 2
    Go to Reports → Predefined reports → Time

    Click Reports in the top menu, then Predefined reports (Dimensions) Time → Month. This gives you a row for each month with spend, conversions, cost/conversion, and conversion value.

  3. 3
    Add ROAS and cost per conversion columns

    If not already showing, click the Columns icon and add Conv. value / cost (this is your ROAS) and Cost / conv. Sort by month to see the seasonal trend.

  4. 4
    Download and chart

    Click Download and export as CSV or Google Sheets. Create a bar chart with spend on one axis and ROAS on the other. The months where the bars diverge the most are your best and worst ROI windows.

Total time: about 10 minutes for the report. Add 10-15 minutes for charting. This only covers Google Ads. You will need to repeat this for every other platform.


How to find your seasonal ad ROI in Meta Ads Manager (step by step)

Meta Ads Manager lets you break down performance by month, but the steps are slightly different:

  1. 1
    Open Ads Manager and set date range

    Go to Ads Manager. Click the date picker and select the last 12 months. Make sure you are viewing at the Campaign level or Account level for totals.

  2. 2
    Add the Breakdown → Time → Month

    Click the Breakdown dropdown above your campaign table. Select By Time → Month. This splits each campaign row into monthly sub-rows.

  3. 3
    Check columns for ROAS and cost per result

    Click Columns → Customize Columns. Add Purchase ROAS (or Website Purchase ROAS) and Cost per result. These show your return and cost efficiency per month.

  4. 4
    Export and combine with Google Ads data

    Click Export and download as CSV. Now you have two spreadsheets (Google + Meta) that you need to combine into one view to compare platform performance by month. This is where most people give up.

Total time: about 10 minutes per platform, plus 20-30 minutes to combine, normalize, and chart the data in a spreadsheet. If you also run ads on LinkedIn, TikTok, or other platforms, add another 10 minutes each.


What it takes to track seasonal ad ROI across platforms

Pulling this data once is doable. Maintaining a monthly cross-platform seasonal view is where the real work lives:

  • Each platform reports differently.Google Ads calls it “Conv. value / cost.” Meta calls it “Purchase ROAS.” LinkedIn has its own metrics. Normalizing these into one consistent view takes manual work every single time.
  • Platform-reported ROAS is often inflated. Both Google and Meta claim credit for conversions that may have happened organically or through another channel. Your true ROAS requires comparing ad spend to actual revenue in your accounting software, not just what the platform says.
  • You need 12+ months of data per platform. If you switched platforms mid-year or changed campaign structures significantly, comparing months becomes unreliable.
  • Ad data does not connect to your P&L. You know you spent $5,000 on ads in March. But did the leads from those ads become $40,000 in collected revenue by May? Only your accounting data knows, and nobody is matching it back to the ad data automatically.

Or see your seasonal ad spend and true ROI automatically, every month

Bottomline connects to your Google Ads and Meta Ads accounts alongside your QuickBooks or Xero data. Every month, it compares your ad spend to your actual collected revenue (not platform-reported conversions) and shows you the seasonal pattern across all platforms in one view.

Ad spend vs. true ROAS by month (trailing 12 months)
Mar 2026Spent $5,2006.2x
Oct 2025Spent $5,8005.8x
Nov 2025Spent $6,4005.1x
Sep 2025Spent $4,9003.9x
Jan 2026Spent $5,0002.1x
Jul 2025Spent $5,0001.4x

ROAS calculated from actual collected revenue, not platform-reported conversions. Jul and Jan spend yielded negative returns when compared to true revenue.

Seasonal budget recommendation

Based on trailing 12-month ROAS patterns, shifting $2,000/month from Jul-Aug into Feb-Mar would yield an estimated 40% more leads at the same annual budget.

From a real Bottomline report. True ROAS is calculated by matching ad spend to revenue collected in your accounting software, not platform attribution.

The key difference: Bottomline calculates your true ROAS by comparing what you spent on ads to what you actually collected in revenue, not what Google or Meta tell you they drove. Platforms routinely inflate their numbers. Your accounting software does not.

Get your answer. Every month, automatically.

Connect your accounts in 5 minutes. Your first report arrives within 24 hours.

Works with QuickBooks, Stripe, HubSpot, Google Ads, and more
© 2026 Bottomline