Beginner~12 min setupEmail & ProductivityVerified April 2026
Gmail logo
Google Sheets logo

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

polling

Use case type

tracking

Real-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.

1 op per trigger eventEach time this workflow runs counts as one operation toward your monthly limit.
/mo
505005K50K

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

Skip the setup

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.

Gmail account that sends your newsletters
Google Sheets spreadsheet with column headers for tracking data
Make account with available operations (free tier works for testing)
Consistent newsletter subject line patterns for filtering

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Subject Linesubject
Send Datedate
Recipientsto
Message Typecustom_type
2 optional fields▸ show
Thread IDthreadId
Reply Senderfrom

Step-by-Step Setup

1

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.

  1. 1Click 'Create a new scenario' from your Make dashboard
  2. 2Click the gray circle with + to add your first module
  3. 3Search for 'Gmail' and select it from the apps list
  4. 4Choose 'Watch Emails' as your trigger type
  5. 5Select 'Sent' from the folder dropdown
What you should see: You should see a Gmail module with 'Watch Emails' configured to monitor your Sent folder.
Common mistake — Don't select 'Watch New Emails' — that monitors your inbox, not sent messages
Make
+
click +
search apps
Gmail
GM
Gmail
Create new scenario and add …
Gmail
GM
module added
2

Gmail Module > Connection > Add

Connect your Gmail account

Authenticate your Google account so Make can access your sent emails and monitor outgoing newsletters.

  1. 1Click 'Add' next to the Connection field
  2. 2Select 'Google' as the connection type
  3. 3Click 'Continue' to open Google's auth window
  4. 4Sign in with the Gmail account that sends your newsletters
  5. 5Grant permissions when prompted by clicking 'Allow'
What you should see: You should see a green 'Connected' status with your Gmail address displayed in the connection field.
Common mistake — Use the same Google account that sends your newsletters — switching accounts later requires reconnecting all modules
Make settings
Connection
Choose a connection…Add
click Add
Gmail
Log in to authorize
Authorize Make
popup window
Connected
green checkmark
3

Gmail Module > Advanced Settings > Query

Configure email filters for newsletters

Set up filters to only capture your newsletter sends, not every outgoing email.

  1. 1Click 'Show advanced settings' in the Gmail module
  2. 2In the 'Query' field, enter subject:newsletter OR subject:weekly
  3. 3Set 'Limit' to 10 to avoid overwhelming your scenario
  4. 4Leave 'Include attachments' unchecked
  5. 5Click 'OK' to save the trigger settings
What you should see: The Gmail module now shows your query filter and will only trigger on emails matching your newsletter subject patterns.
Common mistake — Gmail search is case-insensitive but exact — 'newsletter' won't match 'Newsletter Update' unless you add OR subject:'Newsletter Update'
Gmail
GM
trigger
filter
Condition
= "New"
yes — passes through
no — skipped
Google Sheets
GO
notified
4

Gmail > + > Flow Control > Router

Add router for different tracking paths

Create branching logic to handle newsletter sends differently from replies and bounces.

  1. 1Click the + button after your Gmail module
  2. 2Select 'Router' from the Flow Control section
  3. 3Drag the router to position it after Gmail
  4. 4Click 'OK' to add the router to your scenario
What you should see: You should see a router module with two empty paths branching from your Gmail trigger.
5

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.

  1. 1Click 'Set up a filter' on the top router path
  2. 2Select 'Subject' from the dropdown
  3. 3Choose 'Contains (case insensitive)' as the operator
  4. 4Enter 'newsletter' in the text value field
  5. 5Click 'OK' to save the filter
What you should see: The top path shows a filter icon and 'Subject contains newsletter' in the filter summary.
Common mistake — This filter catches outbound newsletters — the reply detection comes in a separate path
6

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.

  1. 1Click the + at the end of your filtered router path
  2. 2Search for 'Google Sheets' and select it
  3. 3Choose 'Add a Row' from the action list
  4. 4Select your existing connection or create new Google connection
  5. 5Choose your newsletter tracking spreadsheet from the dropdown
What you should see: You should see a Google Sheets module ready to add rows to your selected spreadsheet.
Common mistake — Create your tracking spreadsheet first with column headers — Make won't auto-generate the structure
7

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.

  1. 1Click in the 'Subject' field and select Gmail > Subject from the mapping panel
  2. 2Map 'Date' to Gmail > Date
  3. 3Map 'Recipients' to Gmail > To
  4. 4Map 'Status' and type 'Sent' as static text
  5. 5Map 'Reply Count' and leave blank for now
What you should see: Your Google Sheets module shows mapped fields with Gmail data tokens, creating a complete send log.
Common mistake — Don't use Gmail > To (formatted) — it includes display names that break recipient counting formulas
Gmail fields
from
subject
snippet
body
date
available as variables:
1.props.from
1.props.subject
1.props.snippet
1.props.body
1.props.date
8

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.

  1. 1Click 'Set up a filter' on the second router path
  2. 2Select 'In Reply To' from the Gmail field dropdown
  3. 3Choose 'Is not empty' as the condition
  4. 4Click 'OK' to save the reply filter
  5. 5Add another Google Sheets 'Add a Row' module to this path
What you should see: The second router path now filters for email replies and connects to your tracking sheet.
Common mistake — Gmail's 'In Reply To' field is only populated for actual replies — forwards won't trigger this path
9

Router Path 2 > Google Sheets > Field Mapping

Configure reply tracking fields

Map reply data to track engagement and responses to your newsletter campaigns.

  1. 1In the second Sheets module, map 'Subject' to Gmail > Subject
  2. 2Map 'Date' to Gmail > Date
  3. 3Map 'Sender' to Gmail > From
  4. 4Set 'Type' to static text 'Reply'
  5. 5Map 'Original Thread' to Gmail > Thread ID
What you should see: Your reply tracking path now logs respondent information linked to original newsletter threads.
Common mistake — Thread ID is crucial for linking replies back to original sends — don't skip this field
10

Scenario > Run once

Test the scenario with sample data

Run a test to verify both send and reply detection work correctly before going live.

  1. 1Click 'Run once' in the bottom toolbar
  2. 2Send yourself a test email with 'newsletter' in the subject
  3. 3Wait 2-3 minutes, then reply to that test email
  4. 4Check your Google Sheet for both the send and reply entries
  5. 5Verify all mapped fields populated correctly
What you should see: Your spreadsheet should show two new rows: one for the test send and one for your reply, with all fields populated.
Common mistake — Gmail API has a 2-3 minute delay — don't panic if entries don't appear immediately after sending

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.
Make
▶ Run once
executed
Gmail
Google Sheets
Google Sheets
🔔 notification
received

Scaling Beyond 100+ emails/day+ Records

If your volume exceeds 100+ emails/day records, apply these adjustments.

1

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.

2

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

VerdictWhy Make for this workflow

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.

Cost

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.

Tradeoffs

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 scoringCreate formulas in your tracking sheet to calculate reply rates, popular topics, and subscriber engagement trends over time.
  • Set up automated reportingBuild a monthly summary automation that emails your team a digest of newsletter performance metrics and top-performing subject lines.
  • Integrate with your CRMConnect high-engagement newsletter replies to your sales pipeline by forwarding interested responses to your CRM as warm leads.

Related guides

Was this guide helpful?
Gmail + Google Sheets overviewMake profile →