Gmail contact groups are great for sending a single email message to a specific set of people, but what if you want to give each email a personal touch, such as with a newsletter or promotional offer? Unlike Microsoft Office, Google’s productivity suite doesn’t have a native mail-merge feature you can leverage to do this. But don’t sweat it: With a little help from Google Sheets and a free downloadable script, you can personalize bulk email messages in Gmail in minutes.
Just remember, Google allows you to send only 100 emails per day using scripts. Here’s how to get started.
1. Create a spreadsheet
Log into your Google Drive account. On left sidebar, click New > Google Sheets to create a spreadsheet. You’ll be importing your email recipients' contact information here, so give it a descriptive name.
Next, go to the menu bar and select Add-ons > Get add-ons. This takes you to Google’s add-on store. In the search window, type a name for your mail merge script—for this example, we'll use
Yet Another Mail Merge—and hit Enter.
This is a public mail merge script. Click the Free button, and a window will open, asking for various permissions to access Google Sheets, Contacts, and Gmail. Click Accept. A window will pop up under Add-ons on the menu bar, indicating that the script has been installed. Click the X to close it.
2. Import your contacts
The next step is to import your email recipients into the spreadsheet. Click Add-ons > Yet Another Mail Merge > Import contacts from a group. A small window will open with a drop-down menu of all the contact groups in your Gmail account. You can also go into Gmail, and create a new group with all the contacts you want to include in your mail merge. Then repeat the steps above and select this group from the drop-down menu. Click Import contacts, and those contacts will populate your spreadsheet.
3. Draft your email message
Now open a new browser tab and log into your Gmail account. Click Compose to open a new message. Type a title in the subject field and compose the body of your message. Then type $%headername% anywhere you want to insert column data from your spreadsheet. For example, type Dear $%First Name% if you want each email to use the recipient’s first name in the greeting. Once you’re done, click X to close the message, and it will automatically save to your Drafts folder.
4. Perform the mail merge
Go back to your spreadsheet and click Add-ons > Yet Another Mail Merge > Start mail merge. In the window that opens, select the title of your email message from the Drafts drop-down menu. Check the Track Emails Opened box if you want to see which of your recipients opens the email.
To make sure everything is formatting correctly, click Send me a test email to receive a sample message. Toggle to Gmail and check the message. If everything looks good, return to that dialog box and click Send Emails. You’ll now see EMAIL_SENT next to each contact in the Merge Status column of your spreadsheet. If you want to perform another mail merge from that same spreadsheet, remember to delete that text from the Merge Status column of each recipient you want to email again.