Skip to content
All articles

How to Mail Merge Using Gmail: Google Sheets, Excel, Attachments & More

GuidesAugust 15, 202616 min read

Learn how to mail merge using Gmail with Google Sheets or Excel, personalize emails, handle attachments, and automate emails based on spreadsheet conditions.

How to Mail Merge Using Gmail: Google Sheets, Excel, Attachments & More

Sending the same email to dozens or hundreds of people one by one is tedious.

But sending one generic email to everyone isn't much better.

You may need to send:

  • Send payment reminders to customers whose invoices are pending
  • Follow up with leads who haven't responded
  • Send certificates to students
  • Send order updates to customers
  • Send appointment reminders
  • Send personalized offers
  • Notify employees
  • Send sales outreach from a spreadsheet

This is where mail merge using Gmail becomes useful.

Instead of copying and pasting the same email repeatedly, you can keep your recipient information in a spreadsheet and generate personalized emails for each person.

In this guide, you'll learn how to mail merge in Gmail, how to use Google Sheets or Google Docs, how Gmail's native mail merge works, what to do when you need attachments, and when a Gmail mail merge extension or add-on such as Mailvern makes more sense.


What is Gmail mail merge?

Gmail mail merge allows you to send personalized versions of the same email to multiple recipients.

For example, suppose your Google Sheet contains:

NameEmailOrderAmount
Sarahsarah@example.com#1024$120
Johnjohn@example.com#1025$85
Mikemike@example.com#1026$210

Instead of writing three separate emails, you can create one template such as:

Hi @firstname,

Your order @order is ready. Your outstanding amount is @amount.

The mail merge system replaces the placeholders with information from your spreadsheet.

Sarah receives a personalized version containing her information, John receives his information, and so on.

The important distinction is that mail merge is not simply sending the same email to many people.

It creates individual messages with recipient-specific information.


How to mail merge using Gmail

If you have an eligible Google Workspace account, Gmail has a built-in mail merge feature.

The basic process is:

  1. Prepare your recipient data.
  2. Open Gmail.
  3. Create a new email.
  4. Enable Mail Merge.
  5. Connect your Google Sheet.
  6. Select the recipient columns.
  7. Insert merge fields.
  8. Review the message.
  9. Send it.

Let's go through the process.

Step 1: Prepare your Google Sheet

Create a Google Sheet containing the information you want to use in your emails.

For example:

EmailFirst NameCompanyPayment
sarah@example.comSarahABC LtdPaid
john@example.comJohnXYZ IncPending
mike@example.comMikeExample CoPending

Keep the recipient information organized and make sure email addresses are valid.

A useful spreadsheet structure can also include operational columns:

EmailNameCompanyPaymentStatus
sarah@example.comSarahABC LtdPaid
john@example.comJohnXYZ IncPending
mike@example.comMikeExample CoPending

The additional columns become particularly useful when you want your spreadsheet to control who should receive an email.

We'll come back to that later.


Step 2: Open Gmail

Open Gmail on your computer and click Compose.

If your account supports Gmail's native mail merge, you'll see the Use mail merge option next to the recipient field.

If you don't see the option, your account or Workspace plan may not support it.


Step 3: Connect Google Sheets to Gmail

In the Gmail compose window:

  1. Click Use mail merge.
  2. Turn on Mail Merge.
  3. Select Add from a spreadsheet.
  4. Choose your Google Sheet.
  5. Select the columns containing recipient information.
  6. Click Finish.

Your spreadsheet recipients will then be added to the message.

Gmail can use spreadsheet column headers as merge tags, allowing you to personalize the email with information stored in your sheet.


Step 4: Add personalized merge fields

Now write your email.

For example:

Hi @firstname,

We noticed that your payment for @company is still marked as pending.

Please complete the payment at your earliest convenience.

The merge fields are replaced with the corresponding information for each recipient.

This is much better than sending:

Hi Customer,

to everyone.

Personalization can make a bulk email feel much more like an individual message.


Can you mail merge from Google Sheets to Gmail?

Yes.

Google Sheets is one of the most useful sources for Gmail mail merge because it lets you keep your recipient data in a structured format.

A simple workflow looks like this:

Google Sheets
      ↓
Recipient data
      ↓
Email template
      ↓
