How to run a monthly business review as Small Marketing Teams

Internal Comms & MeetingsFor Small Marketing Teams3 apps11 steps~22 min to set up

Your team of three runs a monthly business review that takes the better part of a week to assemble. You're pulling HubSpot deal data into a spreadsheet, manually exporting GA4 session reports, downloading Meta Ads and Google Ads CSVs, and then trying to join all of it to explain why MQL volume dropped 18% in March. Nobody owns the template consistently, so every month someone rebuilds the pipeline-contribution slide from scratch. By the time the CEO gets the deck, the numbers are four days stale and you've spent time you needed for the next campaign staring at VLOOKUP errors instead.

Internal Comms & MeetingsFor Small Marketing Teams3 apps11 steps~22 min to set up
Outcome

What you'll set up

A live marketing performance dashboard that joins HubSpot deal progression, GA4 traffic sources, and paid ad spend in one view — rebuilt automatically each month, not by hand
A recurring MBR report that drafts the narrative summary, flags the MQL-to-SQL conversion delta, and explains channel-level spend efficiency without you writing the first sentence
A standing agenda and action-item tracker so decisions from this month's review actually show up in next month's — and no one has to ask 'wait, didn't we agree to pause that campaign?'
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

Starch syncs your HubSpot data on a schedule (contacts, companies, deals, owners) and syncs your Gmail on a schedule for context on deal threads. Connect Google Analytics 4, Meta Ads, Google Ads, and LinkedIn Ads from Starch's integration catalog — the agent queries each live when your monthly report runs. Notion syncs on a schedule for campaign briefs and historical context. Customer.io or Mailchimp connect from Starch's integration catalog for email performance data queried live.

Prompts to copy
Build me a monthly marketing performance report that pulls HubSpot deals created and closed-won this month, joins them against GA4 sessions by source/medium, and shows pipeline contribution by channel alongside MQL volume vs. last month
Every first Monday of the month, pull our HubSpot deal data and our GA4 organic and paid traffic, then draft a 400-word narrative summary of what moved, what didn't, and what needs a decision — send it to me and our head of demand gen before the MBR meeting
After each monthly business review meeting, generate a summary with key decisions, open questions, and action items tagged to each owner — save it to our shared meeting archive
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect HubSpot — Starch syncs your deals, contacts, companies, and owners on a schedule so your pipeline data is always current when the monthly report runs.
2 Connect Google Analytics 4, Meta Ads, Google Ads, and LinkedIn Ads from Starch's integration catalog. The agent queries each one live when your MBR app runs, so you're always pulling the actual month's numbers, not a stale export.
3 Connect Notion from Starch's scheduled sync so your campaign briefs and quarterly OKRs are available as context when the report drafts its narrative.
4 Connect Customer.io or Mailchimp from Starch's integration catalog so email engagement metrics (open rate, click rate, unsubscribe rate by campaign) show up in the same report as paid and organic.
5 Start with the Sales Agent CRM app to get the HubSpot layer working — fork it to add a pipeline-by-source breakdown that shows which acquisition channels are producing deals that actually close, not just leads.
6 Build your monthly report app on top: describe the output you want in natural language. Tell Starch which metrics matter to your CEO, which channels you're accountable for, and what 'a bad month' looks like so the narrative flags the right things.
7 Set a scheduled automation to run on the last business day of each month — it pulls all connected data sources, calculates MoM and YoY deltas, drafts the narrative summary, and emails the draft to the team for a quick review before the meeting.
8 Add the Meeting Notes app to your MBR meeting link. It transcribes the call, surfaces key decisions and open questions in a structured summary, and tags action items to the right people — so the output of the review is as organized as the input.
9 Wire a follow-up automation: after each MBR, Starch posts the decision log and action items to the designated Slack channel so nothing gets lost in someone's inbox.
10 Each month, review the draft narrative in Starch before the meeting. If the story is wrong — a channel mix shift, a one-time event skewing the numbers — edit the context directly and regenerate. You own the narrative; Starch drafts it.
11 After three months, you'll have a searchable archive of MBR summaries, decisions, and action items in one place. When the CEO asks 'didn't we decide to cut LinkedIn spend in Q1?' — you can find the exact moment it was discussed.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

March 2026 MBR — demand gen review for a 120-person B2B SaaS company

Sample numbers from a real run
Total MQLs312
MQL vs. Feb (delta)-47
Closed-won pipeline from organic184,000
Closed-won pipeline from paid97,000
Meta Ads spend18,400
Google Ads spend14,200
LinkedIn Ads spend9,800
Email-influenced pipeline (Customer.io)63,000
MQL-to-SQL conversion rate22

