Vazante

Meta Ads reporting

Meta Ads reporting: metrics, a template, and how to automate it

What a Meta Ads report needs by objective, a weekly and monthly template, the mistakes that distort numbers, and four ways to build it, from export to Claude.

Also available in: Português · Español

Meta Ads reporting is the habit of turning what Ads Manager shows you into a short document that answers three questions: how much did we spend, what did we get for it, and what do we change next. A good report fits on one screen, uses the metric that matches the campaign objective, compares against a fair baseline, and ends with a decision. Everything else, from the dozen breakdowns to the placement charts, is supporting material. This guide covers what belongs in the report, how to structure it weekly and monthly, the mistakes that quietly distort the numbers, and the four ways to build it, from a raw export to asking Claude a question.

What good Meta Ads reporting contains

If you only read this section, here is the whole thing. A Facebook Ads reporting document, whatever the tool, needs these seven pieces:

PieceWhat it answersExample
Period and comparisonWhen, and compared with whatSep 1 to 7 versus Aug 25 to 31
SpendHow much went outUS$ 4,200
Primary resultWhat the campaign was built to get210 leads
Cost per primary resultWhether the result was cheap or expensiveCPL of US$ 20
One efficiency metricWhy the cost movedCTR, CPM, or conversion rate
The changeWhat moved versus the comparison period, and whyCPL up 18% after the audience was widened
The decisionWhat you do nextPause ad set B, move US$ 50 a day to ad set A

Seven rows. If your current report has forty, the client is reading the seven and skipping the rest, or skipping all of it.

The one rule that makes everything else easier: one primary metric per objective. A lead campaign is judged on cost per lead. A sales campaign on ROAS or cost per purchase. The rest of the metrics explain the primary one; they do not compete with it.

Meta Ads metrics by objective, and what to ignore

Meta reports more than a hundred metrics on every campaign. The trap is treating them as equally important. Pick by objective.

Lead campaigns

Primary: leads and cost per lead. Whether "lead" means an on-Facebook instant form, a pixel lead event on your landing page, or a WhatsApp conversation started, decide once and write it at the top of the report. Cost per lead changes completely depending on that choice, and mixing definitions is the most common reason two reports on the same account disagree.

Supporting: click-through rate, cost per click, and landing page conversion rate (leads divided by link clicks). These three tell you where the CPL went wrong. Low CTR is a creative problem. High CPC with a fine CTR is an auction problem. Good clicks and few leads is a landing page or form problem.

Ignore in the client report: reach, impressions, frequency, video plays. Keep them in your own working view. A client paying for leads does not need to know the frequency was 2.1.

Sales campaigns

Primary: purchases, purchase value, and ROAS. Cost per purchase is useful when average order value is stable; ROAS when it is not.

Supporting: add-to-cart rate, checkout-initiated rate, and the ratio between them. A campaign with lots of carts and few purchases is telling you about the checkout, not the ad.

Ignore: link clicks as a headline. A cheap click that never adds to cart is not cheap.

One warning: ROAS in Ads Manager uses Meta's attribution, which is not the same as revenue in your store's back end. Report both when you can, and label which is which.

Traffic campaigns

Primary: link clicks and cost per link click, or landing page views and cost per landing page view when the pixel is installed. Landing page views are the better of the two because they exclude people who clicked and left before the page loaded.

Supporting: CTR, CPM, and any on-site metric you can attach (time on page, scroll depth, next action).

Ignore: reach. A traffic campaign optimized for clicks will reach whoever clicks, and that number says nothing about the quality of the visit.

Awareness and video campaigns

Primary: reach, frequency, and cost per thousand people reached. For video, ThruPlays and cost per ThruPlay, plus the retention curve if the platform gives it to you.

Supporting: CPM, and the split between paid reach and organic engagement on the Page if you run both.

Ignore: clicks and leads. If the campaign was built for reach, judging it on leads punishes it for doing its job.

