A mail merge sends one personalized email to a whole list at once. It pulls each person's name, email, and other details from a Google Sheet, drops them into a Gmail draft, and sends a separate message to every row.
Sending 200 emails by hand takes an afternoon. A mail merge does it in a minute, and every recipient still sees their own name at the top.
This guide shows two free ways to do it, a Google Sheets add-on and a Google Apps Script, plus the send limits you need to know before you hit go. At the end, an autoresponder option skips the setup entirely if all you need is an automatic follow-up after a form submission.
Step 1: Get Your Recipients Into a Google Sheet
Every mail merge starts with a clean Sheet. One row per person, one column per detail. At minimum you need an Email column. Add First Name, Company, or anything else you want to personalize.
If you already have a contact list, paste it in and skip ahead. If you are collecting people through a form, you can pipe submissions straight into the Sheet so it fills itself.
Connect Formester with Google Sheets and every new form submission lands as a fresh row in real time:
- Open Automate in your Formester dashboard.
- Select Integrations and choose Google Sheets.
- Connect your Google account.
- Create a new spreadsheet or pick an existing one, then hit Integrate.
Now your recipient list grows on its own. Name, email, and phone from each submission appear in the Sheet, ready for the merge.
Step 2: Method 1 (Easiest) Mail Merge With an Add-On
The fastest route is a Google Sheets add-on. Yet Another Mail Merge (YAMM) is the most popular, and it needs zero code.
- Open the Google Sheet with your contact data.
- Click Extensions, then Add-ons, then Get add-ons.
- Search for Yet Another Mail Merge and install it.
- Write your email in Gmail as a normal draft. Mark it with a star so the add-on can find it.
- In the draft, use your Sheet column names inside double curly braces. "Hi {{First Name}}" becomes "Hi Sarah" for the row where First Name is Sarah.
- Back in the Sheet, open Extensions, Yet Another Mail Merge, Start Mail Merge.
- Sign in with Gmail, pick your starred draft, send a test to yourself, then send to the full list.
One catch: the free tier caps how many emails you can send per day, usually around 50 to a few hundred depending on the add-on. For a big list you will either pay or hit a wall, which is why the next method exists.
Step 3: Method 2 (Free and Unlimited) Mail Merge With Apps Script
Apps Script is the free, no-limit path. It is Google's own scripting tool, and it sends straight from your Gmail, so you are only ever bound by Gmail's daily quota, not an add-on's paywall.
- Open your Sheet, then go to Extensions, Apps Script.
- Open Google's official Apps Script mail merge sample and copy the script.
- Paste it into a new script file and save it as Mail Merge.
- In the code, change the default column names to match yours. If the script expects "Recipient" and your column is "Email," update it so they line up.
- Write your email as a Gmail draft and star it, just like the add-on method.
- Run the script. The first run asks you to authorize it with your Gmail account; approve it.
The script reads each row and sends a personalized email to everyone on the list. Same result as a paid add-on, no per-month cap, but you do have to be comfortable pasting and tweaking a few lines of code.
Before you send: Gmail's daily limits. Neither method gets around Gmail's send caps. A free Gmail account sends about 500 emails a day. A Google Workspace account sends about 2,000. Go over and Gmail pauses you for 24 hours, so split large lists across days or use a dedicated sending tool.
Which Method Should You Use?
Three paths, three trade-offs. Pick by how big your list is and how much setup you can stomach.
Add-on (YAMM and similar)
- Best for: small one-off sends with no code.
- Cost: free tier with a daily cap; paid plans for volume.
- Setup: a few clicks, no technical skill.
Apps Script
- Best for: free, repeatable sends when you do not want a paywall.
- Cost: free, capped only by Gmail's daily limit.
- Setup: copy, paste, and edit a script once.
Formester autoresponder
- Best for: automatic follow-ups triggered by a form submission, not manual blasts.
- Cost: included with Formester; sends through your own Gmail or SMTP.
- Setup: map the email field once, then it runs on its own.
If you are emailing a static list you already have, use the add-on or Apps Script. If the emails should fire the moment someone fills out a form, the autoresponder below is the cleaner fit.
Step 4: Skip the Setup With a Formester Autoresponder
A mail merge is great for a list you already have. But if the goal is to email each person right after they fill out your form, setting up Sheets, drafts, and scripts every time is more work than it should be.
Formester's autoresponder handles that case directly. Someone submits the form, they get a personalized email back, and you never touch a spreadsheet.
- In Formester, go to Automate and add an Autoresponder.
- Name it, for example Lead Follow-Up.
- Use AI to draft a subject line and body from the form responses, or write your own.
- Map the recipient email to the respondent's email field.
- Connect your own SMTP, including Gmail, so the email sends from your branded address.
- Save and activate.
From then on, every submission triggers an instant follow-up. No daily merge, no add-on cap, no script to maintain. It is the right tool when the trigger is a form, not a manual send to a fixed list.
Final Thoughts
Mail merge turns a list into personal-feeling emails without the hours of copy-paste. For a one-off send, an add-on is the quickest start and Apps Script is the free, no-cap option once you are past a few hundred contacts.
If the email should fire the moment someone fills out your form, skip the merge and let a Formester autoresponder do it. Pick the path that matches your trigger, a fixed list or a live form, and you will spend the saved time on the message instead of the mechanics.