Merge fields
      ↓
Individual Gmail messages

This works particularly well when your spreadsheet already contains customer, student, employee, or lead information.


How to mail merge from Google Sheets to Gmail

There are two different approaches.

Option 1: Gmail's built-in mail merge

This is the simplest option.

You connect your spreadsheet directly from Gmail and use the spreadsheet columns as personalization fields.

It's ideal when your requirement is straightforward:

"I have a list of people and I want to send each person a personalized email."

Option 2: Use a Gmail mail merge add-on or extension

A Gmail mail merge add-on becomes useful when your workflow goes beyond basic personalization.

For example:

"Send an email only when Payment = Pending."

That's a different problem.

You don't simply want to merge data.

You want the spreadsheet data to decide whether an email should be sent.


Gmail mail merge vs. spreadsheet-based email automation

Imagine you have this spreadsheet:

CustomerEmailPayment
Sarahsarah@example.comPaid
Johnjohn@example.comPending
Mikemike@example.comPaid
Daviddavid@example.comPending

A basic mail merge sends the email to your selected recipients.

But what if your requirement is:

Only email customers whose Payment is Pending.

Now the spreadsheet is no longer just a contact list.

It becomes the logic behind your email campaign.

The desired workflow is:

Read Google Sheet
      ↓
Check Payment column
      ↓
Is Payment = Pending?
      ↓
     YES
      ↓
Personalize email
      ↓
Send through Gmail
      ↓
Update Status

This is where spreadsheet-driven automation can become more useful than a simple mail merge.


How to send emails based on a Google Sheets condition

Suppose your sheet looks like this:

NameEmailPaymentStatus
Sarahsarah@example.comPaid
Johnjohn@example.comPending
Mikemike@example.comPaid
Daviddavid@example.comPending

You could define a rule:

Send the email only if Payment = Pending.

The result would be:

  • Sarah → skipped
  • John → email sent
  • Mike → skipped
  • David → email sent

This is useful for situations such as:

Payment reminders

Payment = Pending
→ Send reminder

Lead follow-ups

Follow-up = Due
→ Send follow-up

Customer notifications

Status = Approved
→ Send approval email

Order updates

Order Status = Shipped
→ Send shipping notification

Event reminders

Attendance = Confirmed
→ Send event reminder

The key idea is simple:

Your spreadsheet can contain both the recipient data and the rules that determine what happens next.


Can you mail merge from Excel to Gmail?

Yes, but there is an important distinction between Excel data and Google Sheets-based Gmail mail merge.

Gmail's native spreadsheet mail merge workflow is designed around Google Sheets. If your data is currently in Excel, you can upload or convert the workbook to Google Sheets and then use it as the data source.

For example:

Excel file
   ↓
Google Sheets
   ↓
Gmail mail merge
   ↓
Personalized emails

If you're searching for mail merge from Excel to Gmail, mail merge Excel to Gmail, or Gmail mail merge Excel, this is usually the easiest route when you want to stay inside Google Workspace.


Can Gmail mail merge include attachments?

Yes, but there are limitations.

Gmail's native mail merge supports attachments, and the attachment is included in each recipient's copy of the email.

This is why you should think carefully before attaching large files to a bulk email.

For large files, using Google Drive links can be a better approach than repeatedly attaching the same file.


How to mail merge Gmail with attachments

If your goal is simply:

"Send the same PDF to everyone."

you can use Gmail's attachment functionality.

But there is another common requirement:

"Send each recipient their own attachment."

For example:

NameEmailCertificate
Sarahsarah@example.comSarah.pdf
Johnjohn@example.comJohn.pdf
Mikemike@example.comMike.pdf

Now the problem becomes more complicated.

You don't just need personalization.

You need recipient-specific file handling.

This is one reason people search for terms such as:

  • Gmail mail merge with attachment
  • mail merge Gmail with attachment
  • mail merge with attachment Gmail
  • Gmail mail merge attachment
  • mail merge for Gmail with attachments

When choosing a mail merge solution, check whether it supports the exact attachment workflow you need rather than assuming every mail merge tool works the same way.


What is the difference between Gmail mail merge and Google Docs mail merge?

These terms are often mixed together.

Gmail mail merge

Gmail mail merge focuses on sending personalized emails.

You typically have:

