Facebook Ad Reporting Metrics (2026)

The Facebook ad metrics that matter: CTR, the video retention chain, CPM, attribution, and cost per result, read as a weekly report that names your next ad.

Updated June 2026 · Likit Sae Lee, CTO

Facebook Ad Reporting Metrics (2026)
Quick answer

Facebook ad reporting comes down to a handful of numbers read weekly at the ad level: CTR and the video retention chain (is the creative earning and holding attention), CPM and frequency (what reach costs and when it wears out), and cost per result and ROAS (is it profitable). Benchmarks give scale, like the 1.71% average CTR for traffic campaigns in WordStream's 2025 data, but the decision metric is cost per result judged against a ceiling you derive from your own margin. Every other metric is diagnostic: it tells you what to make next, whether that is a new hook, a new angle, or a variation of an aging winner. The cadence that compounds is read, decide, make the next ad.

Monday morning, Ads Manager open, seven days of spend on the screen and a quiet question underneath it: is this working, and what do I do about it? Most reporting advice answers with a glossary, and a glossary does not make decisions. The read that does is short. Six numbers, each answering one version of the same question (what should you make next), and a closing move no dashboard makes for you: deciding which ad to kill, which winner to vary, and which new angle goes live before the next read.

Set up the weekly readReporting goes wrong before a single number is read, because the default Ads Manager view shows whatever Meta last showed you, at whatever level you last clicked, from a column menu that runs to hundreds of metrics. The discipline that separates a useful report from a data dump is subtraction, not addition: the marketers who get value out of Ads Manager are not the ones who learned all of those columns, they are the ones who deleted the ones that cannot change a decision. So build the view once. Set the date range to the last 7 days against the previous 7, drop to the ad level (creative decisions happen per ad, not per campaign), then cut the columns to six numbers: link CTR, CPM, frequency, cost per result, purchase ROAS if you sell online, and 3-second video plays so you can compute hook rate. Save it as a named preset and the Monday read starts in one click.Cadence belongs in the same decision. Do this deep read once a week, and keep daily glances for anomalies only: spend spikes, delivery stopping, a disapproval. Reacting daily to cost per result is mostly noise chasing, because conversion data arrives in lumps and ad sets still learning swing wildly. Weekly is frequent enough to catch fatigue before it gets expensive, and slow enough that the numbers are real.Six is not arbitrary. Each answers one version of the same question, what should you make next, and a column that cannot change what you make next is decoration. (If you are still getting campaigns live, start with how to run a Facebook ad and come back when there is a week of data to read.)Read at the right level: campaign, ad set, adBefore the columns matter, the level matters, because the same report answers a different question at each of the three tiers, and reading the wrong one sends you fixing the wrong thing. A campaign rolls up everything beneath it, so a campaign-level number answers one question: is the objective and the overall budget working. An ad set answers a different one: is this audience, placement, and optimization event working, since that is what an ad set controls. An ad answers the last: is this specific creative working, because the ad is where the hook, the format, and the offer live. A campaign that looks fine can hide a dead ad set; an ad set that looks fine can hide a dead ad. So you read top down to triage (which campaign is off) and then drop to the ad level to act, because creative decisions, the ones this whole report exists to drive, only resolve per ad. Reporting at the campaign level and trying to fix creative from there is the most common way a weekly read produces motion without a decision.Build and save the custom columnsThe six-column view is something you build once and reuse forever, so it is worth doing properly. Click Columns above the table and pick Customize columns to open the picker, which lists every available metric grouped by category. The shipped presets (Performance, Engagement, Conversions) are decent starting points, but none of them is the lean six, so start from Performance and prune. The two ratios that read video, hook rate and hold rate, are not on the menu at all, because Ads Manager does not ship them: build them yourself under the Custom Metrics tab, where you define a metric as a formula over existing fields. Hook rate is 3-second video plays divided by impressions; hold rate is ThruPlays divided by 3-second plays. Save each with a clear name, then name and save the whole column set as a preset (for example "Weekly creative read") so it loads in one click every Monday. One distinction trips people up here: Columns decides which metrics show as the vertical headers, while the Breakdown menu (covered below) splits each of those metrics horizontally by placement, age, or time. Columns is what you measure; Breakdown is how you slice it.CTR and the retention chain: is the creative earning and holding attention?Before any number means anything, get the three denominators straight, because every cost metric sits on top of them. Reach is how many distinct people saw the ad, impressions is how many times it was shown, and frequency is the ratio that connects them:MetricWhat it countsFormulaReachDistinct people who saw the ad(Meta counts this directly)ImpressionsTotal times the ad was shown(Meta counts this directly)FrequencyAverage views per personimpressions / reachOnce those are separated, the cost metrics stop lying to you. CPM is priced per 1,000 impressions, not per person, so when frequency climbs you are paying to show the same faces again and spend rises even though reach is flat.With the denominators clear, start at CTR, clicks divided by impressions, the cleanest signal of whether the creative makes a promise people want to act on. But CTR is three different columns in Ads Manager wearing one name, and applying a benchmark to the wrong one is the single most common reporting error, because the three can differ by a factor of two on the same ad:ColumnWhat it countsWhen to use itCTR (all)Every click: likes, comments, shares, profile taps, link clicksAlmost never for creative reads, it flatters the numberLink click CTRClicks on the link specifically, including ones that stay on-platformThe default for judging whether the creative drove intentOutbound CTROnly clicks that left Meta for your siteThe strictest read, useful when on-platform clicks are noiseUse link CTR for the weekly read, and reach for outbound CTR when you suspect engagement-bait clicks are inflating the link number. An ad far below your account's normal link CTR has a creative problem, full stop. What CTR cannot tell you is what happens after the click. Two representative angles mark the poles: a hard offer like Nihonskin's dark scar repair kit at RM369 instead of RM569 earns clicks from people ready to buy, while a curiosity tease like Rumah Idaman Anda's RM1,000 a month that returns RM3,000 in passive income pulls plenty of clicks from people who were never going to commit. Both can post a strong CTR while sending very different traffic. So CTR opens the read but never closes it.For video, CTR is too blunt: it skips the part where most attention dies, inside the video. Read the retention chain instead, three ratios that localize where viewers leave:StageWhat it measuresFormulaHook rateDid the opening stop the scroll3-second plays / impressionsHold rateDid the hooked viewer stayThruPlays / 3-second playsCompletionDid they reach the endvideo completions / impressionsA ThruPlay, in Meta's definition, counts a video watched to completion for clips under 15 seconds, or watched for at least 15 seconds when the clip is longer, so on a 30-second ad hold rate is effectively "made it past 15 seconds." Read the chain top to bottom and it names the frame that failed: a weak hook rate indicts the opening; a healthy hook with a collapsing hold rate means the opening over-promised and the body bored people, so fix the middle, not the thumbnail; strong hold but weak completion usually means the call to action arrives too late. Meta publishes no target bands here, so resist any borrowed "good is 30%" number and benchmark each video against your own library.Orient against benchmarks, do not aim at themA single industry average is a weak target and a decent sanity check: it tells you whether a number is plausible, not what to aim at, because your offer, audience temperature, and creative move these ranges more than your industry does. WordStream's 2025 data, from US campaigns running April 2024 through June 2025, gives a usable orientation grid:MetricAll-industry averageLow endHigh endCTR, traffic1.71%Auto repair 0.80%Shopping & gifts 4.13%CPC, traffic$0.70Shopping & gifts $0.34Finance & insurance $1.22Conversion rate, leads7.72%Furniture 3.77%Restaurants 18.25%Cost per lead$27.66Restaurants $3.16Dentists $76.71Two cautions. These are US figures and auction prices vary by country, so an account spending in ringgit, rupiah, or euros should read the shape (which sectors run hot or cheap), not the dollar. And retargeting routinely clears these averages while cold prospecting sits below them, so an account-wide number against an account-wide benchmark hides the split.CPM: what reach costs, and the lever you actually holdCPM is what 1,000 impressions cost, mostly set by forces outside the ad: your audience, your country mix, and the season, all priced by an auction that keeps getting more crowded. Facebook ads could reach 2.28 billion people in January 2025 per DataReportal (a count that includes some duplicate and non-human accounts, so it overstates the true headcount, but the point holds: the pool is finite while more budgets bid into it every year). The cost of that crowding shows up in two independent trackers. eMarketer reported US CPMs rising year over year on every major network in 2025, with Instagram averaging $9.46 in Q2 2025 and Facebook below it, and Gupta Media's running tracker put the blended Meta CPM at about $8.19 across 2025 with sharp seasonal spikes, peaking near $13 in the Black Friday week. So a CPM that drifts up on its own is usually the market, not your ad, and a high CPM paired with a profitable cost per result is just an expensive audience worth keeping. The season matters as much as the audience: a CPM that doubles in late November is the Q4 auction, not a broken creative.But "the market" is not the whole story, and the part you control has a name in Ads Manager. Once an ad clears roughly 500 impressions, Meta scores it on three relevance diagnostics: quality ranking, engagement rate ranking, and conversion rate ranking, each rated above average, average, or below average against everything competing for that audience. The auction discounts delivery for ads people respond to, so a below-average ranking tells you, ahead of the cost showing it, which lever is dragging your CPM up: a weak quality ranking points at the creative or audience fit, a weak conversion ranking points past the ad at the offer or landing page. That is how a stronger ad buys the same impression for less.Frequency is the wear-out meter next to CPM, and its trend matters far more than its absolute value. Climbing week over week while CTR slides and cost per result creeps up is creative fatigue, the most common way a winning ad dies. The audience did not change its mind about your product. It finished watching that ad.Cost per result and ROAS: the money readCost per result is the decision metric: spend divided by whatever the campaign optimizes for, judged against what that result is worth to you. The judgment gets harsher as results get more expensive; WordStream's 2025 data put the average Facebook cost per lead at $27.66, up about 21% year over year, and Search Engine Land noted that even after the jump Facebook's lead stayed cheaper than Google's, whose CPL averaged $70.11 over the same window. For ecommerce, ROAS adds the dimension cost per result misses, order value: revenue attributed to the ads divided by spend.One naming snag before you compare anything. "Cost per result" is a chameleon: it reports the cost of whatever the ad set optimizes for, so the very same column reads as cost per purchase on a Sales campaign, cost per lead (CPL) on a Leads campaign, and cost per landing-page view on a traffic test. That is not the same as CPC, which is cost per click regardless of whether anything converted, and a campaign can show a cheap CPC and a ruinous cost per result at once when clicks are plentiful but buyers are not. CPA (cost per acquisition) is the umbrella term for the converting version. The error to avoid is comparing two ad sets' "cost per result" when they optimize for different events, because a $2 cost per landing-page view and a $20 cost per purchase are not the same metric with different luck, they are different metrics. Read the small label under the number, and only compare like with like."Worth to you" is the phrase that does the work, and most advice leaves it abstract. Make it a number by deriving your own ceiling before the campaign runs:Max cost per result = (gross margin per conversion) x (share of margin you will spend to acquire)Fill in your own figures: a brand keeping $60 of margin on a $100 bundle, willing to spend a third of that margin to win the order, sets its ceiling at $20 per purchase, and that ceiling is what every cost-per-result reading is judged against. The same logic runs through ROAS: one divided by your blended margin is the break-even ROAS, and your target sits above it by the profit you want left over. Either way the benchmark is your unit economics, not an industry average, which is why two accounts can read the identical $30 cost per lead as a win and a disaster. The spread is easy to see in real ad examples: an aesthetic clinic like Bloom Clinic can afford to open with a free Sculptra treatment worth over RM3,000 because one converted patient repays it many times over, while a store selling low-ticket serums lives or dies on a lead ceiling a fraction of that size.Both metrics carry caveats. Cost per result is noisy at small volumes, so a day with three conversions tells you almost nothing; wait for enough results that one lucky day cannot swing the number. ROAS depends on the attribution window (covered next), lags for fresh ads, and never exactly matches your store analytics. And neither explains itself: a bad cost per result with a strong CTR points past the ad, at the offer or landing page, while a bad cost per result with a weak CTR points straight at the creative.Attribution: which conversions you are even countingEvery cost per result and ROAS reading is conditional on a setting most people never open: the attribution window, which decides how long after seeing or clicking an ad a conversion still counts. It is the single biggest reason a reported ROAS confuses people. Click-through attribution credits a conversion to an ad someone clicked; view-through credits one to an ad someone saw but did not click, then converted later. Since the iOS 14.5 privacy changes Meta tightened the menu: the long 28-day click and 7-day view windows are gone, click attribution now caps at 7 days and view at 1 day, so the practical choices are 1-day click, 7-day click, and whether to add 1-day view.WindowCredits a conversion whenBest for1-day clickSomeone clicked, then converted within 24 hoursImpulse buys, lead forms, the tightest causal read7-day clickSomeone clicked, then converted within 7 daysConsidered purchases people sleep on1-day viewSomeone saw it (no click), then converted within a dayGauging upper-funnel influence, easy to over-creditThe same fifty sales can look like two different campaigns depending on the setting. A 7-day-click window scoops up conversions that finished days after the click and reports a flattering ROAS; switch to 1-day click and the slow converters drop off and the ad looks worse though nothing changed. Neither view is wrong. Pick the window that matches your sales cycle, then hold it constant, because a ROAS is only comparable against another measured the same way.One more counting caveat: the "drop to the ad level" instruction quietly breaks in two automated setups. With dynamic creative, Meta auto-assembles a pool of headlines, images, and videos, so a single "ad" is really many and the ad-level row blends assets you never compared on purpose; read the asset breakdown instead, where per-image and per-video performance lives. With Advantage+ campaigns and campaign budget optimization, Meta moves spend across ad sets on its own, so a winning creative can look starved simply because the system parked budget elsewhere this week. The spine holds, but take the headline cost knowing the algorithm, not your split test, decided how much each piece got shown.Breakdowns: the same number, sliced where the answer hidesAn ad-level row gives you one blended figure per metric, and a blend hides the split that would change your decision. The Breakdown menu, sitting next to Columns, is the fix: it takes any metric in your view and divides it along a dimension, so "1.4% link CTR" becomes "2.1% in Feed, 0.7% in Reels." The menu groups into three families, and each answers a different question:Breakdown groupSplits performance byThe decision it drivesBy DeliveryPlacement, age, gender, country or region, platform, impression deviceWhere to keep spending and what to reformatBy ActionThe type of result and where it happenedWhich result a blended cost is actually buyingBy TimeDay of week, hour of dayWhen to schedule, when to daypartingThe placement breakdown earns its slot first, because it converts a wrong decision into a right one. A video can read as a loser at the ad level while a placement split shows it winning in Facebook Feed and dying in Instagram Reels, which is not a creative to kill but a creative to recut vertical for Reels: a format fix, not a verdict on the idea. Platform (Facebook versus Instagram) and impression device (a $40 phone versus a flagship) tell the same kind of story about who you are actually reaching. The age-by-gender cross-tab is the highest-value demographic slice, because a flat account average routinely hides one profitable pocket, Males 25 to 34 converting at half the cost of everyone else, that a broad campaign found on its own and you would never have targeted by hand. By Time, day and hour, catches the opposite: spend bleeding into the 2am hours that never convert.But a breakdown is only as trustworthy as the metric you break down, and here the post-iOS signal gap draws a hard line through the menu. Meta's Aggregated Event Measurement aggregates conversions from iOS users who opted out of tracking, and aggregation is the whole point: it deliberately strips the demographic and placement detail off those conversions to protect privacy. The consequence for reporting is specific. Upper-funnel metrics (impressions, reach, CTR, hook rate) are observed per impression, so breaking them down by placement or age or gender is reliable. Conversions and ROAS are not, because a meaningful share of them cannot be tied back to a placement or an age bracket at all, so a placement-by-ROAS table is built on partial data and will mislead you if you trust it like a click table. The practical rule writes itself: break clicks and views down freely and act on what you see, but treat a broken-down purchase or ROAS number as a directional hint, confirm the pattern at the ad-set level before you move budget on it, and never kill a placement on its conversion split alone.The decision pass: read, decide, makeThis is the part no dashboard does for you. Go back through the numbers, but this time each one is an instruction:Low hook rate: remake the first three seconds. New opening shot, new first line, same everything else.Hook holds but hold rate collapses: the opening over-promised. Fix the middle of the video, not the thumbnail.Hook and hold fine but CTR weak: the promise is the problem. Test a new angle or sharper offer, not a new color grade.Strong CTR, poor cost per result (or a weak conversion ranking): the ad writes a check the landing page does not cash. Align the claim with what the click lands on, or retire the angle.Everything healthy but frequency climbing: the winner is aging. Spin variations now, same angle in new formats, before the decay shows up in cost.CPM jumped on its own: check the calendar, the audience, and the relevance diagnostics before blaming the ad, and let cost per result make the final call.Notice that almost every instruction ends in making something. Audience tweaks and budget nudges have their place, but Meta automates more of that every year. Creative is the variable you still own.A worked weekly readHere is the whole loop on one ad, this week against last, the way the saved preset presents it. The ceiling in the last column is the $20 cost per purchase derived earlier from margin, not an industry average:MetricLast weekThis weekThe readThe actionLink CTR1.8%1.7%Steady, the promise still landsLeave the hook aloneHook rate31%30%Opening still stops the scrollLeave the first 3 secondsHold rate24%16%Viewers now leave mid-videoRecut the middle, same hookFrequency2.13.6Climbing fast, audience saturatingQueue fresh variations nowCPM$9.10$11.40Up, but it is late NovemberBlame the season, not the adCost per purchase$14$19Under the $20 ceiling, still profitableKeep it live while you recutRead across, not down: no single row decides anything, but together they tell one story. The creative still earns the click (CTR and hook rate holding) but loses people inside the video (hold rate falling) on an audience that has now seen it too often (frequency 2.1 to 3.6), while the rising CPM is the Q4 auction, not a fault. Cost per purchase has drifted from $14 to $19 but is still inside the ceiling, so the ad stays live, and the decision is not "kill it" but "recut the middle and ship two fresh variations of the same hook before frequency pushes the cost past $20." That is the entire job: six numbers in, one next ad out.So a reporting habit only compounds if each read ends in a decision and each decision ends in a new ad: read the saved preset weekly, let the retention chain and the diagnostics localize what failed, then write down which ad to kill, which winner to vary, and which new angle to test, and have those ads live before the next read. Teams stall at the make step because the reporting sits in one tool and production in three others; keeping research, generation, editing, and the Meta launch in one place, the way a platform like AdPlay.ai does, shortens the distance between a Monday insight and a Friday test. However you tool it, the loop is the job. The report is not the deliverable. The next ad is.