When the March MBR automation ran on March 31, Starch pulled 312 MQLs from HubSpot — down 47 from February. The narrative draft flagged that organic sessions from GA4 were actually up 8% MoM, which ruled out an SEO problem. Digging into the paid channel data queried live from Meta Ads and Google Ads, it surfaced that CPL on Meta had climbed from $41 to $68 over three weeks — a creative fatigue pattern the team hadn't caught because no one was watching spend efficiency in real time. LinkedIn Ads drove 14 MQLs at $700 each, which the report flagged as significantly above target. Email-influenced pipeline from Customer.io was $63,000, holding steady. The draft narrative the team reviewed before the meeting already said: 'Meta CPL increase of 66% since March 9 is the primary driver of MQL decline — recommend pausing bottom-funnel creative and testing two new ad sets in April.' The meeting was 40 minutes instead of 90 because the diagnosis was already written. Meeting Notes captured the decision to pause Meta creative and assign a new brief to the contractor, which was posted to Slack automatically after the call.

Measurement

How you'll know it's working

MQL volume MoM and vs. plan, broken down by acquisition channel
Pipeline contribution by source (organic, paid, email, events) — deals created and closed-won
Cost per MQL and cost per SQL by paid channel (Meta, Google, LinkedIn)
MQL-to-SQL conversion rate by lead source
Email-influenced pipeline from lifecycle and nurture programs
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Looker Studio or Tableau with manual data exports
You can build the attribution view, but someone still has to export CSVs, maintain the data connectors, and write the narrative themselves — Starch does all three.
HubSpot reporting + native dashboards
HubSpot shows you what's in HubSpot; it can't join GA4 session data, Meta Ads spend, or Customer.io email performance into a single pipeline-contribution view without a separate BI layer.
Google Sheets with manual joins
Works until it doesn't — when the GA4 export format changes or someone edits the wrong cell, the whole MBR prep breaks and you spend Tuesday morning fixing VLOOKUP errors instead of prepping the meeting.
A BI tool (e.g., Metabase, Hex)
More powerful for long-horizon data warehousing, but requires SQL knowledge, data engineering time to set up connectors, and doesn't draft the narrative or run the meeting follow-up — Starch is faster to stand up for a three-person team without a data hire.
On Starch RECOMMENDED

One platform — sales agent crm, growth analyst, meeting notes all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

Does Starch actually store our HubSpot deal data, or does it just query it in the moment?
Starch syncs your HubSpot data on a schedule — deals, contacts, companies, owners — and stores it in Starch's database. That's what makes trend comparisons (this month vs. last month) work without waiting for a live API call every time the report runs. GA4, Meta Ads, and Google Ads are queried live from Starch's integration catalog when your app runs, rather than stored — so they always reflect current data, but Starch doesn't archive a long history of those sources.
We use Customer.io, not Mailchimp. Does that matter?
No. Both Customer.io and Mailchimp connect from Starch's integration catalog and are queried live. If you describe your report to include email engagement metrics, Starch queries whichever ESP you've connected. You don't need to rebuild anything if you switch tools later.
Can Starch explain why MQL volume dropped, or does it just show the number?
Both. The report shows the number with MoM and YoY deltas. If you ask Starch to draft a narrative — 'explain what drove the MQL change this month and flag anything that needs a decision' — it uses the connected data sources to write a diagnosis, not just a summary. The draft won't be perfect every month, but it's a starting point that takes 10 minutes to review, not 4 hours to write.
Is Starch SOC 2 certified? We'd be connecting HubSpot, GA4, and ad platforms.
Starch is not SOC 2 Type II certified yet. If your company has data security requirements that depend on SOC 2, that's worth knowing upfront. It's on the roadmap, but we won't claim it before it's done.
What happens to action items from the meeting? Do they just live in the meeting summary?
Meeting Notes captures action items and tags them to the right people in the post-meeting summary. You can wire an automation to post those action items to a Slack channel immediately after the call — so the team sees them without anyone having to copy-paste from the transcript. They're also archived in Meeting Notes' searchable history, so next month's MBR prep can start with 'what did we decide last month?'
We already use Notion for campaign briefs. Will Starch pull that context into the report?
Yes. Starch syncs Notion on a schedule — pages and databases — so when your monthly report drafts the narrative, it can reference your active campaign briefs, quarterly goals, or whatever context lives in Notion. Tell Starch which Notion databases matter and it will use them when generating the report.

Ready to run run a monthly business review on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.