Spreadsheet → Gmail → Email recipients

Google Docs mail merge

Google Docs can be used to create personalized documents from structured data.

For example:

Spreadsheet → Document template → Personalized documents

This can be useful for:

  • Certificates
  • Letters
  • Invoices
  • Agreements
  • Personalized reports

So if you're searching for mail merge in Google Docs, first decide whether you actually need to create personalized documents or whether your goal is simply to send personalized Gmail messages.


Where is mail merge in Google Docs?

Google Docs does not work exactly like Microsoft Word's traditional mail merge feature.

If your goal is to create an email draft from Google Docs, you can use an email draft building block in Docs and preview the draft in Gmail.

But if your goal is:

"I have 500 rows in Google Sheets and want to send personalized emails through Gmail."

then Gmail mail merge or a Google Sheets/Gmail mail merge tool is generally the more relevant solution.


Gmail mail merge limitations you should know

Gmail's built-in mail merge is convenient, but it isn't designed for every email automation workflow.

Some important limitations include:

1. Mail merge isn't available on every Gmail account

You need an eligible Google Workspace plan to use Gmail's native mail merge.

2. Schedule Send isn't supported with mail merge

If you want to prepare a spreadsheet today and automatically send emails at a particular time, Gmail's native mail merge may not fit that workflow.

3. CC and BCC limitations

When recipients are added using a spreadsheet, Gmail doesn't allow CC or BCC recipients for that message.

4. Merge tags have limitations

Gmail's native mail merge supports several merge fields, but there are restrictions around where merge tags can be used.

5. It doesn't automatically turn every spreadsheet into an automation engine

A spreadsheet can contain much more than names and email addresses.

You may want rules such as:

Payment = Pending
AND
Reminder Sent = No
AND
Due Date < Today

Then send the email and update the row.

That's closer to workflow automation than traditional mail merge.


Gmail mail merge vs. Mailvern

If you only need basic personalization, Gmail's built-in mail merge may be enough.

But if your workflow starts with a Google Sheet and your spreadsheet determines who should receive an email and when, a tool built around that workflow can be more useful.

That's where Mailvern fits.

Instead of treating your Google Sheet as merely a list of contacts, Mailvern lets you use spreadsheet information to control your email workflow.

For example:

NameEmailPaymentStatus
Sarahsarah@example.comPaidSkipped
Johnjohn@example.comPendingSent
Mikemike@example.comPaidSkipped
Daviddavid@example.comPendingSent

You can create a condition such as:

Payment is Pending → send email

Mailvern handles the sending through your Gmail account and can update the status in the spreadsheet.

That means you can look at your sheet later and immediately understand what happened.

You don't have to maintain a separate list of people you already emailed.

The useful mental model

Think of basic mail merge as:

Spreadsheet → Personalize → Send

Whereas a condition-based workflow is:

Spreadsheet → Check condition → Personalize → Send → Track status

For many repetitive business workflows, that second model is much more useful.


When should you use a Gmail mail merge tool?

A dedicated mail merge tool for Gmail or Gmail mail merge add-on makes sense when you need more than basic personalization.

Consider one if you regularly need to:

  • Send emails from Google Sheets
  • Use spreadsheet columns as conditions
  • Skip recipients who don't meet a condition
  • Avoid sending duplicate emails
  • Track whether a row has already been processed
  • Schedule campaigns
  • Automate recurring email workflows
  • Keep sending status inside your spreadsheet
  • Work with larger operational datasets

You don't necessarily need a complicated marketing platform for these tasks.

If your entire workflow already lives in Gmail and Google Sheets, keeping the automation there can be much simpler.


How to choose the right Gmail mail merge solution

Before installing a Gmail mail merge extension or add-on, ask what you actually need.

RequirementBasic Gmail Mail MergeSpreadsheet Automation
Personalized emailsYesYes
Google Sheets dataYesYes
Merge fieldsYesYes
Conditional sendingLimitedYes
Row-based workflowLimitedYes
Status trackingLimitedYes
Duplicate preventionLimitedYes
Scheduling workflowsLimitedYes
Automated follow-upsLimitedDepends on tool

The right choice depends on the problem you're trying to solve.

If you're sending a one-time personalized announcement, Gmail's native mail merge may be perfectly adequate.

