How do you make a Facebook or Google Ads report for a client?
Export daily campaign data from each platform, total it, and work out the rates from the totals. Then show what changed against the previous period, which campaigns drove it, and what to do next. This tool does all of that from the raw exports and outputs a branded PDF.
A PPC report template that fills itself in
Most ad reports are a spreadsheet export pasted into a template and tidied by hand every week. This generator does the tidying: it finds the date, spend, impressions, clicks, conversions and campaign columns in whatever your platform exports, totals them, and lays out the report a client actually reads.
- Headline numbers: spend, impressions, clicks, CTR, CPC, CPM, conversions and cost per conversion
- Last 7 days vs previous 7: what moved, coloured by whether it moved the right way
- Observations: CPA swings, campaigns spending without converting, budget concentration, dropping CTR, days with no spend
- Breakdowns: by platform and by campaign, sorted by spend
- Your branding: report title, client name, agency name and logo on the PDF
Works with every ad platform
Facebook and Instagram (Meta Ads Manager), Google Ads, Microsoft Ads, LinkedIn, TikTok, Pinterest, Snapchat, Reddit, DV360, The Trade Desk, Amazon Ads, Taboola, Outbrain, or your own reporting tool. CSV and Excel exports both work, including Google Ads’ tab-separated “CSV for Excel” files and European number formats.
Next steps after the report
If the report shows a campaign burning budget, check its pacing with the ad budget pacing calculator; if CTR is falling on Meta, run the creative fatigue checker; and to bill the spend, the media invoice generator reads the same export. PlanPulse builds this report automatically from live data in a branded client portal; see the demo client portal.
How to generate an ad report from an export
- Export daily data. In Meta Ads Manager export the campaign table with Breakdown → By time → Day; in Google Ads segment by Day and download a CSV.
- Drop in the files. Add one export per platform. The platform is detected from the column names, or you can choose it.
- Brand the report. Add a report title, the client name, your agency name and logo, and adjust the date range if needed.
- Download. Download the PDF to send to the client, or the CSV to keep working in a spreadsheet.
Frequently asked questions
What should a Facebook or Google Ads report include?
Lead with spend and the result the client cares about (conversions and cost per conversion, or clicks and CPC for traffic campaigns), then show how that changed versus the previous period, which campaigns drove it, and what you recommend next. This generator lays the report out in that order.
Can I combine Meta, Google Ads and other platforms in one report?
Yes. Add one export per platform and they are merged into a single report with a by-platform breakdown, so you can compare cost per conversion across channels.
Which columns does my export need?
A date column (Day, Date or Reporting starts) and a spend column (Amount spent, Cost or Spend). Impressions, clicks, conversions or results, and campaign name are used when they are there. Most platform exports work without any editing.
Why do I see no daily chart or week-on-week comparison?
Your export has no per-day rows. In Meta Ads Manager, add Breakdown → By time → Day before exporting; in Google Ads, use Segment → Time → Day. The week-on-week comparison needs at least 14 days of data.
Is my data uploaded anywhere?
No. Your file is read and the PDF is built in your browser. Nothing is sent to or stored on PlanPulse’s servers.
How are CTR, CPC, CPM and CPA calculated in the report?
CTR = clicks ÷ impressions. CPC = spend ÷ clicks. CPM = spend ÷ impressions × 1,000. CPA (cost per conversion) = spend ÷ conversions. All are calculated from the period totals, not by averaging daily rates, which would weight quiet days the same as busy ones.