How to launch an email marketing campaign as Small Marketing Teams

Marketing & GrowthFor Small Marketing Teams3 apps11 steps~22 min to set up

Your three-person team runs every email campaign manually end-to-end. You're copy-pasting HubSpot segment exports into Klaviyo or Customer.io, rebuilding the post-send performance report every time by pulling open rates from your ESP, pipeline influence from HubSpot, and ad spend from Meta and Google into a spreadsheet that's already stale by the time you show it to the CEO. You're spending 4-6 hours on every campaign launch — briefing, list pull, QA, send, report — with none of it automated. When the CMO asks why MQL volume dipped after last week's nurture send, you have no quick answer because attribution lives in four tools that don't talk to each other.

Marketing & GrowthFor Small Marketing Teams3 apps11 steps~22 min to set up
Outcome

What you'll set up

A campaign performance dashboard that pulls live from HubSpot, your ESP (Klaviyo or Customer.io), and your ad platforms so you can see open rate, pipeline influence, and cost-per-MQL in one place without rebuilding a spreadsheet
A weekly campaign summary that Starch emails to you automatically — covering what changed in MQL volume, which sends drove pipeline, and which subject lines are underperforming — so you stop building that report from scratch every Monday
A pre-launch QA automation that checks your segment count, subject line, send time, and UTM parameters against your campaign brief in Notion before anything goes out
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 (contacts, companies, deals) on a schedule and syncs your Gmail on a schedule for reply tracking. Customer.io, Klaviyo, Meta Ads, and Google Ads are connected from Starch's integration catalog and queried live when your campaign dashboard or weekly report runs. Notion is synced on a schedule so campaign briefs are always current. LinkedIn is available for contact enrichment via browser automation — no separate API needed.

Prompts to copy
Connect HubSpot and Customer.io. Every Monday at 8am, pull last week's email sends from Customer.io — open rate, click rate, unsubscribes — and join them against HubSpot deals created or advanced in the same week. Show me which campaign touches influenced pipeline, what the cost-per-MQL was if I add in Meta Ads spend, and flag any sends where open rate dropped more than 5 points versus our 90-day average. Email me the summary.
Build me a campaign launch checklist app. When I describe a new email campaign — audience, goal, send date, ESP, UTM parameters — check our Notion campaign brief database to confirm the brief is approved, verify the segment count in Customer.io is within 10% of what the brief says, and surface a summary I can paste into Slack to confirm go/no-go with the team.
Connect Gmail and HubSpot. When a contact replies to a campaign email, log the reply thread to their HubSpot contact record, flag if they're a deal that's been stale for more than 14 days, and draft a follow-up for me to review.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect HubSpot — Starch syncs contacts, companies, deals, and deal stages on a schedule, so your attribution data is always current without manual exports.
2 Connect Customer.io or Klaviyo from Starch's integration catalog. The agent queries your ESP live each time your campaign dashboard loads or your weekly report runs.
3 Connect Meta Ads and Google Ads from Starch's integration catalog. Starch queries campaign spend and impressions live so your cost-per-MQL numbers are always using current spend data.
4 Sync Notion — Starch connects directly to Notion so your campaign briefs, content calendars, and approval status are available to any app or automation you build.
5 Start with the Growth Analyst app and tell it: 'Pull last week's email performance from Customer.io and join it against HubSpot deals touched in the same period. Email me the top three findings Monday morning.' It runs automatically from there.
6 Build a campaign dashboard by telling Starch: 'Show me a table of every email campaign we've sent in the last 90 days — open rate, click rate, MQLs generated, pipeline influenced in HubSpot, and Meta + Google spend attributed to that campaign week.' Starch assembles the view from your connected data.
7 Build the pre-launch QA automation: describe what a clean campaign brief looks like and what parameters Starch should check before you hit send. Starch turns that into a checklist you trigger manually or on a schedule.
8 Use the Email Agent app to handle inbound campaign replies — it logs threads to HubSpot, flags stale deals, and drafts follow-ups. You review and send; nothing falls through.
9 Set up a Slack summary: tell Starch 'After the QA check passes, post a go/no-go summary to #marketing-team with segment count, send time, subject line, and UTM parameters.' The automation posts it without you copy-pasting anything.
10 For post-campaign reporting, tell Starch: 'One week after each send, pull the final open rate, click rate, HubSpot deals influenced, and cost-per-MQL and add it to my campaign performance table.' Now your campaign archive builds itself.
11 When the CEO asks why MQL volume dipped, open your campaign dashboard instead of rebuilding a spreadsheet — the attribution view is already there, joined across HubSpot, your ESP, and your ad platforms.

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

April 2026 Mid-Funnel Nurture Send — 3,400 contacts, Customer.io