If you're repeatedly using a spreadsheet to trigger different emails based on changing data, look for a solution built around conditional email automation, not just mail merge.


A practical Gmail + Google Sheets mail merge example

Let's say you're managing unpaid invoices.

Your spreadsheet contains:

CustomerEmailInvoiceAmountPaymentReminder
Sarahsarah@example.comINV-1001$250Paid
Johnjohn@example.comINV-1002$430Pending
Mikemike@example.comINV-1003$190Paid
Daviddavid@example.comINV-1004$720Pending

Your email template could be:

Subject: Payment reminder for @invoice

Hi @customer,

This is a quick reminder that invoice @invoice, for @amount, is currently marked as pending.

Please let us know if you have already completed the payment.

Thanks.

The condition is:

Payment = Pending

So only John and David receive the email.

After sending:

CustomerPaymentReminder
SarahPaidSkipped
JohnPendingSent
MikePaidSkipped
DavidPendingSent

That's a much more useful system than manually checking the spreadsheet and copying email addresses into Gmail every time.


The biggest mistake people make with Gmail mail merge

The biggest mistake is thinking:

"Mail merge means I can send lots of emails."

That's only part of it.

The real value of mail merge is reducing repetitive work while keeping each message relevant.

And when you combine mail merge with spreadsheet conditions, the spreadsheet can become the control center for your email workflow.

Instead of:

Find recipient → copy email → copy name → write email → send → mark row → repeat

you can build:

Update spreadsheet → condition is met → email is sent → status is recorded

That's the difference between sending emails in bulk and automating an email process.


Frequently asked questions

What is Gmail mail merge?

Gmail mail merge lets eligible users send personalized versions of an email to multiple recipients. Recipient information can be added directly or imported from a Google Sheet.

Can I mail merge using Gmail and Google Sheets?

Yes. Gmail's native mail merge can connect to a Google Sheet and use spreadsheet columns as recipient information and merge fields.

Can I mail merge from Excel to Gmail?

Yes. A practical approach is to move or convert your Excel data into Google Sheets and then use Gmail's spreadsheet mail merge workflow.

Can Gmail mail merge include attachments?

Yes. Gmail supports attachments with mail merge, although the attachment is included in each recipient's copy, which can significantly increase storage usage.

Can I use conditions with Gmail mail merge?

Basic Gmail mail merge is primarily designed around recipient selection and personalization. If you need rules such as "send only when Payment = Pending", look for a spreadsheet-based email automation tool that supports conditional sending.

Is there a mail merge add-on for Gmail?

Yes. There are Gmail mail merge extensions and Google Workspace add-ons designed to extend Gmail's basic mail merge functionality.

Can I schedule Gmail mail merge?

Gmail's native mail merge has limitations around Schedule Send. If scheduled spreadsheet-driven campaigns are important to your workflow, look for a tool specifically designed to support scheduling.

What is the best way to mail merge from Google Sheets?

For simple personalized emails, Gmail's native mail merge is a straightforward option. For workflows involving conditions, status tracking, duplicate prevention, scheduling, or repeated spreadsheet-based campaigns, a dedicated Google Sheets/Gmail automation tool can be more appropriate.


Final thoughts

Mail merge using Gmail is a great solution when you need to turn one email template into many personalized messages.

And if your recipient data already lives in Google Sheets, the workflow becomes even more convenient.

But there's an important line between mail merge and email automation.

If all you need is:

"Send this personalized email to these people."

Gmail's native mail merge may be enough.

If you need:

"Look at my spreadsheet, find the people who meet a specific condition, send them the right email, avoid duplicates, and record what happened."

then you're solving a bigger problem.

That's where a spreadsheet-focused tool like Mailvern can help.

Instead of forcing your team to repeatedly move information between Google Sheets and Gmail, you can keep the workflow where your data already lives and let the spreadsheet determine what happens next.

Your spreadsheet already knows who needs an email. The goal is to make Gmail act on that information without making you do the repetitive work manually.

Install Mailvern from the Google Workspace Marketplace

Keep reading

Google Workspace Marketplace

Start sending smarter emails today

Install Mailvern from the Google Workspace Marketplace and run your first conditional campaign in under five minutes.

3-day trial on paid plans · Works with Gmail and Google Workspace