

How to Track Newsletter Performance from Gmail to Google Sheets with Make
Log outgoing newsletter sends and track replies/bounces in Google Sheets to measure engagement without expensive email marketing tools.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Small teams sending weekly/monthly newsletters who need engagement tracking without email marketing tool costs
Not ideal for
High-volume daily senders or teams already using dedicated email marketing platforms with built-in analytics
Sync type
pollingUse case type
trackingReal-World Example
A 12-person B2B SaaS startup sends a weekly product update newsletter to 500 subscribers using Gmail. Before automation, they manually counted replies in their inbox and had no visibility into which updates drove the most engagement. Now they track send volumes, reply rates, and topic performance in a Google Sheet that feeds their monthly content planning meetings.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into Make
Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Subject Line | subject | |
| Send Date | date | |
| Recipients | to | |
| Message Type | custom_type | |
2 optional fields▸ show
| Thread ID | threadId |
| Reply Sender | from |
Step-by-Step Setup
Scenarios > Create > Gmail > Watch Emails
Create new scenario and add Gmail trigger
Set up Make to monitor your Gmail account for new sent emails and filter for newsletter campaigns.
- 1Click 'Create a new scenario' from your Make dashboard
- 2Click the gray circle with + to add your first module
- 3Search for 'Gmail' and select it from the apps list
- 4Choose 'Watch Emails' as your trigger type
- 5Select 'Sent' from the folder dropdown
Gmail Module > Connection > Add
Connect your Gmail account
Authenticate your Google account so Make can access your sent emails and monitor outgoing newsletters.
- 1Click 'Add' next to the Connection field
- 2Select 'Google' as the connection type
- 3Click 'Continue' to open Google's auth window
- 4Sign in with the Gmail account that sends your newsletters
- 5Grant permissions when prompted by clicking 'Allow'
Gmail Module > Advanced Settings > Query
Configure email filters for newsletters
Set up filters to only capture your newsletter sends, not every outgoing email.
- 1Click 'Show advanced settings' in the Gmail module
- 2In the 'Query' field, enter subject:newsletter OR subject:weekly
- 3Set 'Limit' to 10 to avoid overwhelming your scenario
- 4Leave 'Include attachments' unchecked
- 5Click 'OK' to save the trigger settings
Gmail > + > Flow Control > Router
Add router for different tracking paths
Create branching logic to handle newsletter sends differently from replies and bounces.
- 1Click the + button after your Gmail module
- 2Select 'Router' from the Flow Control section
- 3Drag the router to position it after Gmail
- 4Click 'OK' to add the router to your scenario
Router > Path 1 > Set up a filter
Create filter for outbound newsletter sends
Set up the first router path to capture your actual newsletter sends to subscribers.
- 1Click 'Set up a filter' on the top router path
- 2Select 'Subject' from the dropdown
- 3Choose 'Contains (case insensitive)' as the operator
- 4Enter 'newsletter' in the text value field
- 5Click 'OK' to save the filter
Router Path > + > Google Sheets > Add a Row
Add Google Sheets module for send tracking
Connect the newsletter send path to log each outbound campaign in your tracking spreadsheet.
- 1Click the + at the end of your filtered router path
- 2Search for 'Google Sheets' and select it
- 3Choose 'Add a Row' from the action list
- 4Select your existing connection or create new Google connection
- 5Choose your newsletter tracking spreadsheet from the dropdown
Google Sheets Module > Field Mapping
Map newsletter send data to spreadsheet
Configure which Gmail data gets logged for each newsletter send to track your campaigns.
- 1Click in the 'Subject' field and select Gmail > Subject from the mapping panel
- 2Map 'Date' to Gmail > Date
- 3Map 'Recipients' to Gmail > To
- 4Map 'Status' and type 'Sent' as static text
- 5Map 'Reply Count' and leave blank for now
Router > Path 2 > Set up a filter
Set up second router path for replies
Create a separate detection path for when recipients reply to your newsletters.
- 1Click 'Set up a filter' on the second router path
- 2Select 'In Reply To' from the Gmail field dropdown
- 3Choose 'Is not empty' as the condition
- 4Click 'OK' to save the reply filter
- 5Add another Google Sheets 'Add a Row' module to this path
Router Path 2 > Google Sheets > Field Mapping
Configure reply tracking fields
Map reply data to track engagement and responses to your newsletter campaigns.
- 1In the second Sheets module, map 'Subject' to Gmail > Subject
- 2Map 'Date' to Gmail > Date
- 3Map 'Sender' to Gmail > From
- 4Set 'Type' to static text 'Reply'
- 5Map 'Original Thread' to Gmail > Thread ID
Scenario > Run once
Test the scenario with sample data
Run a test to verify both send and reply detection work correctly before going live.
- 1Click 'Run once' in the bottom toolbar
- 2Send yourself a test email with 'newsletter' in the subject
- 3Wait 2-3 minutes, then reply to that test email
- 4Check your Google Sheet for both the send and reply entries
- 5Verify all mapped fields populated correctly
Drop this into a Make custom function.
JavaScript — Custom Function{{split(1.to; ",").length}} - Use this formula in your recipient count field to automatically count how many people received each newsletter based on the comma-separated 'To' field.▸ Show code
{{split(1.to; ",").length}} - Use this formula in your recipient count field to automatically count how many people received each newsletter based on the comma-separated 'To' field.... expand to see full code
{{split(1.to; ",").length}} - Use this formula in your recipient count field to automatically count how many people received each newsletter based on the comma-separated 'To' field.Scaling Beyond 100+ emails/day+ Records
If your volume exceeds 100+ emails/day records, apply these adjustments.
Switch to webhook triggers
Gmail's push notifications are faster than polling and use fewer operations. Set up Gmail pub/sub in Google Cloud Console and use Make's webhook module instead of Watch Emails.
Batch spreadsheet writes
Use Make's aggregator to collect multiple emails and write them in a single Sheets operation. This cuts your operation usage by 60-80% at high volumes.
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Make for this if you send newsletters weekly or monthly and need better tracking than Gmail's basic metrics. Make's router logic handles send vs reply detection automatically, and the Gmail API gives you raw thread data that email tools hide behind paywalls. Skip Make if you send daily newsletters — the operation count gets expensive fast, and you'd be better off with a proper email service provider.
This workflow uses 3-4 operations per newsletter send (Gmail watch + router + 1-2 Sheets writes). At 50 newsletters monthly, that's 200 operations total. Make's free tier gives you 1,000 operations, so you're covered. Their Core plan at $9/month handles up to 10,000 operations. Zapier would cost $20/month for the same volume since they count each recipient as a separate task. N8n is free self-hosted but requires server management.
Zapier's Gmail trigger is faster — 1-2 minutes vs Make's 2-3 minute polling. N8n has better bulk processing if you're importing historical newsletter data. But Make's router system beats both for complex email filtering logic. You can add bounce detection, unsubscribe tracking, and engagement scoring in the same scenario without hitting task limits.
Gmail's API paginates sent emails at 100 records, so importing months of historical newsletters requires Make's iterator module. The 'To' field format changes based on recipient count — single recipients show as plain emails, multiple recipients get formatted with display names. Gmail's thread detection breaks if recipients change the subject line, leaving orphaned replies in your tracking data.
Ideas for what to build next
- →Add engagement scoring — Create formulas in your tracking sheet to calculate reply rates, popular topics, and subscriber engagement trends over time.
- →Set up automated reporting — Build a monthly summary automation that emails your team a digest of newsletter performance metrics and top-performing subject lines.
- →Integrate with your CRM — Connect high-engagement newsletter replies to your sales pipeline by forwarding interested responses to your CRM as warm leads.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup