Skip to content

Templates

Facebook Ads report template for clients (attribution setting included)

A Facebook Ads client report should show Amount spent, Results, Cost per result and Purchase ROAS for the agreed dates. It should name the attribution setting behind those numbers, add one line on what changed, and keep payments that cleared on a line of their own. Meta's own help pages call Amount spent approximate and say results can use modeling. So the template writes the setting down and never adds the payment line to Meta's numbers.

Want this live for every client?

This template keeps a payment line because platform columns can't show what cleared. To fill that line from real payments, see Thexly for agencies.

The template

Two blocks. The first is what Meta Ads Manager reports, using Meta's column names so the client can find each one in their own account. The second is what the payment processor recorded.

The template
BlockLineWhat goes here
Meta (as Meta reports it)Reporting dates and account time zoneThe exact dates, in the ad account's time zone
Meta (as Meta reports it)Amount spentMeta's figure for the dates
Meta (as Meta reports it)ResultsThe count, plus the result type (for example, website purchases)
Meta (as Meta reports it)Cost per resultAmount spent divided by Results
Meta (as Meta reports it)Purchases conversion valueThe purchase value Meta attributes to the ads
Meta (as Meta reports it)Purchase ROASPurchases conversion value divided by Amount spent
Meta (as Meta reports it)Attribution settingAs set on the ad set, written out in full
Meta (as Meta reports it)Reach and FrequencyOptional. Useful when the client asks about creative fatigue
Meta (as Meta reports it)Change noteOne thing you changed in the account and the date
Payments (from Stripe)Payments that clearedPayments for the same dates
Payments (from Stripe)RefundsRefunds in the same dates
Payments (from Stripe)NoteNot added to Meta's row

Prefer a sheet? Download the template.

Running Google too? Use the Google Ads report template for clients for that account. It has its own columns and its own date rules.

How to read each Meta line

All of these come from the Meta Business Help Center. Check the wording against your own Ads Manager, because Meta updates these pages.

Amount spent. Meta defines it as "The approximate total amount of money you've spent on your campaign, ad set or ad during its schedule." It "may include amounts already invoiced as well as billable amounts that haven't been invoiced yet." Meta also says "it can take up to 48 hours for ad results to be processed" (Meta help: Amount spent). So export a week's numbers two days after it ends, and say on the report when you pulled them.

Results. This is "The number of times your ad achieved an outcome, based on the objective and settings you selected." It also "may not reflect how you’re billed for your ad" (Meta help: Results). Results means nothing without its type, so the template asks you to name it.

Purchase ROAS. Meta calculates it "as purchase conversion value divided by amount spent." Two warnings come with it. Meta says "statistical modeling may be used to account for some events, as well as for the values assigned to those events." And for ads delivered to devices using iOS 14+, "this metric may not be calculated" (Meta help: Purchase ROAS). If the cell is blank or looks low, check that before you explain a drop.

The attribution setting row

Leave this line out and nobody can read the numbers above it. It decides what counts as a result.

Meta's Results page says: "Meta uses a default attribution setting of 7-day click, 1-day view and 1-day engagement conversion. If you select a different attribution setting, your results will be counted based on the attribution setting you selected" (Meta help: Results).

The view part is the one to explain to a client. Meta's attribution settings page says view-through "Counts events that occurred within 1-day after an impression of your ad" (Meta help: attribution settings). Someone can scroll past an ad without clicking, buy the next day, and the sale can count for the ad. Purchases off Facebook are "attributed back to your ad if they happened within a certain number of days after someone viewed or clicked on your ad," and by default Meta shows them "based on the attribution setting on the ad set level" (Meta help: actions attributed to your ad).

So write the setting in full on every report. If two ad sets use different settings, list both. If someone changes the setting mid-month, put it in the change note. Our guide to the Meta ads attribution window covers what a change does to numbers you already sent.

A filled example

Illustrative example: round numbers for a made-up store. Not a customer and not a benchmark.

A filled example
BlockLineExample
MetaReporting dates1 to 30 September, Europe/Dublin, pulled 2 October
MetaAmount spent€2,500
MetaResults50 website purchases
MetaCost per result€50
MetaPurchases conversion value€7,500
MetaPurchase ROAS3.00
MetaAttribution setting7-day click, 1-day view and 1-day engagement conversion (Meta's default)
MetaReach and Frequency60,000 and 2.0
MetaChange noteNew video ad added on 15 September
StripePayments that cleared€5,500
StripeRefunds€300

Meta's Compare attribution settings feature splits Results by window. Say 10 of the 50 purchases sit in the 1-day view column. Then you can tell the client: "Meta credits the ads with 50 purchases worth €7,500. Ten of those came from people who saw an ad and didn't click. Stripe shows €5,500 in payments for the same dates, less €300 in refunds."

Leave the gap in plain view. It's the line the client will ask about, and you'd rather they hear it from you.

Stop trusting the platforms' math.

Filling the payment row by hand each week? Thexly matches each payment to the campaign visit behind it, so the row is ready when you open the report. Start a 14-day free trial, no card needed.

No card required.

What agencies say about this

On r/FacebookAds, an agency described a client whose dashboard looked great: "client is thrilled, wants to double budget next month." The poster suspected some of those conversions were attribution overlap. One reply put the fix well: "you're not telling them the ROAS is wrong, you're telling them it's incomplete. Platform-reported ROAS and verified backend revenue are measuring different things." (r/FacebookAds, July 2026)

That's what the two blocks in the template do. Meta's ROAS stays on the report. The payment line sits under it with its own label.

Keep Meta and Google apart

A buyer can click a Facebook ad on Monday, search the brand on Google on Thursday and buy. In a thread asking how Meta decides a sale is its own, one reply walked through that exact path: "Meta claims that purchase. Google claims it too. Neither is technically wrong, they're just applying their own attribution rules to the same conversion." (r/FacebookAds, September 2026)

So don't add Meta's purchases to Google's. Report each platform in its own block, and show the payments once for the whole store. More on that: when Meta and Google both claim the same sale.

For what to say in the meeting, see our Facebook Ads reporting guide and the Meta Ads reporting guide.

When a weekly sheet gets heavy

The Meta block is one export. The payment block takes longer: pulling Stripe for the same dates, taking out refunds, then working out which campaigns the money came from. With several clients, that's the part that eats the week.

Want this live for every client?

Send the client a live link instead of this week's PDF: Thexly for agencies.

Which Meta column do your clients ask about most? We'd like to hear.

FAQ

Questions & answers

Sources