How to Create an Easy-to-Use Seasonality Report

We’ve all been there. You’ve put in late hours on your most difficult campaign, and are ready to present the results of your hard work to your senior leadership. You sit down to start working on the report, only to find that your traffic, sales or leads are down, even after all those extra hours of work. Frustrated, you start poking around your analytics platform, searching desperately for that obscure metric that will help to show a win.

Before you get too far into it, though, take a step back. Your wins might be staring you right in the eyes, if you have the right data to showcase it.

Most businesses experience seasonal ebbs and flows; some experience them very drastically. Some of my clients fall into the latter category, and until we had the brilliant idea (well, until my boss had the brilliant idea) to take a pull together a report on the seasonal trends in traffic, leads/sales and revenue (where applicable), so we would have a better way to showcase how our wins were actually big wins and some challenges were to be anticipated.

The best part is that putting together a usable seasonality report is actually really simple. Follow the steps below to have a report that your team can rely on for years to come:

Step 1: Determine your date range and eliminate variables

Focus on the short-term; the variable that we’re focusing on is seasonality, so we want to eliminate other variables like old websites, major sales or other information that might skew our data. You may need to create a separate view in Google Analytics in order to do this. Make sure that the last date in your date range is the last day of a month so that you don’t have partial data.

Step 2: Pull your data


This one’s simple: set your date range, select “Month” in the time frame and export! You’ll want to do this both for traffic (Audience > Overview) and Leads (Conversions > Goals > Overview) or Sales and Revenue (Conversions > Ecommerce > Overview), as well as for any other metrics that you’re interested in tracking.

Because Analytics will export using the “Month Index” placeholder (the export will look like the image on the left below), you’ll need to re-label your months and years; we recommend using one column for months (Jan, Feb, etc.) and a second for years:



Step 3: Line up your data

Once you have everything exported, copy-paste all of the data (traffic, goal completions, transactions/revenue) into the same excel workbook so that everything is in one table:


Step 5: Analyze!

Now that we’ve got usable data, copy-paste (plain text) and create a new table; sort your columns from largest to smallest and highlight top performing months and poor performing months using conditional formatting or manual formatting (we like green for good months and red for poor months):


Step 6: Rinse and Repeat

You’ll probably want to repeat this reporting for any channel that you’re responsible for; we usually focus on paid search traffic and organic traffic, but social, display and email are also important channels to focus on, especially if you’re spending money in those areas.

Step 7: Refine

If your brand is particularly affected by seasonality, you may want to pull this same report on a weekly basis to track which weeks of the year are better than others. If your website is an ecommerce platform, you’ll probably want to pull the data by day of the week to determine which days it performs better than others.

All of this data can be instructional not just when you’re putting together reports, but also when you’re working on strategies for your brand; in months that are historically slow, you’ll want to focus more on low-funnel initiatives like increased search ad spend or contests/giveaways, and in months that are historically strong you can focus on more high-funnel efforts like content, social posting and programmatic buying.

The options for this template are endless, and so are the benefits. Happy Optimizing!

Ryan Durling

Ryan Durling is Digital Project Manager at 451!

Leave a Reply

Your email address will not be published. Required fields are marked *