How to create a marketing report: monthly template and AI workflow
A marketing report organizes revenue, acquisition, and advertising results to support decisions about tactics and budgets. A monthly report connects the conclusion, targets and actuals, results of actions, and next month’s work.
This guide covers required sections, KPI selection, a creation process, a copyable template, and a worked example from actual records. It also provides a ChatGPT or Gemini prompt to turn a list of figures into a report people can use in a meeting.
What is a marketing report?
A marketing report organizes results and problems to support the next decision. A monthly report covers performance against targets, changes from the previous month, actions taken, and next month’s work.
Select metrics according to the decision. Collecting GA4 traffic and ad costs alone does not explain what to change to improve revenue.
| Decision | Main metrics | Supporting context |
|---|---|---|
| Progress in revenue or customer acquisition | Revenue, purchases, actual signups or inquiries | Outcome definition, targets, scope |
| Appropriate ad spending | Cost, conversions, CPA, ROAS | Tracking, gross profit, affordable cost |
| Search acquisition | Impressions, clicks, queries | Page-level changes and revisions |
| On-site progress | Landing pages and key events | Traffic sources, form and navigation changes |
Lead with figures that can change the meeting’s decision. If no KPI target was set, keep it marked not set rather than creating an easy target after seeing results.
Steps for creating a monthly report
- Define the reader and the decision.
- Align periods, sources, and outcome definitions before collecting data.
- Separate targets and actuals from actions and observations.
- Summarize important changes and next actions.
- Verify against source data and record the meeting’s decisions.
Use spreadsheets for comparing collected figures, dashboards for recurring monitoring, and AI for organizing summaries and further checks. Whichever tool you choose, verify source traceability, consistent definitions, and visible missing data.
Start with the conclusion and next actions in the template below, then add supporting figures and detail.
A monthly report template you can copy
Start with this structure. Write “unavailable” or “measurement not confirmed” instead of leaving a blank or entering zero for data you could not verify.
Reporting month and scope:
Preparation date and data retrieval date:
Reader and decision this report supports:
Conclusion:
- Current state:
- Decision for next month:
Targets and results:
- Metric / target / actual / difference / data source:
- Outcome definition and date basis:
Actions taken and observed results:
- Change / implementation date / observation period / measured result:
- Confirmed causes:
- Remaining hypotheses:
Next month's actions:
- Action / owner / deadline / metric / condition for changing the decision:
- What to continue and stop:
Unavailable data and undecidable items:
Appendix: detailed metrics by channel
Fill in the numbers and sources before the decision. If no target was set, write “not set.” Do not ask AI to fill in targets or previous-period results.
A monthly report answers four questions
First, fix what the reader wants to know.
- Against the goal, how did this month go?
- What changed a lot from last month?
- What actions were carried out, and what results were observed?
- Next month, what do we continue, stop, and check?
A metric that does not answer these four goes to the appendix. For example, in a meeting where an executive wants to judge revenue and acquisition efficiency, you do not need to put 100 ad groups in the body. To check why overall CPA got worse, it is enough to show the campaigns with the largest increase in cost.
At the same time, do not pick only the good numbers. Keep metrics that missed the goal, data you could not collect, and reasons you cannot judge, in the body.
Write “the reader” and “what to decide” first
Before you paste numbers into the AI, write these two lines.
Reader: e.g. an executive who does not usually look at the ads interface
What this report decides: e.g. next month's ad budget split, and one landing-page improvement to prioritize
If the reader is the person running the ads, go into anomalies by campaign and where to check. If the reader is an executive, put the link to revenue, the budget, the gap from the goal, and the decision first. A report aimed at everyone mixes the summary and the detail.
Align the comparison period and the definition of each metric
If the period or the definition slips in a month-to-month comparison, you still cannot decide even if the AI attaches a plausible reason. In Google Analytics period comparison, you can change the report date range and compare it with the previous period or the previous year.
Before you put something in the report, check the following.
- Are this month and last month closed? If you are mid-month, did you mark it “in progress”?
- Is the time zone the same?
- Did the definition of a conversion or of revenue change partway through?
- Are you adding CPA across ad platforms when you should not?
- For a rate, are the numerator and the denominator there too?
- Can you tell which data failed to load, or which source is not connected?
When you compare a 31-day month with a 30-day month, keep the difference in the number of days. If the same month last year matters to the business, prepare year-over-year separately from month-over-month.
Split the data you pass to AI into five boxes
You do not need to paste every admin screen as it is. Sort it into these five.
| Input | Contents |
|---|---|
| Goals | Monthly revenue, inquiries, allowable CPA, and so on |
| Results by channel | GA4, search, Google Ads, Meta ads, social, and so on |
| Actions carried out | Date, what changed, the KPI it aimed at |
| Results observed | Numbers before and after, the date checked, missing data |
| External and measurement factors | Holidays, a sale, inventory, price, a tag change, a failed fetch |
Line up numbers from several channels by platform first. If the definition or the measurement method of a conversion differs by platform, a total alone hides where the change is.
An input template for ChatGPT and Gemini
Reader:
What this report decides:
Period covered:
Comparison period:
Is the period closed?:
This month's goals:
- Metric name / target / actual:
- Allowable CPA or budget cap:
Results by channel:
- Google Analytics:
- Google Search Console:
- Google Ads:
- Meta ads:
- Social such as Instagram:
- Other:
What is known for each metric:
- This month:
- Last month:
- Same month last year (if needed):
- Unit and definition:
- When the data was fetched:
Actions carried out this month:
- Action / date / KPI it aimed at:
Results observed after the action:
- Action / period checked / baseline / result / what else happened at the same time:
Business and measurement events:
- Budget, price, product, closed days, seasonality:
- Changes to tags or to the conversion definition:
Data that could not be fetched:
How to tidy a CSV before you pass it to AI is also covered in Three ways to give AI chat your own numbers.
A worked example from an actual short campaign
Our short Google Search campaign recorded ¥12,106 in spend, 322 impressions, 21 clicks, and no actual signups. Google Ads still showed incomplete conversion measurement. I organized those records into the following report example by hand. It is not an output generated by Shoryaku AI or ChatGPT.
This covers a short campaign, not a full month. In a monthly report, keep the campaign dates and days running; do not treat it as directly comparable with a full month or another channel.
Scope: our short Google Search campaign, not a full month.
Decision: resume spending, or keep advertising paused.
Conclusion:
¥12,106 in spend and 21 clicks produced no actual signups in the observed period.
Receipt of conversions in Google Ads was also unconfirmed.
We paused advertising and decided not to add spend based on this result.
Results:
- Impressions: 322
- Clicks: 21
- Cost: ¥12,106
- Average CPC: ¥12,106 ÷ 21 clicks ≈ ¥576
- Actual signups: 0
- Actual signup CPA: not calculable (zero denominator)
Confirmed:
Spend and clicks occurred, but no signup occurred during the observed period.
Unchecked:
Why visitors did not register. Landing page, intent, and data sufficiency have not been isolated.
Conversion receipt in Google Ads. The report alone does not confirm tracking works.
Proposed next action:
Owner: business owner
Deadline: before deciding to resume advertising
Check: tracking against actual signup records, and query intent against the destination
Condition for resuming: verified measurement, a basis for testing more spend, and a spending cap
Comparison limit:
There is no comparable baseline, so do not calculate a month-over-month change or improvement rate.
This small result does not prove that advertising can never work.
A small dataset can still support a bounded decision. Do not rewrite “no signups” as “the ads are bad.” State what is known and what needs checking together. The Google Ads CPA checklist explains the calculation.
GA4 key events and Google Ads conversions can also count overlapping outcomes. Keep actual registrations separate from each channel's measurement instead of adding them into a company-wide signup total. See why GA4 and Google Ads conversion counts differ for the settings to compare.
The monthly marketing report prompt
After the input template, paste the following instructions.
You edit monthly marketing reports.
Using only the data that was passed, write a report the specified reader can use for the next decision.
Rules:
- If a target or baseline is absent, mark it not set or unknown; do not invent percentage changes
- With no conversions, mark CPA as not calculable
- Do not add overlapping outcomes counted by several platforms into a company-wide total
- Do not add numbers, causes, or industry averages that are not in the input
- Do not treat mid-period numbers as a closed month
- Do not treat a failed fetch or a blank as 0
- Do not add metrics whose definitions differ by platform without explaining that
- If numbers only moved at the same time, do not assert a causal link
- Split causes into "confirmed," "hypothesis," and "insufficient information"
- Set importance by the gap from the goal, the effect on money, the size of the change, and whether next month can be decided
- Do not explain every metric in the body. Move anything that does not affect the decision to the appendix
- Make the next action specific enough to name an owner, a deadline, and the metric to watch
Output:
1. Conclusion: this month's state, and what to decide next month, in 3 sentences or fewer
2. Goals and actuals: target, actual, gap
3. Important changes: at most 5. The number, the comparison period, and what it means for the business
4. Actions carried out this month, and the results observed
5. Confirmed causes, hypothesized causes, and insufficient information
6. Priority actions for next month: at most 3. Owner, deadline, metric to watch
7. What to continue, what to stop, and what to check further
8. Data that could not be fetched, and the effect on the decision
9. Appendix: a list of numbers by channel
Shrink the output to one slide and check it
First check whether the report the AI wrote can be shrunk to this one page.
This month's conclusion
├─ Gap from the goal
├─ The largest change, and the basis
├─ Observed results of the actions carried out
└─ Three things to decide next month
If it cannot be shrunk, you put in too many metrics, or what the report is supposed to decide is vague. Move detailed tables to the appendix, and leave in the body only the numbers that change the decision.
Also, always go back to the source data for a “cause” the AI wrote. Even if search rank also fell in a month when search traffic fell, the rank drop is not necessarily the only cause. Leave search demand and a measurement change on the list of candidates too.
How to make the presentation easier to read is covered in Seven ways to make a marketing deck easier to read with AI.
Keep the monthly numbers and the action history together
By hand, after you collect the numbers for each channel, you have to look up the actions you carried out and the checks in a separate document. If a platform could not be fetched, you rewrite that note in every monthly report.
Shoryaku AI’s monthly review lines up the monthly metrics from connected Google Analytics, Google Search Console, Google Ads, Meta ads, and Instagram, together with the actions carried out, the observations at 14 days and 28 days, and the next action. A platform whose data cannot be fetched is kept as “some data missing,” and the current month is shown as “in progress.” A review you create can be copied as text and printed from the browser, and if you regenerate it, the versions are saved separately.
Summary
When you make a monthly marketing report with AI, judge it by whether it leads to next month’s decision, not by how long the text is.
- Write the reader, and what this report decides, first
- Align the period covered, the comparison period, and the definition of each metric
- Separate goals, results by channel, actions, observed results, and external factors
- Split causes into confirmed, hypothesis, and insufficient information
- Narrow the body to the important changes and next month’s actions
- Keep data you could not fetch as material for the decision too
First, write one sentence: “In this monthly report, who decides what?” Moving numbers that are unrelated to that sentence into the appendix is enough to make the report easier to read.
Start by filling in the conclusion and next actions in the template. Shoryaku AI reports bring connected channel metrics and action history together for review.