The metrics that only decorate the report

Every objective has its own noise. Across all of them, these rarely change a decision:

  • Post engagements on a conversion campaign. Reactions on a lead ad are not leads.
  • Relevance-style diagnostics presented as results. They are hints for the media buyer, not outcomes for the client.
  • Impressions on their own. Without reach and frequency next to them, impressions are just a bigger number than reach.
  • Every breakdown at once. Age, gender, placement, device, region, hour. Put one in the report when it explains a change. Otherwise keep them for the analysis, not the deliverable.

Weekly and monthly: a Meta Ads report template

Weekly and monthly reports are different documents with different readers. The weekly one exists so the person running the account decides. The monthly one exists so the person paying understands. Using the same template for both is why weekly reports run to six pages and monthly reports get read on a phone in 40 seconds.

The weekly report, for whoever runs the account

One screen, ten minutes to build, read on Monday morning. Structure:

  1. Period: last 7 days versus the 7 before, with the same weekday alignment.
  2. Account totals: spend, primary result, cost per result, with the change versus last week.
  3. Campaign table: one row per active campaign with spend, result, cost per result, and the change. Sort by spend.
  4. What moved and why: three lines at most. "CPL up 22% on campaign X; frequency passed 3 on the retargeting ad set; creative fatigue."
  5. Decisions this week: pause, scale, new creative, budget shift. Each with the number that justifies it.
  6. Watch list: anything you are not acting on yet but expect to next week.

As a table, a weekly Meta Ads report template looks like this:

CampaignSpendLeadsCPLVersus last weekDecision
Lead gen, broadUS$ 1,40082US$ 17.07CPL down 9%Add US$ 30 a day
Lead gen, lookalikeUS$ 90038US$ 23.68CPL up 31%Refresh creative
RetargetingUS$ 40025US$ 16.00FlatKeep
AccountUS$ 2,700145US$ 18.62CPL up 4%

The figures are illustrative. The point is the last two columns, which most templates leave out.

The monthly report, for whoever pays

Same numbers, different framing. The monthly report answers "was it worth it," not "what do we tweak."

  1. Headline: spend, primary result, cost per result, against the target you agreed on. One sentence.
  2. Trend: the last three to six months side by side. A single month is a data point; three is a direction.
  3. What worked: the two or three campaigns or creatives that earned their budget, with numbers.
  4. What did not, and what you did about it. Clients trust the report more when the misses are in it.
  5. Next month's plan: budget, tests, and the result you expect, written so it can be checked against next month's report.
  6. Appendix, optional: the campaign table and the one breakdown that explains the month (placement, region, age).

If the account also runs organic on the Page or Instagram, add one line on how organic and paid moved together. Do not let that section grow past a line; it is a different report. Client reporting for Meta Ads has its own rules about frequency and format, and client reporting for small agencies covers them.

The mistakes that make a Meta Ads report lie

Most bad reports are not built from bad data. They are built from correct data handled carelessly. Four errors account for most of the damage.

Averaging averages

Say you have three campaigns with CPLs of US$ 10, US$ 20, and US$ 60. The account CPL is not US$ 30. If the US$ 10 campaign spent US$ 5,000 and the US$ 60 campaign spent US$ 300, the real account CPL sits near US$ 11. Always recompute from totals: total spend divided by total leads. The same applies to CTR, CPM, and ROAS. Never average a ratio column in a spreadsheet; sum the numerator and the denominator, then divide.

Ignoring the attribution window

Meta counts a result inside a window after the click or the view. Change the window and you change the lead count for the same spend. The number in your report should use the same attribution setting every period, and it should be the one the client sees in Ads Manager. If a connector or a template pulls with a different setting, the report and the platform will disagree, and you will spend an afternoon explaining why.

A related trap: results keep arriving after the period closes. A monthly report pulled on the 1st shows fewer conversions than the same period pulled on the 8th. Pull monthly reports a few days after the month ends, and say so in the report.