By the numbers

1.71%
Average CTR for Facebook traffic campaigns, all industries
WordStream, 2025
7.72%
Average conversion rate for Facebook lead campaigns
WordStream, 2025
$27.66
Average Facebook cost per lead, up about 21% in a year
WordStream, 2025
~500
Impressions before Meta's ad relevance diagnostics appear
Meta Business Help Center, 2026
$9.46
Instagram's average US CPM in Q2 2025, with Facebook's below it
eMarketer, 2025
2.28 billion
People Facebook ads could reach in January 2025
DataReportal, 2025

Frequently asked questions

What is the difference between reach and impressions on Facebook ads?

Reach is how many distinct people saw the ad. Impressions is how many times it was shown, so the same person counts once in reach but every time in impressions. Frequency is the bridge between them: impressions divided by reach, the average number of times one person saw the ad. Keeping the three separate is what lets you read the cost metrics correctly. CPM is priced per 1,000 impressions, not per person reached, so a high frequency can inflate impressions and quietly run up spend on an audience you have already saturated.

What is a good hook rate and hold rate for Facebook video ads?

Both are custom ratios Ads Manager does not show by default. Hook rate is 3-second video plays divided by impressions, the share of people the opening stopped. Hold rate is ThruPlays divided by 3-second plays: of the people the hook caught, how many stayed to 15 seconds or the end (a ThruPlay, per Meta, is watching to completion or 15 seconds, whichever comes first). There is no Meta-published target. Build both as custom metrics, then judge them against your own account, because the gap between your best and worst videos is more useful than any borrowed band.

