Meta Ads provides a solid foundation of basic metrics like ROAS and conversion rate, but savvy marketers know that true optimization lies in the details.
Are your clicks translating into quality visits? Is your audience reach expanding or stagnating? These questions demand more nuanced data.
Below are six advanced key performance indicators (KPIs) that Meta Ads doesn’t readily offer out of the box but which can dramatically elevate your paid social strategy.
1. Awareness KPI: Net new reach
The first missing KPI to add to your Meta Ads strategy should focus on audience reach and saturation.
The key question: Is your top-of-funnel approach attracting people unfamiliar with your brand?
This is crucial for most businesses, especially B2B accounts with longer sales cycles.
Without fresh prospects, you risk depleting your funnel by repeatedly targeting the same audience, leading to diminishing returns.
To answer this question, you will want to tweak how Meta Ads shows your data.
Let’s start with frequency. It’s the average number of times each user saw your ad. The formula is:
Frequency = Impressions / Reach
Frequency is a powerful KPI for tracking audience saturation, but it comes with two major caveats:
Frequency is an average. And just like every average metric, it hides discrepancies that can destroy your campaign results. This means you always need to implement frequency caps. Unfortunately, Meta Ads does not always offer such options and you will need to contort your campaign settings to prevent such issues. But that’s a topic for another article.
It’s bound to a predefined time frame. So you need to break it down to understand its full story:
Last 3 or 7 days for an immediate snapshot.
Last 14 or 30 days for your audience’s recent experience.
Last 90 or 180 days to get a smoothed-out perspective.
Etc.
This means Meta Ads could easily improve Ads Manager by providing frequency columns with such default time frames. But you have to manually do it. Or do you?
Meta Ads offers an alternate metric called “frequency (cumulative).” However, it’s not available as a column in Ads Manager: you can only get it if you hover over a campaign (ad set or ad) and click on “view charts” and then “customize.”
Here is an example of a retargeting campaign with a budget that’s probably too big for a relatively small audience:
Looking at frequency over time, it looks OK. We’re reaching unique users about once a day.
However, the overall number should trigger some questions: why is it so high (17 impressions in about a month)? If we switch to frequency (cumulative), this is what we see:
You never want to see such a frequency (cumulative) curve in most scenarios because:
You don’t want to tap into the same audience indefinitely, resulting in a dried-up top-of-funnel.
You want to anticipate such a scenario and avoid reactive behavior. That way, you avoid seeing performance go up and down and up and down again.
The question is: how?
Unfortunately, Meta Ads does not provide an easy way to do this: frequency (cumulative) sits at the campaign level only, and its sister KPI, reach (cumulative), too.
Also, it can’t be found in the regular data exports (API, Ads Report, etc.).
You’ll need to create a custom KPI called net new reach to accomplish this. Here’s the formula:
Net New Reach = Reach(s→y) – Reach(s→m)
With:
Reach(s→y) being Reach from your start date (“s”) to yesterday (“y”)
Reach(s→m) being Reach from your start date to a middle point in time (“m”)
This lets you know how many new users you reached who were not exposed to your ads before “m.” net new reach has two advantages:
Unlike frequency (cumulative), it adapts to your granularity needs up to the account level. You can export its root component (Reach) relatively easily through the API, the user interface, etc.
It shows your latest net new reach, which allows for anticipation. If it falls week over week (for example), you know you want to act to avoid saturating your audience
Now, there’s still one caveat with net new reach. You need to make it a recurring exercise (weekly?) and build a nice table out of that to make it digestible. Fortunately, since it’s recurring, it means it’s automateable.
I suggest exporting Reach(s→y) weekly to your database of choice and running a script to subtract Reach(s→y) from the previous week’s Reach (s→y) (that is, Reach(s→m), from the perspective of that new week).
That way, you will end up with a table like the one below, with “s” being your start date and “y” being yesterday, the date of the data pull.
Once that table is ready, you only need to graph net new reach and/or analyze it weekly to know whether you have a top-of-funnel saturation challenge.
In the table above, since the net new reach is much lower than reach (s→y), it indicates that we’re not bringing in enough new users to our top-of-funnel tactics and/or have a disproportionate budget compared to our audience size.