Wrong date ranges

Three versions of this one:

  • Time zone. The ad account has a time zone. Your laptop, spreadsheet, and BI tool may have another. A day boundary in the wrong place moves spend across days and, at month end, across months.
  • Partial periods. "This month so far" versus "all of last month" is not a comparison. Compare complete periods or same-length windows.
  • Weekday alignment. A Monday-to-Sunday week against a Wednesday-to-Tuesday week differs for reasons that have nothing to do with the campaign.

Comparing without context

CPL went up 25%. Compared with what, and why? A report that states the change without the cause is an alarm, not a report. Before writing "CPL up," check the five usual suspects: a budget change, an audience change, a creative change, a landing page or form change, and seasonality. One of them usually explains it. If none does, say that too.

Related: comparing a campaign in its first three days against one in its third month. Learning phase, small samples, and different creative ages make that comparison meaningless. Note the campaign's age next to the number.

Four ways to build a Meta Ads report, and what each one costs you

The tool matters less than the discipline above. But the tool decides how much of your week the report eats, so here are the four approaches most media buyers choose between, with a rough time cost for one account on a weekly cadence. The hours are a working estimate from years of doing this, not a benchmark; measure your own.

ApproachSetupEvery weekBreaks whenBest for
Ads Manager export into a spreadsheetAn afternoon30 to 60 minutesYou take a week offOne account, one reader
BI tool fed by a connectorA weekend, plus the connector fee10 minutes, plus fixesA field name changesMany sources, an analyst on the team
Ready-made dashboardUnder an hour5 minutesYou need a metric it does not exposeSeveral accounts, no build time
A conversation with ClaudeUnder an hourThe time it takes to askThe question needs data the connector lacksAnyone who wants an answer, not a chart

1. Ads Manager export into a spreadsheet

Set up a saved report in Ads Manager with the columns and breakdown you need, export it, and paste it into a sheet with a template on top. It is free, it works, and every media buyer has done it. The costs are the ones nobody counts: the 40 minutes every week, the formulas that break when a column shifts, and the fact that the report is a static file. When the client asks "and what about placements," you export again.

Where it fits: one account, one reader, a media buyer who likes spreadsheets.

2. A BI tool fed by a connector

Looker Studio, Power BI, or Google Sheets, with a data connector pulling from the Meta API on a schedule. The build takes a weekend and the result looks professional. Maintenance is the hidden cost: connectors rename fields, the API retires a metric, and the chart that worked in May shows a blank in June. The connector itself is a subscription. Supermetrics alternatives compares that category, both the pipes and the reporting platforms.

Where it fits: many data sources beyond Meta, and a team with someone who owns the dashboard.

3. A ready-made dashboard

A tool where you authorize your ad account and the report already exists: spend, results, cost per result per account and per campaign, a chart by day, preset periods. No build, no formulas. The trade-off is flexibility. A prebuilt dashboard shows what its maker decided to show; if your report depends on a metric or breakdown it does not expose, you are back to the export.

Where it fits: several accounts, several clients, no time to build, and metrics that match what the dashboard offers.

4. A conversation with Claude

The newest approach, and the one that changes the job the most. You connect your ad accounts to a service that exposes them to Claude, then ask in plain English: "which campaign had the cheapest lead in the last 7 days?" or "compare this week's spend with last week's, by campaign." Claude pulls the real numbers and answers. No template, because the question is the template. The cost is a Claude plan that supports connectors plus the connector service. The limit is that Claude only knows what the connector can fetch.

Where it fits: whoever wants the answer rather than the dashboard. Media buyers who run accounts daily and want to decide faster. Agency owners who want to check an account without opening Ads Manager.

The paid ads reporting page shows how approaches three and four fit together in one product.

How to automate Meta Ads reports without automating the mistakes

