Skip to content

Mail Merge Tutorial

This tutorial sends a first personalized campaign from Google Sheets in about five minutes. Make sure Mail Merge for Gmail is installed first.

In Mail Merge, each row of your sheet is one email. The only requirement is a column with the recipients’ email addresses. Every other column becomes data you can insert into the email.

A Google Sheet with Email, First name, Company and CC columns

A few rules that keep things simple:

  • Put column names in the first row. They become your merge tags, so give them readable names such as First name or Company.
  • One recipient per row. To send the same email to several people, see Multiple recipients.
  • Empty rows are skipped, and a row without a valid address is marked Missing recipient when you send.

Go to Extensions → Mail Merge for Gmail → ▶️ New campaign. The builder opens on top of your sheet with the recipients already loaded: the To row shows which column holds the addresses, and the send button counts the valid emails found.

The campaign builder opened from Google Sheets, before writing anything

The first time, Google asks you to authorize the add-on. Approve every permission.

Type the subject and the body as you would in Gmail. The toolbar at the bottom of the editor has the usual formatting: fonts, bold and italics, colors, lists, alignment, links, and attachments.

The builder with a subject and body that use merge tags

A merge tag is a column name wrapped in double curly braces, for example {{First name}}. When the campaign sends, each tag is replaced with the value from that recipient’s row. Tags work in the subject line as well as in the body.

You do not have to type them: click Merge tag in the toolbar and pick a column.

The Merge tag menu listing the sheet's columns

Instead of writing from scratch, click select a template in the empty editor to insert one of your templates. The subject and body fill in, and you can edit them freely before sending.

Click Show preview. Mail Merge renders the email for each recipient, with the merge tags replaced, and lets you page through them with the arrows. A Deliverability check warns about common problems, for example a missing unsubscribe link.

The preview of the first recipient's email, with merge tags filled in

Send me a test emails the recipient currently shown to your own inbox, so you can check how it looks in a real mail client.

Click Send to N recipients and confirm. The emails leave through your own Gmail account, and the builder shows “Your campaign is on its way”.

Mail Merge adds a 📮 status column to your sheet, named after the campaign and the date. Each row gets a status that updates as the campaign progresses:

The status column Mail Merge adds to the sheet, with Sent, Read, Clicked, In queue and Unsubscribed rows

StatusMeaning
In queueThe email is waiting to be sent.
ScheduledThe campaign starts later (scheduled or Autopilot).
SentThe email left your Gmail account.
ReadThe recipient opened it (needs open tracking).
ClickedThe recipient clicked a link in it.
UnsubscribedThe recipient used the unsubscribe link, or was skipped because they had unsubscribed earlier.
Paused / CancelledYou paused or stopped the campaign.
CooldownGmail temporarily refused to send; Mail Merge retries on its own.
Error / Missing recipient / Attachment ErrorThe row could not be sent. The cell note explains why.

Open Extensions → Mail Merge for Gmail → 🔄 Refresh tracking at any time to pull the latest statuses into the sheet. The full list, with what to do about each status, is on Campaign and recipient statuses.

  • Follow the campaign in 📨 Campaigns: progress, per-recipient statuses, opens and clicks. See Campaigns.
  • Send later with Schedule send, or drip a large list over several days with Autopilot. See Campaign scheduling.
  • Add automatic follow-ups to people who did not open or click. See Follow-up sequences.
  • Stay under your daily sending limit.