Back to Blog
AutomationHow To

How to Do a Mail Merge from Google Sheets (Complete 2026 Guide)

OgtayOgtay

If you've ever needed to send 50 personalized emails, generate 100 custom invoices, or create certificates for an entire class — you already know the pain of doing it manually. A Google Sheets mail merge solves all of that in minutes.

In this guide, you'll learn exactly how to set up a mail merge from Google Sheets, which tools work best, and how to get it done without writing a single line of code.


What Is a Google Sheets Mail Merge?

A mail merge takes a list of data from a spreadsheet and automatically inserts it into a template — creating personalized documents or emails for each row.

For example, if you have a Google Sheet with 200 customer names and email addresses, a mail merge lets you:

  • Send 200 personalized emails, each addressed to the right person
  • Generate 200 individual invoices with the correct amounts
  • Create 200 custom certificates with each person's name

Instead of copy-pasting for hours, the whole thing runs in seconds.


What You Need to Get Started

Before you begin, make sure you have:

  1. A Google Sheet with your data (names, emails, amounts — whatever your template needs)
  2. A template — either a Google Doc, a DOCX file, or a Gmail draft
  3. A mail merge tool — Google Sheets doesn't have this built in, so you'll need an add-on or a dedicated tool

Option 1: Mail Merge from Google Sheets Using SheetMergy (Recommended)

SheetMergy is a document automation tool built specifically for Google Sheets. It's the fastest way to run a mail merge without any technical setup.

Step 1 — Prepare Your Google Sheet

Set up your spreadsheet with column headers in the first row. For example:

Name Email Company Amount

Every column header will become a merge tag in your template.

Step 2 — Create Your Template

In Google Docs (or upload a DOCX file), write your document and add {{merge tags}} wherever you want dynamic content:

Dear {{Name}},

Thank you for your business with {{Company}}. Your invoice total is {{Amount}}.

SheetMergy auto-detects all the tags in your template and maps them to your sheet columns automatically — no manual mapping needed.

Step 3 — Choose Your Output Mode

SheetMergy gives you two output modes:

  • One document per row — a separate file for each row (ideal for invoices, certificates, offer letters)
  • Single document mode — all rows combined into one document (perfect for summary tables, reports, team rosters)

Step 4 — Set Filters (Optional)

Before generating, you can filter which rows get processed. For example:

  • Only rows where Status = Active
  • Only rows where Amount > 500
  • Combine conditions with AND/OR logic

Filters support operators like contains, equals, not equal, greater than, less than, and more.

Step 5 — Run or Schedule

Choose your output format (PDF or Google Doc), set the output folder in Drive, then:

  • Click Generate Now to run immediately, or
  • Set a scheduled run — hourly, daily, weekly, or monthly — for fully automated recurring merges

SheetMergy keeps a full job history and run logs so you can see results of every run and rerun jobs anytime.


Email Delivery: Send Documents Automatically

After generating, SheetMergy can email each document to the recipient in that row. You can configure:

  • To: pulled from any email column in your sheet
  • Subject: personalized with {{merge tags}}
  • Body: full HTML email support
  • CC / BCC: fixed or dynamic
  • Attachment: generated PDF attached automatically per recipient

The entire workflow — generate document → email to recipient — runs in one job with zero manual steps.


Advanced Features

Data Lookups and Joins

If your data lives across multiple tabs, SheetMergy's data joins let you combine them using a common key column (like a Client ID). No VLOOKUP formulas required — it's all visual.

Grouping and Aggregates

Need one document per client that lists all their orders? SheetMergy's grouping feature groups rows by a field (or by month/date) and generates one document per group. Inside grouped documents, use:

  • {{_sum}} — total of a numeric column
  • {{_count}} — number of rows in the group
  • {{_avg}} — average value across the group

Perfect for consolidated invoices, monthly reports, and department summaries.

Security

SheetMergy uses OAuth 2.0 authentication. Your spreadsheet data is never stored on SheetMergy's servers — generated files go directly to your Google Drive.


Option 2: Mail Merge from Google Sheets Using Google Apps Script (Free, Technical)

If you're comfortable with code, Google Apps Script lets you build a mail merge directly inside Google Sheets for free.

Basic Script for Gmail Mail Merge

  1. Open your Google Sheet
  2. Go to Extensions → Apps Script
  3. Paste the following script:

javascript

function sendEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getDataRange().getValues();
var headers = data[0];

for (var i = 1; i < data.length; i++) {
var row = data[i];
var emailAddress = row[headers.indexOf("Email")];
var name = row[headers.indexOf("Name")];
var subject = "Hello " + name;
var body = "Dear " + name + ",\n\nThank you for your order!";

GmailApp.sendEmail(emailAddress, subject, body);
}
}

  1. Replace the column names and message body with your own content
  2. Click Run

Limitations: This approach requires coding knowledge, has no visual interface, and doesn't easily support PDF generation or document templates.


Option 3: Mail Merge Add-On for Google Sheets

Several Google Workspace add-ons offer mail merge functionality:

  • Yet Another Mail Merge (YAMM) — popular for Gmail mail merges, good free tier
  • Mail Merge by Quicklution — simple interface, limited document support
  • AutoCrat — focused on Google Docs templates, more complex setup

These work directly inside Google Sheets as add-ons. Go to Extensions → Add-ons → Get add-ons and search for "mail merge."


Google Sheets Mail Merge: Common Use Cases

Sending Bulk Personalized Emails

The most common use case. Set up a sheet with Name, Email, and any other personalization fields, write your email template with {{tags}}, and send to your entire list in one click.

Generating Invoices from Google Sheets

Create an invoice template in Google Docs with {{Client Name}}, {{Invoice Number}}, {{Amount Due}}, and other fields. Run the merge and get individual PDF invoices for every row in your sheet — automatically named and saved to Drive.

Creating Certificates in Bulk

Teachers and event organizers use Google Sheets mail merge to generate certificates. Design your certificate in Google Docs, add {{Recipient Name}} and {{Course Name}}, and generate hundreds in seconds.

Automated Reports

Merge monthly sales data into a report template and schedule it to run every month. SheetMergy's scheduling feature handles this automatically.


Tips for a Successful Google Sheets Mail Merge

1. Clean your data first. Blank rows, inconsistent formatting, and typos in email addresses will cause issues. Sort and clean your sheet before running the merge.

2. Test with a small batch. Before running the merge on 500 rows, test it on 3-5 rows to make sure the output looks right.

3. Use exact column names in your tags. If your column is called First Name (with a space), your tag should be {{First Name}} — capitalization and spacing must match exactly.

4. For emails, check your sending limits. Gmail allows up to 500 emails per day on a personal account and 2,000 per day on Google Workspace. Plan accordingly.

5. Save outputs to a dedicated Drive folder. Keep your generated documents organized by setting a specific output folder in your merge tool.


Google Sheets Mail Merge vs. Manual Work

TaskManualMail Merge

Generate 100 personalized docs

2–3 days

Under 1 minute

Send 200 personalized emails

Hours of copy-pasting

One click

Monthly recurring reports

Set reminders, redo each time

Fully automated

Human errors

Inevitable

Zero


Frequently Asked Questions

  1. Can I do a mail merge from Google Sheets to Gmail for free?

Yes. Google Apps Script is completely free but requires coding. SheetMergy offers a free plan with up to 100 documents per month. YAMM also has a free tier.

  1. Can I attach PDFs to my mail merge emails?

Yes — tools like SheetMergy can generate a PDF from your template and automatically attach it to the email sent to each recipient.

  1. Does Google Sheets have a built-in mail merge feature?

No. Google Sheets doesn't have native mail merge functionality. You need either an add-on or a third-party tool like SheetMergy.

  1. Can I merge data from multiple sheets?

SheetMergy supports data joins — you can pull data from multiple sheets using a common key column, similar to a VLOOKUP but visual and no-code.

How do I schedule a recurring mail merge? SheetMergy lets you schedule merges to run hourly, daily, weekly, or monthly — perfect for automated reports and recurring invoices.


Ready to Run Your First Mail Merge from Google Sheets?

The fastest way to get started is SheetMergy's free plan — no credit card required, and you can generate up to 100 documents per month at no cost.

It takes about 5 minutes to connect your first Google Sheet and run a merge. Give it a try and see how much time you save.