What frequency is too high for Facebook ads?

There is no single cutoff. Frequency is the average number of times one person has seen the ad, and the right ceiling depends on the audience: cold prospecting usually shows fatigue earlier, while retargeting tolerates more exposures because the audience is small by design. Watch the trend instead of the absolute number. When frequency climbs week over week while CTR falls and cost per result rises, the audience is telling you it has seen enough, and the fix is fresh creative, not patience.

Which attribution window should I use for my business?

Match the window to your sales cycle. Since iOS 14.5 Meta caps click attribution at 7 days and view attribution at 1 day, so the practical choices are 1-day click, 7-day click, and adding 1-day view. Impulse purchases and lead forms usually resolve inside a day, so 1-day click reports the tightest, most causal view. Considered purchases that people sleep on suit 7-day click, which credits the conversion to the ad that started the journey. View-through credit is the loosest: useful for gauging upper-funnel influence, easy to over-trust.

Why does my Ads Manager ROAS not match my store analytics, and are the conversions even real?

Two reasons, and both are by design. First, the windows differ: Ads Manager defaults to 7-day click and 1-day view, so it claims purchases up to a week after a click plus some that followed an unclicked view, while store analytics usually credits the last click only. Second, part of Meta's reported number is estimated, not observed. When privacy limits hide a conversion, Meta fills the gap with modeled conversions, statistically inferred purchases it believes happened but could not directly track, and the dashboard blends them into the same total with no visual flag. So the figure is real in the sense that it is Meta's best estimate, not a fabrication, but it is partly a model, which is why it tends to over-report against a strict last-click store number. Compare trends, expect the absolute numbers to disagree, and never copy a ROAS target from one system into the other.

