The report lands on the first Tuesday of the month. It has a cover page, a summary, a chart of impressions climbing, a table of click-through rates by ad, a slide on "audience insights," and a closing page of next steps. It is tidy and it looks like work. And when you close it, you still cannot answer the one question you opened it to answer: did Meta pay for itself last month?
We have already written about why reports end up like that, and what it tells you about the people sending them, in How to Tell If the People Running Your Ads Are Any Good. This article is the other half. It is the page itself: the seven lines a monthly Meta ads report needs, where each one has to come from, and four quirks of Meta's own reporting that let a perfectly accurate report still send you to the wrong conclusion.
None of it requires you to become an analyst. It requires you to know what to ask for.
Each Line on a Meta Ads Report Has One Honest Source
A useful monthly report fits on one page, and it has seven lines. Before we walk through them, notice the column on the right in the diagram below, because it matters more than the lines themselves. Every number on the page has exactly one place it should come from: Meta's own reporting, your own business records, or the judgment of whoever runs your ads. Trouble starts when a number that should come from your records is quietly filled in from Meta instead.
- Spend against plan. What you agreed to spend, what was actually spent, and the reason for any gap. Source: Meta, checked against the charges on your card.
- Customers, as you count them, with Meta's count beside it. Source: your records first, Meta second.
- Cost per customer, by campaign. Spend divided by your count, not Meta's. Source: both, combined.
- Where the money went. The top campaigns and ads by spend, including anything paused or deleted during the month. Source: Meta.
- Ads made, live and retired. How many new ads went out, how many are running, how many were switched off. Source: Meta.
- Anything that changed how the numbers are counted. The attribution setting, and any measurement change Meta made during the month. Source: the person running your ads.
- What changed, why, and what gets tested next. Source: the person running your ads.
Everything else, the click-through rates, the CPMs, the frequency charts, is diagnosis. It is useful when something on the page goes wrong and you need to know why. It does not belong on the page that tells you whether things went right. We explain the difference between numbers that decide and numbers that explain in Four Numbers Decide Your Meta Ads. The Rest Just Explain Them.
Your Customer Count Comes From Your Records, Not From Meta
Lines two and three carry the whole report, so they deserve the most care in how they are laid out.
Meta can tell you how many leads it recorded, how many purchases its pixel saw, and what it thinks each one cost. What it cannot tell you is how many of those people answered the phone, showed up, or paid. That lives in your booking system, your CRM, your point of sale, or the spreadsheet your office manager keeps. So the customer line should show two numbers side by side: the count from your records, and the count Meta reports for the same month. Then it should state the gap in plain words.
A gap is normal. Meta counts in ways your records cannot see, and your records include customers who never touched an ad. What is not normal is a report that shows only Meta's number and lets you assume it is the same thing as yours. If the person running your ads does not have access to your customer numbers, that is the first thing to fix, and it is a ten-minute conversation, not a technology project. We walk through matching leads to customers with the exports you already have in Meta Reports Your Cost Per Lead. AI Can Turn Your Exports Into Cost Per Customer.
Cost per customer, line three, then follows from your count, campaign by campaign. A campaign with cheap leads and no customers will look like a winner on every other page of a typical report. On this line it looks like what it is.
Deleted Ads Vanish From the Report. Their Spend Stays in the Total.
This is the quirk most owners have never heard of, and it is written plainly in Meta's own help pages.
When you look at ads or ad sets in Ads Manager, the default view shows only the ones that have not been deleted. Meta's troubleshooting page says it directly: your ad set or ad metrics may not add up to the numbers at the campaign level, because your reports are not counting deleted ad sets or ads. The money those ads spent is still in the campaign total. The rows that explain where it went are not on the screen.
Picture how that plays out in a monthly report. A campaign spent $3,000. The table of ads underneath it adds up to $2,400. Somewhere in the month, $600 went to ads that did badly and were deleted rather than paused. Nobody had to hide anything. The default view did it.
The numbers in that example are illustrative, but the mechanism is Meta's. The fix is one filter. Meta's own instruction is to use the Delivery filter to include deleted ads, and a report built that way shows every dollar against an ad. Ask for line four to be built from that view, and ask for one more habit while you are at it: losing ads get paused, not deleted, so their history stays visible.
A related quirk catches people comparing levels of the account. Reach counts unique people, so it does not add up across ad sets. Meta's example: if one ad set reached persons A and B, and another reached B and C, each ad set reached two people, and the campaign reached three. A report that adds up reach across ad sets is counting some of your customers twice.
The Results Column Adds Up Things That Are Not the Same
Meta defines Results as "the number of times your ad achieved an outcome, based on the objective and settings you selected." Read that slowly, because the meaning of the column changes with every campaign.
In a lead campaign, a result is a lead. In a campaign built to get engagement, a result might be a like, a comment or a share. In a campaign optimized for landing page views, it is a page view. All of them land in the same column, under the same word.
So a summary row that says "Results: 412" across an account can be adding 380 post engagements from a boosted post to 32 leads from the campaign that actually matters. Read quickly, it looks like a strong month. Read carefully, the business got 32 leads.
The rule for the report is simple. No line on the page says "results." Every number names its event: leads, booked calls, purchases, completed forms. If a campaign is running for awareness or engagement on purpose, it can have its own line with its own label, and it does not get added to anything that is meant to represent customers.
Meta Changed the Ruler in March. Your Report Should Say So.
Meta changes how it counts more often than most owners realize, and when it does, the numbers in your report move even though nothing in your business did. We explain what each attribution window actually counts in That Attribution Setting Is Not a Report. It Is an Instruction.. Here we only need two dates from this year.
January 12, 2026. Meta stopped returning the 7-day view and 28-day view attribution windows through its reporting API. Those were the long windows that credited an ad with a sale when someone saw it without clicking and bought up to a week or four weeks later. Any report or dashboard that pulled them simply stopped getting them.
March 2026. In an announcement dated March 3, Meta said that click-through attribution for website and in-store conversions would "exclusively include link clicks," rolling out later that month. Before the change, a sale could count as a click-through conversion if the person had liked, shared or saved the ad. After it, only a click through to your site counts as a click. The likes, shares and saves moved into a separate bucket Meta renamed engage-through attribution. In the same announcement, Meta shortened an engaged view on a video ad from 10 seconds to 5.
Meta was clear that "there will be no change to how advertisers are billed." You paid the same for the same ads. What changed was how many conversions got counted as clicks, so a click-based conversion number could drop the month the change reached your account while your actual sales held steady.
That is why line six exists. A report should print the attribution setting it used, and it should carry a footnote any month Meta changes how it counts. Without that, a measurement change gets explained as a performance change. Sometimes that means a good month of work gets blamed for a drop it did not cause. Just as often it runs the other way, and a lucky counting change gets presented as progress.
A Report That Shows Only the Winning Ad Hides What It Cost to Find It
Most reports have a slide for the best ad of the month. It is usually a good ad. It is also the least informative thing on the page, because it tells you nothing about how the account is being run.
Line five asks three counting questions instead. How many new ads went out this month? How many are running now? How many were retired, and why? Meta now picks winners largely on its own, and it rewards accounts that keep feeding it genuinely different ads, which we explain in Stop Hunting for Your One Winning Meta Ad. An account where the answer is "zero new ads for three months" is coasting on one idea until it wears out, no matter how good that one idea looked on the slide.
Then name the ad carrying the account: the one taking the largest share of spend, with its cost per customer from line three beside it. If that ad is also the one that has run the longest, the next report should show something new being tested against it.
If you sell online and run sales campaigns, there is one more useful split here. Meta can break your results into new audience, engaged audience and existing customers, once you define those groups in your ad account settings. It shows how much of your budget is being spent on people who already buy from you, which we cover in Meta Removed the Cap on Ads to Your Existing Customers. Build It Back.. Meta offers that breakdown for sales campaign reporting, so a business running lead campaigns will not see it.
Meta Will Email You Its Own Numbers Every Month. Nobody Can Edit That Copy.
Here is the habit that makes every other line easier to trust, and almost nobody sets it up.
Meta's Ads Reporting tool can send a saved report by email on a schedule. Anyone with admin, advertiser or analyst access to the ad account can set one up: open the report in Ads Reporting, turn on the scheduled email from the report settings, add your own address, and save. From then on, Meta sends you its own numbers on its own schedule, untouched by anyone in between.
You do not need anything elaborate in it. Spend, the result you care about named by its event, and cost per result, by campaign, for last month. When the monthly report arrives from whoever runs your ads, lay the two side by side. The spend should match to the dollar. The Meta-reported results should match too, unless the report uses a different attribution setting, in which case line six should already say so.
This is not about suspicion. Good operators welcome it, because it means you are reading the same numbers they are. It only works if you have your own access to the account, which you should have regardless. If you do not, that is the conversation to have before anything else in this article.
Your Meta Ads Report Is Yours to Design. Most Owners Never Ask.
Most owners accept whatever report format arrives in month one and live with it for years. You do not have to. The report is for you, and asking for a specific page is a completely normal request. Send the seven lines to whoever runs your Meta ads before the next report is due:
- Spend against plan, matched to the card charges.
- Customers by our count, with Meta's count beside it and the gap explained.
- Cost per customer, by campaign, from our count.
- Where the money went, built with deleted ads included.
- Ads launched, running and retired, and the ad carrying the account.
- The attribution setting used, and any Meta measurement change this month.
- What changed, why, and what gets tested next.
Then set up Meta's scheduled email to yourself, so you have your own copy to compare against.
The first month will take your agency or freelancer a little longer to put together. Every month after that, it takes you ten minutes to read, and you will know whether Meta paid for itself. That is the entire job of a report.
It is the page we would want if it were our money. If you would rather hand the whole thing to a team that does this all day, have a look at how we run Facebook and Instagram advertising. And if you would rather keep running it yourself, take the seven lines with you anyway. They work on anyone's report, including your own.