Automated Facebook Ads reports are a good idea as long as the thing being automated is correct. Automating a bad report just delivers the wrong number on time. In order:

  1. Fix the definitions first. What counts as a lead, which attribution setting, which time zone, which currency. Write them down. Automation multiplies whatever you feed it.
  2. Automate the pull, not the judgment. The data should arrive without you. The three lines of "what moved and why" should not; that is the part the client pays for.
  3. Set the cadence per reader. Weekly for the person deciding. Monthly for the person paying. Nobody needs a daily email that says the same thing as yesterday.
  4. Alert on the primary metric, not on everything. "CPL above US$ 25 on any ad set" is worth an interruption. "CTR changed" is noise.
  5. Keep a manual check. Once a month, reconcile the automated total against Ads Manager for the same closed period and the same attribution setting. If they differ, stop and find out why before the client does.
  6. Automate delivery last. Scheduled emails and shared links come after the numbers are trusted, not before.

Automation removes the pull and the layout. It should never remove the sentence that says what you are going to do about it.

What changes when the report becomes a conversation

A dashboard answers the questions its builder anticipated. A conversation answers the question you have right now. That sounds small until you notice how much of Meta Ads reporting is follow-up: the report says CPL rose, and the next four questions are which campaign, which ad set, since when, and whether it is the creative or the audience. In a dashboard, each of those is a filter you build. In a conversation, each is a sentence.

Three practical differences:

The breakdown is on demand. You do not decide in advance whether the report needs a placement split. You ask when the number looks odd: "break down campaign X by placement for the last 14 days." If the answer is boring, it never enters the report.

The comparison is whatever you need. "This week versus the same week last month" or "the last 3 days versus the 3 before the budget change" are ordinary requests, not custom date-range engineering.

Reading and acting sit in the same place. If the report exists so that someone pauses an ad set, the distance between reading the number and pausing the ad set is the whole point. With a tool that supports write actions, that distance is one confirmed message.

The limits are real too. A conversation is not a deliverable; the client still wants something to open. It depends on the connector's coverage. And the person asking still has to know what to ask, which is why the sections above on metrics and mistakes matter more, not less, when the report becomes a chat. Claude for paid ads covers what Claude can read and do once connected.

Where to start this week

Take your current report and cut it to the seven pieces in the first table. Write the lead definition, the attribution setting, and the time zone at the top. Recompute every ratio from totals. Then pick the approach that fits your number of accounts and readers. If you run several Meta accounts and the report exists so someone can act, connect one account, ask the three questions your client asked last week, and check the answers against Ads Manager. If they hold up, you have your Monday back.

And if the plan on the table is a business intelligence project instead, the cost nobody budgets is in Power BI for marketing.

Two difficulties that come before the report itself: finding which ads are actually running inside the table, in how to see your active ads, and what to do when the panel will not open at all, in is Meta Ads down.

Frequently asked questions

What should a Meta Ads report include?

Period and comparison, spend, the primary result for the objective, cost per result, one efficiency metric that explains the cost, what changed and why, and the decision. Everything else is supporting material.

How often should I send a Meta Ads report to a client?

Weekly for whoever runs the account and decides what to change, monthly for whoever pays. They are different documents: the weekly one is a table with decisions, the monthly one is a trend with a plan.

Why does my Meta Ads report not match Ads Manager?

Usually a settings gap, not a bug: a different attribution window, a different time zone, a partial period, or a different definition of lead. Match all four to what Ads Manager shows before you look for anything else.

Can I automate Meta Ads reports?

Yes. A connector into a BI tool, a ready-made dashboard, or a Claude connector all remove the manual export. Fix the definitions first, automate the pull, and keep the written judgment manual.

What is the best Meta Ads reporting tool?

It depends on how many accounts and readers you have. One account: a spreadsheet works. Many sources and an analyst: a BI tool with a connector. Several accounts and no build time: a ready-made dashboard. If you want to ask questions and act, a Claude connector such as Vazante.

Read next