How to run a monthly marketing review

Run a monthly marketing review in 90 minutes on the last Sunday of the month, on top of your weekly Sunday count: check the numbers against your own records, mark each channel keep, more or stop by one rule, fix the one step where buyers drop off, and set next month's targets.

ByDinesh BypillaReviewed byMurali SidLast checked 17 min read

You do the work every day and fill in a row every Sunday, but at the end of the month you still cannot say what worked, what to stop, or what to change. Here is how to run a monthly marketing review in 90 minutes on the last Sunday of the month, built on the weekly count you already do. Without it, slow channels get dropped too early, busy ones keep their hours because they feel good, and the same leak loses you buyers for another month.

Do these three things

About 30 minutes every Sunday, and 90 minutes on the last Sunday of the month. Judge a channel only after its full test, such as 2,800 messages or month 3 for search.

Show the three actions in full
  1. Today: book 90 minutes on the last Sunday of every month in Google Calendar, and add a "Months" tab to your Sunday sheet.
  2. Every Sunday: fill in the week's row as you do now: what you did, the hours and dollars, the chats, and new paying customers by where they came from.
  3. Last Sunday of each month: check the month against your own records, mark each channel keep, more or stop, and write next month's targets: 100 messages, 20 answers and 2 posts a day, or more.

Get help doing these

ChatGPT or Claude reads this guide and works through it with you.

1. Put a monthly marketing review on the last Sunday of every month

Book one repeating 90-minute event on the last Sunday of every month, straight after your weekly Sunday count. The weekly count does not stop. The review sits on top of it.

In Google Calendar, click Create, give the event the date of this month's last Sunday, and name it "Monthly marketing review". Click the arrow next to "Does not repeat" and pick "Monthly on the last Sunday". Pick it straight from that list: if you open "Custom" first, the last-Sunday choice does not show. Set it to start right after the time you fill in your Sunday row, then click Save.

Use one rule to split weeks into months: a week belongs to the month its Sunday falls in. Some months then have 4 rows and some have 5. That is fine: you compare counts, and you note how many weeks each month had. The review covers every week since the last review.

Then open your Sunday sheet and add a tab called "Months". It holds one row per channel per month. You fill it in step 4.

The Months tab
Month | Weeks in it | Channel | Work done (messages, answers, posts, pages, ad $) | Hours | Dollars | Chats, signups or enquiries | Next step (trials, samples, quotes, carts) | New paying customers | Hours per result | Last month | Label (keep / more / stop) | Next month's hours a day
  • Tool: Google Calendar and Google Sheets. Both free.
  • Time: 10 minutes.
  • You will have: a review booked on the last Sunday of every month, and an empty Months tab.
  • It worked if: your calendar shows the review on the last Sunday of each of the next 3 months, after the Sunday row.
  • Common mistake: replacing the weekly count with a monthly one. A month is too long to wait to see that the work stopped. The other mistake is putting the review on the 1st of the month. Most months, the 1st lands in the middle of a busy week, and the review gets pushed aside.

2. Keep counting every Sunday so the month adds itself up

Fill in one row every Sunday, with the same columns every week. The monthly review adds up these rows. If a row is missing, the month is a guess.

Each row needs four kinds of number, split by channel:

  1. What you did: messages sent, answers posted, posts, pages published, ad money spent. This tells you if a channel has had its full test.
  2. Hours and dollars: the same daily log your CAC sheet uses. Five minutes a day.
  3. What came back: chats, signups, enquiries or orders, and the next step after them, such as a trial, a sample or a quote.
  4. New paying customers, each with a source: from your "Where did you hear about us?" question, which is self-reported attribution, and from the UTM tags on your links.

Keep the columns the same all month. If you add a channel mid-month, give it a new column and leave the old weeks blank, not zero.

Leave out likes, followers and impressions. They can sit in a note, but they do not decide anything in the review.

  • Tool: Google Sheets.
  • Time: 20 to 30 minutes each Sunday.
  • You will have: 4 or 5 rows by the last Sunday of the month.
  • It worked if: every week has a row, and every new paying customer in it has a source.
  • Common mistake: skipping a busy week's row and "catching up" at the end of the month. By then nobody remembers where the customer came from.

