SEO Culture
Publisher SEO
Business & Reporting
Botify News & Products
SEO Foundations
SEO News & Events
Future of SEO
E-Commerce SEO
Enterprise SEO
Content SEO
Technical SEO

Back to blog

Botify News & Products

How to Create Custom Metrics Tables for Advanced SEO Analysis & KPI Tracking

 min read
June 8, 2020
Chase Lyne
Director of Seach Strategy

There's a lot of uncertainty in SEO.

In many cases, it can seem like a black box -- we do the work, we watch performance fluctuate, but we're never positive what exactly the algorithm is doing.

On top of that, many out-of-the-box reporting and analysis solutions don't give you the full picture of what's going on. You might be able to see a snapshot of your data but can't see how it's trending over time. Or, maybe you have one tool/report where you look at your keyword performance and another to look at your crawl data, making it difficult to make connections where they may very well exist.

We need a way to not only stitch all our data together, but also the ability to see it over time. Only then will we be able to truly dig into what's happening on our sites and what we should be doing about it.

That's where custom metrics tables come into play.

What are custom metrics tables?

If you've ever wondered how the uniqueness of your pages correlates with how often they're crawled, how your page load speeds change over time (or questions like those), custom metrics tables have you covered.

Custom metrics tables are available in the Botify platform, so if you're reading this and you're not a customer, no worries! The principles we'll be covering today are still helpful for understanding how to conduct advanced SEO analysis and KPI tracking. If you are a customer though, we'll be providing step-by-step instructions to teach you how you can create your own custom metrics tables.

To understand custom metrics tables, let's look at what you can populate in the rows and columns:

  • Rows/Lines: Compare data across groups/subsets of URLs. For example, each row could show data for a different segment of your site (e.g. blog vs. PDP vs. forum), URLs at different page depths, URLs by word count, and more.
  • Columns: Any indicators available in the Botify platform (there are over 1,000!). OR a single indicator shown over time.

Multi-column tables

For example, you could end up with a table that looks like this, showing "Average of Delay First Byte Received" next to "Average of Delay Total." This type of setup is called a multi-column table, and they're great for seeing how different metrics correlate (or not) with each other:

Possible use-cases:

  • Finding your true ranking factors: SEO industry ranking factor studies typically rely on third party data and may only look at certain types of queries that may or may not be relevant to your market. You can use multi-column tables to see how any of your signals actually correlates with ranking on your unique site.
  • Joining technical & content metrics: Technical and content metrics are often siloed, but there's a ton of benefit to viewing them in tandem. For example, use multi-column tables to see how crawl frequency correlates with content change or word count.
  • Finding new correlations: With 1,000+ indicators at your disposal to compare, it's easy to experiment and find unique, unconventional metrics to compare, like "number of internal links" and "number of days with crawls from Google."

History tables

Or, you could choose a single indicator to view over time -- instead of different metrics populating the columns, it's a single metric as it appeared in your last five Botify crawls. This type of setup is called a history table, and they're great for showing progress or change:

Possible use-cases:

  • Cleanup progress: Say you're working on a project to clean up internal links to 301s. You could create a history table to track how internal links to 301s are (hopefully!) decreasing over time.
  • Content improvements: Say your content team is working on a rewrite project to make product page content more unique. You could create a history table to track content similarity over time to see if it's going down (which would mean uniqueness is going up!)
  • Subfolder migrations: Say you're migrating your site's blog from a dated structure (e.g. /blog/june/2020/blog-title) to a structure without dates (e.g. /blog/blog-title). You could create a history table to track how Google is crawling old vs. new post-migration.

How do I set up custom metrics tables?

If you're a Botify customer, you can navigate to Botify Studio and select "Metrics Tables" from the left navigation. You'll see an option to "Add New Table" -- click that.

You can also add a custom metrics table to an existing report, in which case you'd start on a report in Studio, click "add component to your report"

