Facebook Ads Report Template for Google Sheets: Free Copy and KPI Formulas
A Facebook Ads report template in Google Sheets is a spreadsheet with prebuilt KPI formulas that you fill with numbers exported from Meta Ads Manager, so the math (CTR, CPM, CPL, ROAS) calculates itself. It is the fastest way to get a clean, repeatable report when you only manage one or two ad accounts and you are comfortable pasting data by hand each period. Below is a free layout you can copy, the exact formulas to put in each cell, and an honest look at where a manual Google Sheets Meta Ads template starts to cost more time than it saves.

What goes in the template
A good Facebook Ads spreadsheet template separates raw inputs from calculated outputs. You paste the raw columns from Meta, and the calculated columns derive everything else. Build two tabs:
- Raw data tab. One row per campaign (or per day, if you want trends). Columns for the numbers Meta gives you directly: Campaign, Spend, Impressions, Reach, Link Clicks, Results (purchases or leads), and Conversion Value if you sell products.
- Summary tab. The headline view: totals for the period, the calculated efficiency metrics, and a side-by-side comparison against the previous period.
Keep the inputs and the formulas physically separate. When you paste fresh data next month, you overwrite only the raw tab, and the summary recalculates without you touching a single formula.
Copy this layout
Set up your raw data tab with these column headers in row 1, starting at column A:
| Column | Header | Source |
|---|---|---|
| A | Campaign | Meta |
| B | Spend | Meta |
| C | Impressions | Meta |
| D | Reach | Meta |
| E | Link Clicks | Meta |
| F | Results (leads or purchases) | Meta |
| G | Conversion Value | Meta (e-commerce only) |
| H | CTR | formula |
| I | CPC | formula |
| J | CPM | formula |
| K | CPL or CPA | formula |
| L | ROAS | formula (e-commerce only) |
Columns A through G are pasted from Meta Ads Manager. Columns H through L are the formulas below. Freeze row 1, and format the spend, CPC, CPM, and CPL columns as currency.
The KPI formulas to paste in
These are the real definitions. Assuming your first data row is row 2, drop these into the matching cells and fill them down:
- CTR (click-through rate) in H2:
=IF(C2=0,0,E2/C2). CTR is clicks divided by impressions. Format the column as a percentage. This tells you how compelling the ad is at earning the click. - CPC (cost per click) in I2:
=IF(E2=0,0,B2/E2). CPC is spend divided by clicks. - CPM (cost per 1,000 impressions) in J2:
=IF(C2=0,0,B2/C2*1000). CPM is spend divided by impressions, times 1,000. It is your cost to be seen. - CPL or CPA (cost per lead or acquisition) in K2:
=IF(F2=0,0,B2/F2). Spend divided by results. Label it CPL for lead gen, CPA or cost per purchase for e-commerce. - ROAS (return on ad spend) in L2:
=IF(B2=0,0,G2/B2). Conversion value divided by spend. A ROAS of 3 means three units of revenue for every one spent.
The IF(...=0,0,...) wrapper stops Google Sheets from throwing a divide-by-zero error on rows with no clicks or no spend. For the summary tab, sum the raw columns first, then run the same formulas on those totals so your blended numbers are weighted correctly rather than being a misleading average of per-campaign rates.
Add a period-over-period comparison
A single month of numbers does not tell you whether things improved. The question anyone reading the report actually has is “did this period beat the last one.” Add a small block on the summary tab with two columns, This Period and Last Period, for each headline KPI, plus a change column: =IF(prior=0,"",(current-prior)/prior) formatted as a percentage. That one column turns a static snapshot into a story. If you want a deeper read on which numbers belong in that headline block, see the guide on Meta Ads KPIs to track.
How to judge whether the numbers are good
Resist the urge to chase a universal “good” CTR or CPL. A number is good or bad only against three things: your own goal, your margin, and your prior trend.
- Against your goal. A lead-gen account cares about CPL and lead volume. An e-commerce account cares about ROAS and cost per purchase. Hide the columns that do not map to your objective.
- Against your margin. Your break-even ROAS is 1 divided by your profit margin. As a worked example, say your margin is half: 1 divided by 0.5 is a break-even ROAS of 2, so anything above that is profit. Plug in your own margin to get your own threshold. CPL works the same way: a lead is only cheap if it converts to revenue that clears your cost.
- Against last period. The change column you built above is the most honest benchmark you have, because it controls for your own account, audience, and offer.
The real tradeoff of a manual template
A Google Sheets Meta Ads template is free and flexible, and that is its whole appeal. The cost is hidden in the word “manual.” Every refresh means logging into Ads Manager, exporting, pasting into the right columns without shifting a formula, and checking that nothing broke. A few realities to plan around:
- It does not update itself. The numbers are a snapshot from the moment you pasted. The day after, they are stale, and a client clicking a link sees nothing new.
- Pasting errors are silent. A column that lands one cell off, or a stray text value in a number field, produces a wrong CTR that looks perfectly plausible. Nobody catches it until a decision is made on it.
- It scales badly. One account is fine. Five accounts means five exports, five paste jobs, and five chances to make a mistake every reporting cycle. If you are juggling several, the patterns in managing multiple Meta ad accounts are worth reading before you build a tab per client.
- Breakdowns get tedious. Age, gender, and placement breakdowns each need their own export and their own tab, and they go stale just as fast as the headline view.
A spreadsheet is the right tool when you report rarely, for one or two accounts, and you do not mind owning the upkeep. The moment reporting becomes weekly, or client-facing, or spread across accounts, the manual cost compounds. For a fuller comparison of the export-and-paste workflow versus a live view, see Facebook Ads Manager vs a reporting dashboard.
When a connected dashboard makes more sense
If the spreadsheet upkeep starts eating an afternoon every month, a connected tool removes the paste step entirely. DashOps reads every KPI in this template directly from your connected Meta ad accounts, with period-over-period comparison, demographic and placement breakdowns, and PDF, Excel, and CSV exports built in, so there is nothing to refresh by hand. For client work, white-label reports and read-only share links replace the fragile shared spreadsheet, which the guide to white-label client reporting covers in depth. See what each plan includes on the pricing page, and the help center walks through connecting an account.
Start with the free template if you report occasionally for one account, and switch to a connected dashboard the day the copy-paste starts costing you more time than the report is worth.
Frequently asked questions
What formulas do I need in a Facebook Ads Google Sheets template?
Is a Google Sheets template better than a reporting dashboard?
How do I know if my CTR or CPL is good in the template?
See it in your own dashboard
DashOps brings Meta Ads reporting, campaign management, and white-label client portals into one place. Pick the plan that fits how you run ads.