How do I break down Facebook ad performance by placement or by age and gender?

Open the Breakdown menu next to Columns in Ads Manager and pick a dimension: By Delivery holds placement, age, gender, country, and impression device; By Time holds day and hour. Placement tells you whether a video is dying in Reels but winning in Feed, which is a format fix, not a kill. The age-by-gender cross-tab often surfaces one profitable pocket (Males 25 to 34, say) hidden inside a flat average. One caveat decides how far to trust it: these breakdowns are reliable for upper-funnel metrics like impressions, CTR, and hook rate, but unreliable for purchases and ROAS, because Meta's Aggregated Event Measurement strips demographic and placement granularity from conversion data for iOS users who opted out of tracking. Break clicks down freely, treat broken-down conversions as a hint, not a verdict.

What are Meta's ad relevance diagnostics and do they affect cost?

They are three rankings Ads Manager shows once an ad clears about 500 impressions: quality ranking, engagement rate ranking, and conversion rate ranking, each scored above average, average, or below average against ads competing for the same audience. Quality reflects feedback signals like hides and reports, engagement the expected interaction rate, and conversion the expected action rate. They are diagnostic, not a grade you optimize directly, but they do affect cost: better-ranked ads tend to win the auction at a lower CPM, so a below-average score points at which lever (the creative, the audience, or the offer) to fix.

Which Facebook ad metric matters most?

Cost per result, measured against what a result is worth to you. Every other number is diagnostic: CTR and the retention chain explain whether the creative earns attention, CPM and relevance explain what the auction charges, and frequency explains wear-out. None of them is a verdict on its own. An ad with a mediocre CTR and a profitable cost per result is a keeper; an ad with a spectacular CTR that never converts is an expensive entertainer. Decide on cost per result or ROAS against a ceiling from your own margin, then use the rest to work out what to fix.

Sources

Keep exploring

Turn ad research into winning ads

Research the ads that work, generate the creative on-brand, and launch to Meta, all in one tool.

7-day free trial · No credit card required