3. Check your numbers against your own records first

Before you read any result, check that the numbers are right. Five checks, 15 minutes. A wrong number read carefully is still wrong.

  1. Did the work happen? Count the days your marketing block happened. If it was fewer than 25 of 28 days, or the month's messages are far under 100 a day, the month tells you about your week, not your channels. Fix the week first, and do not stop any channel this month.
  2. Do new paying customers match your own records? Count them where the money lands, for the same weeks. They must match exactly.
  3. Do the dollars match your bank and card statements? Within $10, the line your cost per customer sheet uses.
  4. Does Google Analytics agree with your list? Compare key events in Google Analytics with your own list of signups, orders or enquiries. If they differ by more than 1 in 5, fix the tracking before you trust either.
  5. Are your tags arriving? In Google Analytics, open Reports, then Acquisition, then Traffic acquisition. "Unassigned" should be under 1 in 10 visits. If it is higher, fix the tags.

If you run a SaaS: in Stripe, open the Billing overview and read "New subscribers". Stripe counts only people who became paid subscribers in the period, not trials.

If you run a D2C store: in Shopify, open Analytics, then Reports, then "New customers over time".

If you run a B2B company or an agency: count first invoices or signed deals from your sales sheet or CRM.

Then write one line of data notes at the top of the month: anything that changed how a tool counts. Three changes from this year can make a month look different with no change in real customers:

  • Meta: since 12 January 2026, Meta no longer reports sales in its 7-day and 28-day "view" windows, so it shows fewer sales for the same orders. Count Meta ad customers from your own records.
  • Google Analytics: since mid-2026, visits from ChatGPT, Gemini and Claude have their own "AI Assistant" row. It does not go back in time, so older months show those visits under Referral or Direct. Your own AI chat row catches more of them.
  • Shopify: Shopify changed how it measures sessions between 21 and 23 September 2026, and says to treat it as "a measurement change for sessions, conversion rate, and other session-based metrics". Do not compare September's or October's store visits with August's as if nothing changed.

Write these into the data notes whenever a month you compare falls on both sides of the change.

  • Tool: Stripe, Shopify or your invoices; your bank statements; Google Analytics.
  • Time: 15 minutes.
  • You will have: a data notes line at the top of the month, and every gap fixed or written down.
  • It worked if: all five checks pass, or each failure has a written fix and a date.
  • Common mistake: taking customer counts from an ad platform or from Google Analytics. Both count by their own rules. Your bank, Stripe, Shopify or invoices count customers.

4. Add up the month by channel and compare it with last month

Add up the month's Sunday rows into one row per channel in the Months tab, then put last month's numbers next to them. Compare counts, not percentages, while your numbers are small.

Let AI do the adding. Paste the month's Sunday rows into ChatGPT or Claude with the Months tab's headers, and ask for one row per channel and a total. Check two sums yourself: total paying customers must match step 3, and total dollars must match your statements.

Then work out hours per result for each channel: its hours divided by its new paying customers. While you have fewer than 3 paying customers in total, divide by chats, signups or enquiries instead. One customer more or less would double or halve every number, so the earlier result is the fairer one to compare.

Put the month next to last month. Under 20 of something, write the counts ("4 chats, then 9"), not a percentage. A founder on Hacker News put it plainly in April 2026: early on, "with so few data points, there's too much noise and not enough signal" (Hacker News).

Bring the numbers from the tools you already use:

  • Google Analytics: in Traffic acquisition, open the date picker, pick the first and last day of the review weeks, turn on Compare, choose "Previous period" and click Apply. Write down visits, key events and the conversion rate for each source next to last month's.
  • Google search: in Google Search Console, switch the Performance chart from Daily to Monthly, which Google added in December 2025. Bring the last 4 rows of your SEO scorecard and its monthly cost per customer.
  • SaaS revenue: Stripe's Billing overview shows MRR growth and the subscriber churn rate for the month.
  • Money: your CAC and payback for each channel, and for a store, this month's break-even ROAS from new invoices.
  • AI answers: your Sunday row of AI visits and mentions, and the tools ChatGPT names when you ask your buyer's question once this month.
  • Local: if you meet customers in person, the calls and clicks from your Google Business Profile.

