How to prepare a weekly client report

Your client wants to know how the campaigns are doing. Every week, you download the numbers, put them into a spreadsheet, and work out what to say about them. Prepare a simple report that shows the results, explains what they mean, and sets out the next action.

Chill&AutomateUpdated September 27, 2026

When this guide helps

Use this guide if any of these situations sound familiar:

  • You build every report from scratch without a consistent set of metrics or reporting period.
  • You send the spreadsheet, but the numbers alone do not tell the client what changed or what to do next.
  • You want to simplify recurring data imports while still catching missing or incomplete data.

Work through a fictional week, calculate the results, and add a short explanation. You get sample data, metric definitions, and a message outline. Then see what to check before sending and when a data connector is worth considering.

The approach

Agree on what the client needs to learn each week: what you did, what happened, and what comes next. For each number, note its reporting period and where it comes from. Before sending, check that the data covers the whole period. If something is missing, say what it is and who will follow up; a missing number is not zero.

Open the template and files ↓

Calculate and prepare the first weekly report

0 / 4

Check off steps as you finish them. Progress stays in this browser; reset it below when you start again.

Start with the question the report answers

For a weekly campaign report, start with spend, clicks and inquiries. Define each metric’s source, period, timezone and meaning. An inquiry may mean an analytics event or a real new request in the CRM; those counts have different meanings and should not be swapped without explanation.

Create an expected client-week entry before the data arrives. Give it a deadline, source, checking owner and state. This makes a workflow that never started visible: the expected report stays open beyond its deadline.

Three checks before sharing

Completeness: do you have the full period and every expected source? Accuracy: do totals match an independent control export, and could an equal total hide row-level errors? Access: can each client open only their own report? Filters, hidden tabs and protected cells are not substitutes for separate data permissions.

Coupler explicitly documents imports that finish with a truncation warning. A completed status is therefore insufficient. If a day is missing, hold the report, repair the source and check the period again. Communicate the status under your actual agreement rather than filling gaps with invented numbers.

Add a short interpretation

For each report, explain what changed, what it may mean and what you will do next. Separate observation from explanation: fewer inquiries is an observation; attributing the drop to an ad requires more evidence. If the source is still changing, state the cutoff and how later revisions are handled.

Filled example

Fictional example to explain the process, not a real client record.

Example week: $700 spend, 1,400 clicks and 56 inquiry events. Cost per event is $12.50 and the event-to-click ratio is 4%. If Wednesday is missing, a tidy calculation cannot repair incomplete input. Hold the report until its owner restores the source and recalculates the whole week.

Client, week, timezone and deadline
Fictional client Studio A; September 21–27, 2026; UTC; report due Monday by noon.
Metric, definition and source
Spend (USD), clicks, and inquiry events from report-example-v1.csv. An event is not a verified sales opportunity.
Expected period and control total
7 days × 2 campaigns = 14 rows. Totals: $700, 1,400 clicks, 56 events. 700 ÷ 56 = $12.50 per event; 56 ÷ 1,400 = 4%.
Last refresh / completeness / exception
The sample file contains every day. Removing Wednesday leaves 12 rows and holds the report; missing days are not filled with zeros.
Recovery owner, next step and deadline
Alex checks the data Monday at 10:00 a.m. On failure, restore the source and verify all 14 rows before sharing.
What changed / interpretation / next action
Client message draft: “For September 21–27, the campaigns spent $700 and generated 1,400 clicks. We recorded 56 inquiry events: $12.50 per event and a 4% event-to-click ratio. With no comparison period yet, we cannot report growth or decline. Next, we will match events to received inquiries to distinguish real opportunities from repeat submissions. The next report will compare another complete week.”
Sharing approval and delivery record
This fictional draft was not sent to a real client. In actual use, record the reviewer, approval time, and sent-message reference here.

Take the worksheet with you

A weekly control sheet, metric dictionary and client-update outline.

Expand the blank template below, select the text, and paste it into your document. Replace the brackets with your own information, using the filled example above for guidance. Keep a separate copy for each job. You can also download the text. No sign-up required.

Show the blank template to copy

What to use and what it costs

Start with a source export and our spreadsheet. Establish what the numbers mean and what the client needs. Add Coupler when repeatedly downloading the same data becomes time-consuming; keep approval and delivery as separate steps.

Options for this workflow
Tool and when it fitsPrice and conditions
Google Sheets ↗

A few reports with exports you can readily reconcile.

No additional subscription if you already have a suitable Google account.

Assumes your existing account and storage. Your team maintains records and due dates.

Source and terms
Coupler.io Starter ↗

Recurring imports from supported sources. Count connected accounts, not just clients.

USD 32 monthly, or USD 24/month billed annually (USD 288/year).

3 source accounts, 1 destination, 1 user, 5,000 rows/run and daily refresh. Transfer success does not establish completeness.

Source and terms

Prices and terms checked September 27, 2026, in the currency shown by the vendor. Quotes may vary by country; confirm your currency, tax and commitment before buying. Example budgets exclude any additional tax.

Budget for this job

Three source accounts do not mean three clients: Google Ads and Meta for one client already use two. Illustratively, 5 clients × 10 export minutes/week × 4 weeks = 3 hours 20 minutes/month. At USD 25/hour, that is USD 83.33 of time. Compare with connector cost, setup and review; importing data does not write the interpretation.

Include your time and running costs →

Sources for this guide

Documentation checked September 27, 2026. Recommendations apply it to the job described here.

What to keep on record

Keep the reporting period, original export, and metric definitions. If the client asks where a number came from, you can trace the data and calculation.

What can go wrong

A missing day in an export does not necessarily mean zero results. The import may be incomplete. Establish the cause before calculating a total.

How to check it works

Compare totals with the original source and open the actual client file. Does it contain their period, a clear explanation, and a next action, without another client’s data?

Where to start today

Work through the sample week, then replace it with your own export. Start with metrics you can explain and check.