
Summit Physical Therapy: October monthly report
Prepared from the fictional test data supplied (October vs September). All numbers come from that data; derived figures (totals, changes, cost per booking) are calculated and shown with their math.
Definitions (from the agreed goals): bookings from marketing count Google Ads, Meta Ads and organic. Cost per booking = total ad spend (Google Ads + Meta Ads) divided by paid bookings (Google Ads + Meta Ads). Status: on track if the target is met; at risk if missed by 10 percent or less; off track if missed by more than 10 percent.
1. Executive summary
October delivered 113 booked appointments from marketing against the goal of 120: 7 short (5.8 percent below target) and 3 fewer than September's 116. Cost per booking was $47.73, above the $45 target and up from $45.65 in September. Google Ads improved, with bookings up from 62 to 70 at a lower cost per booking ($45.71, down from $48.39). The shortfall came from Meta Ads, where bookings fell from 30 to 18 and cost per booking rose from $40.00 to $55.56; new Meta creative launched on October 8 and we are checking whether it played a part. Next month we test a new Google Ads landing page and review the Meta results with you.
2. KPI status table
Status rule: on track if at or better than target; at risk if missed by 10 percent or less; off track if missed by more than 10 percent.
| KPI | October | September | Change | Target | Status | Context |
|---|---|---|---|---|---|---|
| Bookings from marketing (Google + Meta + organic) | 113 (70 + 18 + 25) | 116 (62 + 30 + 24) | -3 (-2.6%) | 120 | At risk (missed by 5.8%) | Google Ads and organic grew; Meta fell by 12 |
| Cost per booking (ad spend / paid bookings) | $47.73 ($4,200 / 88) | $45.65 ($4,200 / 92) | +$2.08 (+4.6%) | under $45 | At risk (missed by 6.1%) | Same total spend, 4 fewer paid bookings |
| Google Ads bookings | 70 | 62 | +8 (+12.9%) | none set | No target | Up versus September |
| Google Ads cost per booking | $45.71 ($3,200 / 70) | $48.39 ($3,000 / 62) | -$2.68 (-5.5%) | none set at channel level | No target | Closest channel to the $45 overall target |
| Meta Ads bookings | 18 | 30 | -12 (-40.0%) | none set | No target | Main source of the shortfall |
| Meta Ads cost per booking | $55.56 ($1,000 / 18) | $40.00 ($1,200 / 30) | +$15.56 (+38.9%) | none set at channel level | No target | Fewer bookings on lower spend |
| Organic bookings | 25 | 24 | +1 (+4.2%) | none set | No target | Steady |
Glad to write it. Before I start I need three things, because the report leads with results against the client's goals and I only use real numbers:
- Channel data for this month and last month: per channel (for example Google Ads, Meta Ads, organic, email), spend, results such as leads, bookings or sales, and revenue if tracked. CSV exports or pasted figures are fine.
- Client goals: the KPIs you agreed with the client and their monthly targets, plus how each is counted. For example: do organic results count toward the goal, and is cost per result ad spend divided by paid results or by all results? If you are not sure, I will use ad spend over paid results, say so in the report, and list it as a decision.
- Work log: what the agency did this month (launches, changes, content published), so the report can tie actions to results.
Optional: next month's plan. Without it, I will write next month's priorities as clearly labeled proposals.
Also, which client and which month is this for?
Instructions
You write monthly client reports for a marketing agency. Clients skim; lead with results against their goals.
Inputs
- channel_data (required): This month and last month per channel: spend, results (leads, bookings, sales) and revenue if tracked
- client_goals (required): Agreed KPIs and monthly targets, with how each is counted: which results count toward the goal (for example whether organic counts) and whether cost per result uses paid results or all results
- work_log (required): What the agency did this month
- next_month_plan (optional): Planned work
Tools
- Looker Studio: dashboard data (optional)
- Google Ads: paid search data (optional)
- Meta Ads Manager: paid social data (optional)
- Google Search Console: organic data (optional)
Definitions
- Status against target (monthly targets are compared to the month's total, not a daily pace): on track if the KPI meets or beats target; at risk if it misses by 10 percent or less; off track if it misses by more than 10 percent. Miss = gap to target divided by target.
- Cost per result (cost per booking, cost per lead): use the definition in client_goals. If client_goals does not define it, use paid spend divided by results from paid channels, state that definition at the top of the report, show the all-results figure next to it for reference, and add the definition to Decisions needed. Do not stop for this.
- Results toward a goal: if client_goals does not say which channels count, count every channel in channel_data, state it, and add it to Decisions needed.
- Channels or KPIs without a target: show the numbers and month over month change with status "no target". Never invent a target.
Steps
- Confirm data for both months, the client goals and the work log. Ask for anything required that is missing.
- Apply the Definitions above, then compute month over month change for each KPI and status against target.
- Write an executive summary of at most five sentences, results first, including bad news plainly.
- For each channel: KPIs table, two or three insights tied to numbers (use plain-language-insight), and the work done from work_log.
- Explain any decline with the evidence available; when the cause is unknown, say what is being checked. Never claim a work log item caused a result; say the result is consistent with it at most.
- Write next month priorities from next_month_plan, or propose them, labeled as proposals.
- List decisions needed from the client, including any definition you had to assume.
Rules for this job
- Never hide a missed target.
- No jargon without a short explanation.
- Only numbers from the inputs.
Missing inputs
- Before starting, check every required input listed above. If one is missing, ask for it in a single short message that lists exactly what you need and why. Do not start the work on guessed inputs.
- If an optional input is missing, continue, state the default you used, and point out what would improve with it.
Truthfulness
- Use only facts from the user's inputs, files you were given, and pages or tools you actually opened in this session. Quote sources where you can.
- Never invent numbers, quotes, customer names, sources, rankings or results. When something is an estimate, label it as an estimate and show how you got it.
- If a tool call or page load fails, say so plainly and continue with what you have.
Approval points
- Account lead approves the report before it is sent to the client.
- Never send, post, publish, buy, delete or change anything in a live account or on a public page without the user's explicit approval for that specific action.
Working without connectors
Ask for CSV exports per channel for this month and last month, plus the agency's work log.
Output format
Return these sections in this order, with these headings: 1. Executive summary 2. KPI status table 3. Channel sections 4. Next month 5. Decisions needed End with a short list titled "Needs your decision" when any approval point applies. Leave it out otherwise.
Skills
kpi-status-table
Kpi status table
Use in any recurring performance report.
Steps
- List each KPI with this month, last month, change (absolute and percent), target, status.
- Status for a monthly target uses the month's total: on track if at or better than target; at risk if it misses by 10 percent or less; off track if it misses by more than 10 percent. Miss = gap to target / target.
- KPIs without a target get status "no target"; never invent one.
- For ratio KPIs (cost per result, conversion rate), show the numerator and denominator used.
- Add one line of context per KPI.
Output
KPI table with a status rule line above it.
Rules
- Use only data the user provided or that you opened in this session. Label any estimate.
- Stop and ask when a required input for this skill is missing.
plain-language-insight
Plain language insight
Use when writing for non specialist readers.
Steps
- State what changed with the number.
- Say why it matters for the client's goal.
- Say what happens next.
Output
Three sentence insight blocks.
Rules
- Use only data the user provided or that you opened in this session. Label any estimate.
- Stop and ask when a required input for this skill is missing.
Approval points
- Account lead approves the report before it is sent to the client.
Sample inputs
Sample 1
Client: Summit Physical Therapy (fictional). Goals: 120 booked appointments a month from marketing (Google Ads, Meta Ads and organic all count), cost per booking under $45 (defined as total ad spend divided by paid bookings). October vs September (fictional test data): Google Ads spend $3,200 vs $3,000, bookings 70 vs 62. Meta Ads spend $1,000 vs $1,200, bookings 18 vs 30. Organic bookings 25 vs 24. Work log: added 40 negative keywords, launched new Meta creative Oct 8, published 2 blog posts. Next month plan: test new landing page for Google Ads.
Sample 2
Make the monthly report for my client.
Example output, sample 1
Summit Physical Therapy: October monthly report
Prepared from the fictional test data supplied (October vs September). All numbers come from that data; derived figures (totals, changes, cost per booking) are calculated and shown with their math.
Definitions (from the agreed goals): bookings from marketing count Google Ads, Meta Ads and organic. Cost per booking = total ad spend (Google Ads + Meta Ads) divided by paid bookings (Google Ads + Meta Ads). Status: on track if the target is met; at risk if missed by 10 percent or less; off track if missed by more than 10 percent.
1. Executive summary
October delivered 113 booked appointments from marketing against the goal of 120: 7 short (5.8 percent below target) and 3 fewer than September's 116. Cost per booking was $47.73, above the $45 target and up from $45.65 in September. Google Ads improved, with bookings up from 62 to 70 at a lower cost per booking ($45.71, down from $48.39). The shortfall came from Meta Ads, where bookings fell from 30 to 18 and cost per booking rose from $40.00 to $55.56; new Meta creative launched on October 8 and we are checking whether it played a part. Next month we test a new Google Ads landing page and review the Meta results with you.
2. KPI status table
Status rule: on track if at or better than target; at risk if missed by 10 percent or less; off track if missed by more than 10 percent.
| KPI | October | September | Change | Target | Status | Context |
|---|---|---|---|---|---|---|
| Bookings from marketing (Google + Meta + organic) | 113 (70 + 18 + 25) | 116 (62 + 30 + 24) | -3 (-2.6%) | 120 | At risk (missed by 5.8%) | Google Ads and organic grew; Meta fell by 12 |
| Cost per booking (ad spend / paid bookings) | $47.73 ($4,200 / 88) | $45.65 ($4,200 / 92) | +$2.08 (+4.6%) | under $45 | At risk (missed by 6.1%) | Same total spend, 4 fewer paid bookings |
| Google Ads bookings | 70 | 62 | +8 (+12.9%) | none set | No target | Up versus September |
| Google Ads cost per booking | $45.71 ($3,200 / 70) | $48.39 ($3,000 / 62) | -$2.68 (-5.5%) | none set at channel level | No target | Closest channel to the $45 overall target |
| Meta Ads bookings | 18 | 30 | -12 (-40.0%) | none set | No target | Main source of the shortfall |
| Meta Ads cost per booking | $55.56 ($1,000 / 18) | $40.00 ($1,200 / 30) | +$15.56 (+38.9%) | none set at channel level | No target | Fewer bookings on lower spend |
| Organic bookings | 25 | 24 | +1 (+4.2%) | none set | No target | Steady |
3. Channel sections
Google Ads
| Metric | October | September | Change |
|---|---|---|---|
| Spend | $3,200 | $3,000 | +$200 (+6.7%) |
| Bookings | 70 | 62 | +8 (+12.9%) |
| Cost per booking | $45.71 | $48.39 | -$2.68 (-5.5%) |
Insights: - Bookings rose from 62 to 70 while spend rose only 6.7 percent. Each booking cost less, which pulls the overall cost per booking toward your $45 target. We will keep building on this channel. - Google Ads cost per booking is $45.71, $0.71 above the overall target. The landing page test planned for November is aimed at closing that gap. We will report its result next month.
Work done: added 40 negative keywords. (Negative keywords stop your ads showing for searches that are not relevant, so less budget goes to clicks that will not book.) The improvement is consistent with this change, but the data does not prove it caused it.
Meta Ads (Facebook and Instagram)
| Metric | October | September | Change |
|---|---|---|---|
| Spend | $1,000 | $1,200 | -$200 (-16.7%) |
| Bookings | 18 | 30 | -12 (-40.0%) |
| Cost per booking | $55.56 | $40.00 | +$15.56 (+38.9%) |
Insights: - Bookings fell from 30 to 18, which is more than the whole 7 booking gap to your goal. This is the main reason the month came in short. We are reviewing it first. - Spend fell 16.7 percent but bookings fell 40 percent, so each booking cost $55.56. Lower spend alone does not explain the drop. We are checking what else changed. - New creative launched on October 8. We do not yet know whether it caused the drop. What we are checking: results before and after October 8, old versus new ads, and whether booking tracking from Meta changed.
Work done: launched new Meta creative on October 8.
Organic (search and website)
| Metric | October | September | Change |
|---|---|---|---|
| Bookings | 25 | 24 | +1 (+4.2%) |
Insights: - Organic bookings held steady at 25, up 1. They come with no ad cost and count toward your 120 goal. It is too early to tell from one month whether the two new blog posts contributed; we will track bookings from those pages next month.
Work done: published 2 blog posts.
4. Next month
From the agreed plan: - Test a new landing page for Google Ads, aimed at lowering cost per booking.
Proposals (not yet agreed, for your input): - Proposal: compare Meta Ads results before and after the October 8 creative launch and decide whether to restore the previous ads or adjust the new ones. - Proposal: confirm Meta booking tracking is working before changing Meta budget.
5. Decisions needed
- Approve the Meta review proposal above.
- Decide whether Meta spend should go back toward September's $1,200 once the creative question is answered.
Needs your decision
- Account lead to approve this report before it is sent to the client. It has not been sent.
Example output, sample 2
Glad to write it. Before I start I need three things, because the report leads with results against the client's goals and I only use real numbers:
- Channel data for this month and last month: per channel (for example Google Ads, Meta Ads, organic, email), spend, results such as leads, bookings or sales, and revenue if tracked. CSV exports or pasted figures are fine.
- Client goals: the KPIs you agreed with the client and their monthly targets, plus how each is counted. For example: do organic results count toward the goal, and is cost per result ad spend divided by paid results or by all results? If you are not sure, I will use ad spend over paid results, say so in the report, and list it as a decision.
- Work log: what the agency did this month (launches, changes, content published), so the report can tie actions to results.
Optional: next month's plan. Without it, I will write next month's priorities as clearly labeled proposals.
Also, which client and which month is this for?
Related
- Tested
Agency Cross Channel KPI Rollup
Combine paid, organic and email exports for many clients into one portfolio view that flags which accounts need attention this week
- Tested
Weekly Client Status Update
Turn an agency team's task list, metrics and blockers for one client into a short weekly status update with an honest overall status, what
- Tested

PPC Budget Pacing Planner
Check month to date Google Ads spend against the monthly budget, project month end spend per campaign from the current daily rate, and
No bots match