Then select "metrics tables" (note: you'll be taken to a new page, away from your report).

Once you've selected "metrics tables" from either your left navigation or via adding a component to your existing report, you have the option to select a multi-column table or a history table.

Then, it's time to start selecting your rows and columns.

Rows/lines come first. Remember, rows are how you'd like to group your URLs. Botify gives you two main options for clustering your URLs into groups. You can group using:

  • Saved Filters: If you've ever filtered your data in SiteCrawler and saved it, that'll show up when you click the "saved filters" option. For example, maybe you've created a "Discontinued Products" filter that pulls all URLs on your site with the H2 "no longer available" and an out of stock filter that pulls all URLs with the H2 "currently unavailable." You could select both as your rows to compare data from discontinued products against the same data for temporarily out of stock products.
  • Indicators: You can also group your URLs by existing indicators in the Botify platform. For example, selecting "indexable" will allow you to compare metrics for indexable vs. non-indexable pages.

Once you've selected what groups of your URLs you'd like to compare, it's time to select your columns -- what data points would you like to compare? You can select as many indicators as you'd like if you're creating a multi-column table.

And be sure not to miss the dropdown that allows you to select COUNT, SUM, AVG, MIN, or MAX of the URLs.

For example, if you selected "COUNT," you'd get the total number of URLs in that category. By selecting SUM, AVG, MIN, or MAX, you're able to select different indicators.

For example, I'm creating a metrics table that'll show me how many indexable and non-indexable URLs I have (which are the rows I selected), and also the average number of non-template words that are on the pages in those categories.

Which would end up looking like this:

All that's left to do is name your table! You can then access it any time from your "Metrics Tables" page.

Not sure where to start? Here are some examples.

There's so much that you can look at with custom metrics tables that it can be tough to know where to start. If that's you, here are a few examples to get your wheels turning.

"I want to know everything about H1 tags on my site and how that's impacting performance."

Maybe you've noticed from looking at Botify's standard reports that your site has some issues with H1 tags, like you have a high number of URLs categorized as "Indexable URLs with Bad H1."

That could spark your interest to run a larger H1 project to audit the quality of your H1s, see how they're affecting your overall performance, and track your progress over time as you fix those issues.

This is where saved filters can come in handy, because you can use them to create subsets or groups of your URLs for comparison.

If you're not familiar with saved filters, you can simply navigate to your URL explorer, filter your pages in any way you choose, then hit "save" for that filter to be added to your list of saved filters, which you can then use as rows in your custom metrics tables.

The benefit of saving filters is the ability to see really custom groups of your URLs. For example, you wouldn't need to create and save a filter for "URL contains 'blog'"

...if you already have your blog pages set up as a segment.

But back to H1s, you could also create tables for things like:

  • Average H1 length of URLs at certain page depths
  • Number of URLs by H1 length (e.g. how many are >120, between 90-120, etc.)
  • A trendline of H1 length by segment

And don't forget that you can pair out-of-the-box reports in Botify with your custom reports to create well-rounded dashboards! When you're in or creating a custom report, just click "add a component to your report" and you have the option of adding both to a single dashboard.

Here's an example:

"I want to know how crawl frequency correlates with ranking"

You might be interested in understanding how crawl frequency correlates with how you rank, both number of keywords and keyword position.

You can create a metrics table that groups your pages by crawl frequency (below, pages are bucketed by those that get crawled fewer than 10 days per month, those that get between 10-20, and those that get more than 20 per month).

Then, you can add columns for COUNT (to understand how many URLs are in each group), and keyword metrics like average number of keywords.

In the case of this site, we can see that the more frequently crawled pages rank for more keywords -- something you could only see by joining your log and keyword data!

"I want to see how my JavaScript code changes are trending over time."

Many SEOs work closely with their engineering teams, keeping a close eye on JavaScript and monitoring for code changes over time.

If your engineering team was, for example, changing JavaScript redirects to standard redirects, you may want to create a history table that shows you how many pages that's occurring on over time.

Final tips & closing thoughts

We hope this has given you a lot to think about when it comes to analyzing your SEO metrics! Custom metrics tables are one of the best ways to find correlations in your data and track progress over time, so we hope you check them out.

If you do, the following tips would be good to keep in mind:

  • Start with a question! It's much easier to create a custom metrics table if you've already decided what you want to see. Choose a question you'd like to answer (e.g. "how does page depth correlate with internal linking?") and then you'll have a much better idea of how to structure your table.
  • Get familiar with saved filters. Creating and saving filters is a great way to customize your metrics tables, so visit URL explorer and start narrowing down your pages in interesting ways (e.g. "show me all pages with query strings containing '2' and number of internal links is greater than 0")
  • Be really descriptive with table names. Metrics tables are great, but it can be easy to forget why you created them, especially if you have multiple. Descriptive naming is also great if you have multiple people working on your account and you want to make it easy for them to understand the report.
  • Adding in URL counts is helpful. When creating metrics tables, you have the ability to add a column that shows you the aggregate number of URLs in that category by adding "COUNT."
  • Start with platform reports to get ideas. If you're ever stuck and don't know where to start with a custom metrics table, try looking at some of Botify's default reports and top charts. If you see something interesting (e.g. 50% of my pages at a depth of 2 aren't getting any organic traffic) that could spark further analysis (e.g. let's create custom metrics reports to analyze the quality of my depth 2 pages).

So, instead of jumping between reports, not knowing the "why" behind rankings, traffic, and engagement metrics, and not being able to track your progress against specific SEO initiatives, we hope you try custom metrics tables!

Want to learn more? Connect with our team for a Botify demo!
Get in touch
Related articles
No items to show
Join our newsletter
SEO moves fast. Stay up-to-date with a monthly digest of the industry's best educational content, news and hot takes.