Sample numbers from a real run
Customer.io open rate31
Customer.io click rate4
HubSpot deals advanced within 7 days of send14
Pipeline influenced (HubSpot)186,000
Meta Ads spend same week4,200
Google Ads spend same week2,800
Blended cost-per-MQL (7 new MQLs)1,000

Your team sent a 3,400-contact mid-funnel nurture sequence on April 8th — a three-email series targeting contacts who'd downloaded a guide but hadn't booked a demo. Customer.io reported a 31% open rate and 4% click rate, which looked fine in isolation. But when Starch's Monday morning summary hit your inbox, it flagged something the ESP dashboard doesn't show: 14 HubSpot deals advanced to 'Demo Requested' in the seven days after the send, representing $186,000 in influenced pipeline. Cross-referencing the $4,200 in Meta spend and $2,800 in Google spend from the same week, your blended cost-per-MQL for those 7 net-new MQLs was $1,000 — your best performing nurture send of the quarter. That analysis used to take you 90 minutes to rebuild in a spreadsheet. Starch emailed it to you before your first meeting.

Measurement

How you'll know it's working

Cost-per-MQL by campaign and channel (ESP send + ad spend combined)
Pipeline influenced — HubSpot deals touched or advanced within 7 days of a send
Email open rate and click rate trend vs. 90-day baseline (not just point-in-time)
Campaign-to-pipeline attribution rate — what % of MQLs in a given month trace back to an email touch
Time from campaign brief approval in Notion to send (cycle time)
Comparison

What this replaces

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

HubSpot Marketing Hub (Starter/Pro)
Has built-in email sending and attribution reporting, but costs $800-$3,200/month at your company size, requires admin time to maintain, and still won't join ESP data from Customer.io or Klaviyo if you're not sending through HubSpot.
Looker Studio + manual CSV exports
Free and flexible, but the joins are manual — someone on your team rebuilds the pipeline-attribution view after every send, which is exactly the work Starch automates.
Segment + dbt + a BI tool
The right long-term solution for a 10-person data team; far too much engineering overhead for a three-person marketing team without an in-house analyst or data engineer.
Zapier + Google Sheets
Works for simple field-syncing between two apps, but falls apart when you need a joined view across HubSpot, an ESP, two ad platforms, and Notion — each new connection multiplies the maintenance burden.
On Starch RECOMMENDED

One platform — growth analyst, crm, email agent 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

We send through Customer.io, not Klaviyo. Does that matter?
No. Both Customer.io and Klaviyo are available from Starch's integration catalog — the agent queries whichever one you connect live when your dashboard or automation runs. If you switch ESPs later, you update the connection and the apps keep working.
Does Starch actually store our HubSpot deal data or just read it on demand?
HubSpot is a scheduled-sync provider — Starch syncs your contacts, companies, and deals on a schedule and stores them in Starch's database. That's what lets your Monday morning report run automatically at 8am without waiting for a live API call to finish. Your ESP data from Customer.io or Klaviyo is queried live when the report runs, so it reflects the current state of each campaign.
Can Starch actually attribute pipeline to a specific email campaign, or is this just open rate reporting?
Attribution depth depends on what's in HubSpot. If your team logs campaign UTMs to contact records or uses HubSpot's activity timeline, Starch can join that against deal stage changes within a time window you define — for example, deals that advanced to 'Demo Requested' within 7 days of a send. It's not probabilistic multi-touch attribution from a dedicated attribution tool; it's a direct join of your existing HubSpot and ESP data. For most three-person teams, that's good enough to answer 'did this campaign move the pipeline needle.'
We don't have a dedicated analyst. Will we actually be able to build these dashboards ourselves?
Yes — that's the point. You describe what you want in plain language ('show me a table of every campaign in the last 90 days with open rate, MQLs, and pipeline influenced') and Starch builds it. No SQL, no drag-and-drop, no waiting for an engineer. You can start with the Growth Analyst app as a baseline and add the HubSpot and ESP joins on top.
Is Starch SOC 2 certified? We'll need to check with IT before connecting HubSpot.
Starch is not SOC 2 Type II certified yet. That's the honest answer. If your IT policy requires SOC 2 before connecting a CRM or ESP, that's a real constraint to check before signing up. It's on the roadmap.
Can Starch replace our ESP — can it send the emails, not just report on them?
No. Starch is not an email sending platform. It connects to your existing ESP (Klaviyo, Customer.io, Mailchimp, etc.) and surfaces reporting, attribution, and QA automation on top of the sends you're already running there. Your deliverability reputation, suppression lists, and sending infrastructure stay in your ESP.
What about our Notion campaign briefs — can Starch actually read those?
Yes. Notion is a scheduled-sync provider — Starch syncs your pages and databases on a schedule. Your campaign brief database is available to any app or automation you build, so a pre-launch QA check can read the brief and verify your Customer.io segment count matches what was approved.

Ready to run launch an email marketing campaign on Starch?

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

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