Put each of these in the month's notes, next to last month's number. Skip any tool you do not use yet.

  • Tool: Google Sheets, ChatGPT or Claude, Google Analytics, Search Console, and Stripe, Shopify or your invoices.
  • Time: 25 minutes.
  • You will have: one month row per channel, a total, and last month next to each.
  • It worked if: each month row equals the sum of its Sunday rows, and the paying customers match step 3.
  • Common mistake: reading the channel with the most visits as the best one. Visits are not buyers. Rank channels by hours per paying customer, or per chat while you have fewer than 3 customers.

5. Mark each channel keep, more or stop

Give every channel one label, using the rules below in order. Labels move hours between channels. They never lower the total.

The monthly rules
Test not done → Keep (too early). It keeps its hours.
Tests: 2,800 messages · 560 answers · 56 posts on one channel · month 3 for search pages · 1,680 AI answer checks · an ad test that has spent 10 × the most you can pay per result.


Test done, 0 chats or enquiries and 0 paying customers → Stop. Write down where its hours go.


Everything else → Keep.


If any channel stopped: the channel with the fewest hours per paying customer (per chat or enquiry while you have fewer than 3 paying customers) → More. It gets every hour freed in rule 2. If nothing stopped, it stays Keep.

Money, on top of the labels:
Cash payback under 6 months → you can add money.
6 to 12 months → hold the money where it is.
Over 12 months, or longer than customers stay → stop paying for it.

The tests are the volumes the guides that teach each channel ask for: 2,800 messages, 4 weeks of 20 answers a day, 4 weeks of 2 posts a day, and month 3 for search. The money rules are the payback rules. A store also checks each ad channel against its break-even ROAS after 10 orders.

If nothing stops, nothing moves, and that is a fine result. Do not stop a channel to have something to change. Do not lower a target after a bad month either: if the month's results were small, the fix is in step 6, not in fewer messages.

If you run a SaaS: keep paid ads at $0 until at least 10 people have paid you and you know which message brought them.

  • Tool: the Months tab.
  • Time: 15 minutes.
  • You will have: a label on every channel, the rule that set it, and next month's hours a day for each.
  • It worked if: every channel has a label and a rule number, and next month's total hours are the same as this month's or more.
  • Common mistake: stopping a channel before its test is done, most often search at month 1. The other mistake is giving more hours to the channel that felt busiest, not the one with the fewest hours per result.

See it done: Carvelian's first month by channel

Carvelian Packaging is a made-up maker of custom printed boxes for small food and drink brands. One founder sells through calls, samples and quotes.

Weeks 1 to 4, 28 of 28 block days

ChannelWork doneHoursDollarsChatsSample requestsNew clientsHours per chatLabel
Messages2,80091$182611311.5Keep (fewest hours per chat)
Answers in groups56028$144107Keep
LinkedIn posts5615$143105Keep
Shared tools––$30–––––

Why it works: Every test was done and every channel brought chats, so nothing stops and no hours move.

6. Find the step where most buyers stop, and pick one fix

Write the month as a chain, from the work you did to the people who paid. Find the first step that is below its line, and change only that one thing next month.

First, check last month's fix. Did that step's number go up, after at least the same volume? If yes, keep the change. If no, undo it or try the next idea for the same step.

Then build this month's chain. Each line below comes from the guide that teaches that step:

StepThe line to beatIf you are below it
Messages to chats or enquiries3 per 100 messages; fix it under 2Rewrite the first line so it is more about them
Booked calls to calls held8 of 10Book closer to the yes and send a reminder the morning of the call
Calls that fit to a dated next stephalf of themEnd every call with a date for the next step
Proposals to a clear answer7 in 10 by day 14Rewrite the proposal so it has a decision date
Trials that reach the first win to paying1 in 3 before the trial endsWork on the trial and activation
Store visits to add to cart3 in 100Fix the store
Carts to orders2 in 10Fix shipping costs and checkout surprises

