How to Mail Merge in Gmail: Built-in, YAMM, GMass, Sheets
The Warmuply TeamLast checked: October 2026
If you want to send the same email to a list of people, with each person's name and details filled in, you need a mail merge. This guide shows how to mail merge in Gmail four ways: Gmail's built-in mail merge, YAMM, GMass, and Google's free Apps Script sample for Google Sheets.
It's for business owners, founders, recruiters and small teams sending personalized bulk email from their own Google Workspace address, especially if this is your first bulk send. You'll get the steps for each option, the daily limits, a table to help you choose, and a short checklist so your emails have the best chance of landing in the inbox.
Steps and limits come from Google's and each tool's own pages, checked October 2026. Tools change their menus from time to time, so if a button name differs slightly, look for the nearest match.
What is a mail merge in Gmail?
A mail merge sends one email template to many people as separate emails. Each person gets their own copy, with details like their first name or company filled in from a spreadsheet.
Two pieces make it work:
- A contact list, usually a Google Sheet. Row 1 holds the column names (Email, First name, Company). Each row below it is one person.
- A template: the email you write once, with merge tags where each person's details should go. A merge tag is a placeholder such as
@firstnameor{{First name}}, depending on the tool.
How a mail merge works
The tool reads each row, swaps the tags for that person's details and sends one email per person. Recipients can't see who else got it, and replies come back to your inbox like any other email.
Which Gmail mail merge option should you use?
Choose by your Google Workspace plan and where you like to work. All four send from your own Gmail inbox, so all four count toward Google's sending limits.
| Gmail's built-in mail merge | YAMM | GMass | Apps Script (Google's free sample) | |
|---|---|---|---|---|
| Where you set it up | Gmail compose window | Google Sheets add-on | Chrome extension inside Gmail | Google Sheets, with a short script |
| What you need | An eligible Google Workspace plan | YAMM installed (free or Pro plan) | GMass installed in Chrome (free or paid plan) | A Google account; nothing to install |
| Daily cap from the tool | 1,500 recipients | 20 on free; 400 on Pro with a new Workspace account; 1,500 on Pro with a confirmed Workspace account | 50 a day on free; no GMass cap on paid | 1,500 recipients on Workspace |
| Merge tags in the subject line | No | Yes | Yes | Yes |
| Unsubscribe link | Added automatically | Insert YAMM's link yourself | Unsubscribe management included | None built in; you handle opt-outs |
| A good fit if | You're on an eligible plan and want nothing extra to install | Your list lives in Sheets and you want send status written back to it | You'd rather do everything inside Gmail | You're comfortable copying and lightly editing a script |
Pick your option
For a closer look at features and pricing, read our comparison of Gmail mail merge vs YAMM vs GMass.
How to mail merge in Gmail with the built-in tool
Gmail's own mail merge lives in the compose window, so there's nothing to install. Google lists it on these Google Workspace plans: Workspace Individual, Business Standard, Business Plus, Enterprise Standard, Enterprise Plus, Education Standard and Education Plus. Business Starter isn't on the list.
(Google Workspace is Google's paid business version of Gmail, with an address on your own domain, like you@yourcompany.com. Your domain is the part after the @.)
If the option doesn't appear for you, our guide to a missing Gmail mail merge option explains which plans have it and what to check.
Option A: add recipients from a Google Sheet
Google says your contacts must be on the first tab of the spreadsheet, and the cells should contain text only.
- Open Gmail on your computer and click Compose. You can also open an existing draft.
- To the right of the "To:" line, click Use mail merge.
- Turn on Mail Merge.
- Click Add from a spreadsheet, select your sheet and click Insert.
- Choose the columns that hold each person's Email, First name and, optionally, Last name. Click Finish. Your sheet now appears in the "To:" line.
- In the body, type @ and pick a merge tag. Each column header in your sheet becomes a tag. Press Enter to insert it.
- Write the rest of your email and click Send.
If a column name contains anything other than letters and numbers, Gmail may label its tag by position instead (the first column becomes @A). Simple headers keep things clear.
Option B: add recipients by hand or from Google Contacts
Type addresses into the "To:" line, or type the name of a Google Contacts label to add a whole group at once. Then click Use mail merge, turn on Mail Merge, and use the four built-in tags: @firstname, @lastname, @fullname and @email.
If someone isn't in your contacts, Gmail takes their first and last name from how you typed them in the "To:" line. Check names in Google Contacts first so nobody gets "Hi Smith".
What to know before you send
- Limits. Up to 1,500 recipients per message and 1,500 a day. Once you've sent 1,500 emails in a day, counting regular email and mail merge together, Gmail won't send more merges until your quota resets. The other 500 of your 2,000 daily allowance stays free for regular email.
- No tags in the subject line, in linked text, or in plain-text mode.
- Doesn't work with replies, forwards, Schedule send or confidential mode.
- Your main domain only. You can't merge from a secondary domain or a domain alias.
- Cc and Bcc. You can add one Cc or Bcc address, and it gets a copy of every email, which counts toward your limit. If you added recipients from a sheet, you can't use Cc or Bcc at all.
- Attachments are copied into every email and use your storage. Google suggests linking to the file in Google Drive instead.
- Unsubscribe link. Gmail adds a unique unsubscribe link to the bottom of each email automatically. You'll get a notification when someone unsubscribes, but Google says you can't download a full list of who has.
- Missing details. If a row lacks a value that a tag needs, Gmail shows an error. You can enter a default (for example "there" in place of a first name) or go back and fix the row.
Once sent, each email shows a "Sent with mail merge" banner in your Sent folder.
How to mail merge in Gmail with YAMM
YAMM (Yet Another Mail Merge) is an add-on for Google Sheets and Gmail. An add-on is a small app you install into Google's own tools. You keep your list in a sheet and start the merge from there.
- Install YAMM from its website.
- Create a Google Sheet. In row 1, enter column names such as
Email,First nameandLast name. Add one person per row, starting in row 2. - In Gmail, click Compose. Leave the To field empty; YAMM fills it in from your Email column. Write your subject and body with markers in double curly brackets, like
{{First name}}. Markers work in the subject line too. - Back in your sheet, go to Extensions > Yet Another Mail Merge: Mail Merge for Gmail > Start Mail Merge.
- In the window that opens, pick your draft from the Email Template dropdown and click Send emails.
YAMM sends one email per row and writes the result into a Merge status column, such as EMAIL_SENT. A tracking report then shows opens, clicks and replies.
YAMM's daily quota depends on your plan and account:
| YAMM plan | Account | Recipients per 24 hours |
|---|---|---|
| Free | Personal Gmail or Google Workspace | Up to 20 |
| Pro | Google Workspace on its free trial or warm-up period, or personal Gmail | Up to 400 |
| Pro | Confirmed Google Workspace | Up to 1,500 |
The quota counts recipients, not emails, so Cc addresses and test emails count too. YAMM says new Workspace accounts start with a 14-day free trial followed by a warm-up period, and stay at up to 400 a day through both. Its help center also recommends putting its unsubscribe link in every campaign.
How to mail merge in Gmail with GMass
GMass is a Chrome extension that adds mail merge to the Gmail compose window. A Chrome extension is an add-on for the Chrome browser, so GMass works in Chrome on a computer. Following GMass's own quickstart:
- Install GMass from the Chrome Web Store and grant the permissions it asks for. Refresh Gmail, and a red GMass button appears next to the blue Send button.
- Set up your Google Sheet: column names in row 1, a column of email addresses, and one person per row. GMass suggests headers without spaces, like
FirstName. - Click the GMass sheet icon next to the Gmail search bar, choose your sheet and click Connect to Spreadsheet. GMass fills the To field with your list.
- Write your email. Type
{to see your column names and insert one, like{FirstName}. This works in the subject line too. - Send with the red GMass button. GMass says the blue Send button won't run the mail merge.
GMass's free plan sends up to 50 emails a day through GMass. A paid plan removes that cap, but Google's limit for your account still applies. GMass can also spread a large campaign over several days so each day stays within your limit, and it recommends testing a merge before you send it.
How to mail merge from Google Sheets with Apps Script
Apps Script is Google's built-in tool for small scripts that automate Sheets and Gmail. Google publishes a free mail merge sample that sends emails from a sheet, using a Gmail draft as the template. Google rates it beginner level, with about 10 minutes of setup.
- Open Google's "Create a mail merge with Gmail & Google Sheets" page and click Make a copy to copy the sample sheet. The script comes attached to it.
- Put your recipients' addresses in the recipient column. Add, edit or remove other columns for the details you want to merge in. Don't rename the recipient or Email Sent columns unless you also change the matching names in the code.
- In Gmail, create a draft. Add placeholders in double curly brackets that match your column names exactly, like
{{First name}}. They're case sensitive. Copy the draft's subject line. - In the sheet, click Mail Merge > Send Emails. If the menu isn't there, refresh the page.
- Authorize the script when asked. Then click Mail Merge > Send Emails again, paste the subject line and click OK.
A few things to know:
- "This app isn't verified." You may see this warning because the script is a private copy in your account, not a published app. Google's instructions continue through Advanced. On Google Workspace, your admin may need to approve it first.
- It won't send twice. The script only emails rows where Email Sent is blank, then writes the date and time it sent.
- Filters don't hold rows back. Google notes the script still emails rows hidden by a filter; it just doesn't add the timestamp. To send in smaller batches, keep later rows on a separate tab.
- Limits. On Workspace, Apps Script can email up to 1,500 recipients a day (2,000 inside your own domain) and 50 recipients per message. Each run can last up to 6 minutes.
- No unsubscribe handling. The sample doesn't add an unsubscribe link or track opt-outs. Tell people how to opt out, and remove anyone who asks.
- Emoji need a one-line change in the code, which Google's page explains.
Our Apps Script mail merge tutorial goes further, including how to send in smaller batches.
Does a mail merge count toward Gmail's sending limit?
Yes. Every option above sends through your own Google account, so it all counts toward one Google limit: 2,000 messages a day on a paid Workspace plan, or 500 on a Workspace free trial. "A day" means a rolling 24 hours, not midnight to midnight. Each tool's own cap sits on top, and the lowest number is the one you'll hit first.
Our guide to Gmail mail merge limits has every number in one place.
How do you keep a mail merge out of spam?
Staying under Google's limit doesn't mean your emails reach the inbox. An inbox that usually sends a few emails a day and suddenly sends 400 looks unusual to Gmail and Outlook, even within the rules. Google's sender guidelines say to start with a low volume to people who engage with your email, increase it slowly, and avoid sudden jumps such as doubling your volume overnight.
Where email lands depends heavily on sender reputation: a trust score for your domain and inbox, built from your sending history and how people react to your emails. Your domain settings matter too. Check these three before your first bulk send:
- SPF lists which servers may send email for your domain.
- DKIM adds a digital signature that shows the email wasn't changed on the way.
- DMARC tells receiving servers what to do with email that fails those checks.
All three live in your DNS, the settings that point your domain to the right services. Our free domain checker tests all three and explains any problem in plain English.
For a new or quiet inbox, our free warmup schedule tool gives you an estimated day-by-day sending plan.
What warmup can fix, and what only you control
Warmup builds trust in your inbox. It can't make people want an email they didn't expect.
| Warmup helps with | Only you control |
|---|---|
| Building a sending history for a new or quiet inbox | Who you email. People who don't expect your email are the biggest risk. Old, bought or scraped lists also bring bounces. |
| Knowing how many emails your inbox can safely send today | Spam complaints. Every "Report spam" click hurts your reputation quickly. |
| Getting SPF, DKIM and DMARC set up correctly | What the email says. Pushy subject lines, lots of links and attachments make complaints more likely. |
| Spotting problems early with placement tests (which show whether a test email lands in the inbox, Promotions or spam) and blacklist alerts (a blacklist is a list of senders many mail servers block) | Opt-outs. Give people an easy way to stop hearing from you, and honor it. |
Complaints carry more weight than most people expect. Google's sender guidelines say to keep the spam rate shown in Postmaster Tools (Google's free dashboard for senders) below 0.10% and never let it reach 0.30%. That's roughly one complaint per 1,000 emails as the safe level. Single words rarely send an email to spam on their own, but wording that reads like an ad makes people click "Report spam".
Our guide to spam trigger words covers what really matters in your wording.
If your merge is already landing in spam, our guide to fixing a mail merge that's going to spam starts with the quickest checks.
Before you hit send
Before you hit send
- Run a small test. Send to just your own address (or a colleague's) first. Check names, links and formatting on a phone and a computer.
- Check who you're emailing and what it says. Only include people who expect to hear from you. Keep it like a one-to-one email: one or two links, no attachments, and a clear way to opt out.
- Check your domain. Run SPF, DKIM and DMARC through our free domain checker.
- Check your volume. Plan to the lower of Google's limit and your tool's quota, and start small if this inbox hasn't sent in bulk before. Warmuply warms up your Google Workspace inbox in the background, works alongside Gmail's mail merge, YAMM, GMass and Apps Script, and shows a daily safe-send number so you know how many to send today. Start a free 7-day trial.
Frequently asked questions
Gmail’s built-in mail merge needs an eligible Google Workspace plan, so it isn’t available on a free @gmail.com account. YAMM, GMass and Google’s Apps Script sample all work with personal Gmail. Limits are lower there: Google allows 500 messages a day from a personal account, and Apps Script allows 100 email recipients a day.
Not with Gmail’s built-in tool. Google lists Schedule send among the features that don’t work with mail merge. YAMM and GMass both offer scheduling, according to their own help pages and feature lists. With Apps Script, you’d need to add a time-based trigger to the script yourself.
Yes, but use them sparingly. Gmail’s built-in mail merge copies the attachment into every email, so 500 emails with a 10 MB file use about 5 GB of storage. YAMM can attach a different file for each person. For bulk email, a link to a file in Google Drive is usually the better choice.
Usually the tag doesn’t match a column name exactly, or that row is missing the value. Apps Script placeholders are case sensitive and must match the header word for word. Gmail’s built-in tool warns you about missing values and lets you set a default, such as “there” instead of a first name. Run a small test first.
Straight to your own inbox. Every option in this guide sends from your Gmail account, so replies arrive like any other email. With Gmail’s built-in mail merge, each person’s reply comes in as its own thread, and recipients can’t see who else got the email.
Sources (11)
- Send personalized emails with mail merge (Gmail Help) (checked October 2026)
- Gmail sending limits in Google Workspace (checked October 2026)
- Email sender guidelines (Gmail Help) (checked October 2026)
- Create a mail merge with Gmail & Google Sheets (Apps Script) (checked October 2026)
- Quotas for Google services (Apps Script) (checked October 2026)
- Quickstart (YAMM Help) (checked October 2026)
- Available daily quotas (YAMM Help) (checked October 2026)
- Avoid spam issues (YAMM Help) (checked October 2026)
- YAMM documentation home (checked October 2026)
- Google Sheets Mail Merge: 4 Methods + 5-Minute Quickstart Guide (GMass) (checked October 2026)
- How many emails can you really send with GMass and Gmail? (GMass) (checked October 2026)
Related guides
- Gmail Mail Merge vs YAMM vs GMass: Which to Use in 2026Gmail mail merge vs YAMM comes down to what you need. Gmail’s built-in mail merge costs nothing extra on eligible Workspace plans and suits a…Read the guide
- Gmail Mail Merge Option Missing? Which Plans Have ItIf the Gmail mail merge option is missing, your plan probably doesn’t include it. It comes with Google Workspace Business Standard, Business Plus, Enterprise Standard…Read the guide
- Mail Merge from Google Sheets with Apps Script (Free Script)To send a mail merge from Google Sheets with Apps Script, add your contacts to a sheet, paste a script into Extensions > Apps Script…Read the guide
Get your inbox ready before you send.
Warmuply warms up your Google Workspace inbox in the background and shows you how many emails you can safely send each day.
No credit card required.