If you run a SaaS: your chain is messages, chats, signups, used the main feature, paid. If visits come but signups do not, fix the site before you send more people.

If you run a B2B company or an agency: your chain is messages, chats, calls, proposals or quotes, signed. Count open proposals too: they are next month's clients. If your enquiry form brings enquiries, add a line for enquiries answered within 1 hour.

Pick the first step from the top that is below its line. If every step passes, pick the step with the fewest people in it after the first one. Write the fix as one change, with a number: "End every chat by booking a sample with a date for the follow-up call", not "improve sales calls". If nothing at all brings a chat after the full tests, the problem is the offer or the buyer: find out why no one is buying.

  • Tool: the Months tab.
  • Time: 15 minutes.
  • You will have: one fix for next month, the step it is for, and the line it has to beat.
  • It worked if: at next month's review, that step's number is higher after at least the same volume.
  • Common mistake: changing the message, the page, the price and the channel in the same month. Then you cannot tell which change did anything.

See it done: Carvelian's chain for the month

Month 1

StepNumberLinePass?
Messages to chats2,800 to 61 (2.2 per 100)fix it under 2Yes, just
Chats to a dated next step68 to 15 sample requests (about 1 in 5)halfNo
Samples to first order15 to 1too early at 1 client–

The fix: Dan ends every chat by offering a sample box and booking the follow-up call for 5 days after it arrives.

Why it works: Messages pass their line, so the leak is after the chat: most chats ended without a next step.

7. Write next month's plan and put it in your calendar

Finish the review by writing a one-page plan for next month: the daily targets, the hours for each channel, and the one fix. Then change your calendar to match.

Ask ChatGPT or Claude to fill the template from your Months tab and your step 6 fix. Read every line, and change any target it lowered.

Next month's plan
Month: [month]. Weeks in it: [4 or 5]. Next review: [the last Sunday].Data notes: [anything that changed how a tool counts, and any tracking fix]Every day: [100 or more] messages · [20 or more] answers across 5 places · [2] posts on [channel] · [1] page for search, if search is one of your channelsHours a day by channel: [channel]: [hours] · [channel]: [hours] · [channel]: [hours]
Total: [same as this month or more]Labels: [channel]: keep / more / stop, rule [number]Last month's fix: [what it was] → [the number before] → [the number after]: keep / undo
This month's fix: [one change] for [step]. Line to beat: [line].Money: [ads or tools you add, hold or stop, with the payback or ROAS rule]

Then open Google Calendar and change the daily marketing block to the new hours for each channel. If a channel stopped, delete its time and give it to the "more" channel the same day.

Two more checks, once a month:

  • Has growth stalled? If last month brought at least 6 signups, orders or enquiries and this month brought half as many or fewer, or CAC rose on every channel for 2 months in a row, read how to get growth moving again.
  • Is one channel clearly working? If one channel has been "more" for 2 months and its test is done, choose the next channel to add, with hours taken from product work, not from the channel that works.

If you run an agency: this is your own agency's marketing. Your clients' results go in a separate monthly client report, one per client.

  • Tool: Google Docs or a tab in your sheet, ChatGPT or Claude, and Google Calendar.
  • Time: 20 minutes.
  • You will have: a one-page plan for next month, and a calendar that matches it.
  • It worked if: every day next month has its block with the new hours, and the plan names one fix and the line it must beat.
  • Common mistake: writing a plan with lower targets after a slow month. Slow results come from too little volume or from one leaking step, and fewer messages fixes neither.

See it done: Carvelian's plan for month 2

Month 2

LinePlan
Every day100 messages · 20 answers in 5 food-maker groups · 2 LinkedIn posts
Hours a dayMessages 3 h 15 min · Answers 1 h · Posts 15 min, plus 2 h on Sunday
LabelsMessages keep · Answers keep · Posts keep
This month's fixBook a sample and a follow-up call date at the end of every chat. Line: half of chats.
Next reviewLast Sunday of the month, after the Sunday row

Why it works: The targets stay at full volume, the hours stay where they were, and only one thing changes.

Your monthly marketing review checklist

0 of 9 done

Work through this list with an AI assistant

It drafts the work and keeps track of what is done.

Step 1 · Put a monthly marketing review on the last Sunday of every month

Step 2 · Keep counting every Sunday so the month adds itself up

Step 3 · Check your numbers against your own records first

Step 4 · Add up the month by channel and compare it with last month

Step 5 · Mark each channel keep, more or stop

Step 6 · Find the step where most buyers stop, and pick one fix

Step 7 · Write next month's plan and put it in your calendar

Frequently asked questions

What should a monthly marketing review include?

Five parts: a check that the numbers match your own records, the month added up by channel next to last month, a keep, more or stop label on each channel, one fix for the step where most buyers stop, and next month's targets and hours. Lead with paying customers and hours per customer. Likes and impressions go in a note, not in the decision.

What is the difference between a weekly and a monthly marketing review?

The weekly count, every Sunday, records what you did and what came back, and catches a week where the work stopped. The monthly review, on the last Sunday, adds those rows up, judges channels whose full test is done, and changes one thing. Do both. A month is too long to wait to notice a missing week, and a week is too short to judge a channel.

Which marketing metrics should a small business track?

Four kinds, by channel: what you did (messages, answers, posts, pages, ad spend), what it cost in hours and dollars, what came back (chats, signups, enquiries, orders) and new paying customers with their source. From those you get cost per customer. Add MRR for software and ROAS for a store's ads.

How long should a monthly marketing review take?

About 90 minutes, after your 20 to 30 minute Sunday row. The first one takes about 2 hours, because you set up the Months tab and find last month's numbers. It gets faster once the weekly rows are complete and AI adds them up for you. If it takes much longer, you are reading too many numbers: keep to the four kinds in the sheet.

What if my numbers are too small to mean anything?

They usually are in the first months. Write counts, not percentages, and compare channels by hours per chat or enquiry until you have 3 paying customers. Judge a channel only after its full test, such as 2,800 messages. Small results almost always mean the volume was too low or one step leaks. Fix that before you drop a channel.

Sources

  1. 1.Change and compare date ranges in reports — Google Analytics Help, checked 13 October 2026
  2. 2.Introducing weekly and monthly views in Search Console — Google Search Central Blog, 10 December 2025, checked 13 October 2026
  3. 3.Billing analytics — Stripe Docs, checked 13 October 2026
  4. 4.Using the Overview dashboard — Shopify Help Center, checked 13 October 2026
  5. 5.Create a repeating event — Google Calendar Help, checked 13 October 2026
  6. 6.Google Analytics adds native AI Assistant channel to GA4's default channel group — TechWyse, 2026, checked 13 October 2026
  7. 7.Meta Ads attribution window changes 2026 — Dataslayer, 2026, checked 13 October 2026
  8. 8.Monthly Marketing Report Template: A Complete Guide for Marketing Analysts (2026) — Improvado, updated 14 July 2026, checked 13 October 2026
  9. 9.Run your first monthly marketing review — The Money Bees, checked 13 October 2026
  10. 10.From Idea to App Store Was Predictable. From Launch to Traction Was Not — Hacker News, 7 April 2026

Next article to read

How to get growth moving again when it stallsOnce the numbers stop rising, this shows what to try next.Read it next

Guides that link here

Cite this page

Dinesh Bypilla (2026). How to run a monthly marketing review. Scout7 Academy. https://scout7.ai/academy/measurement/how-to-run-a-monthly-marketing-review

Written by Dinesh Bypilla, Agentic systems engineer at Scout7. Reviewed by Murali Sid. Last checked 13 October 2026.

Quote any part of this guide with a link back to this page. © 2026 Scout7.

Markdown version of this page: https://scout7.ai/academy/measurement/how-to-run-a-monthly-marketing-review.md