Skip to content

How to Send a Newsletter from Google Sheets: Sign-Ups, List and Sending

Promotional email layout with the Gmail logo.
Table of contents

A Google Sheet can run a whole newsletter. A Google Form adds each new subscriber as a row, the columns hold what you know about each person, and YAMM sends every issue from your Gmail to the rows of the sheet. Unsubscribes, bounces and replies come back to the same sheet.

This guide covers the sheet side: collecting sign-ups, keeping the list clean and sending from it. To design the email itself, as a plain email or with Gmail Layouts, see how to make a newsletter in Gmail.

How do you collect subscribers with a Google Form?

A Google Form gives you a free sign-up page that writes each answer to a Google Sheet. To set one up:

  1. Create a Google Form with only the questions you need, such as a first name and the topics someone wants to hear about. Each question becomes a column header in the sheet, and you'll type that header in your email to personalize it, so keep questions short: "First name" works better than "What should we call you?"
  2. Collect email addresses. In the form's Settings, expand Responses and set Collect email addresses to Responder input, so people type their address. Verified records the address of the person's Google Account instead.
  3. Link the form to a sheet. In the Responses tab, link the form to a new spreadsheet. From then on, each sign-up is added to the sheet as a new row.
  4. Share the form. Send its link or embed it on your website.

Everyone in the sheet signed up on their own, and the Timestamp column shows when. That's the opt-in Google's sender guidelines ask for.

How do you welcome each new subscriber automatically?

YAMM can email each person as soon as they submit your form, so every new subscriber gets a welcome email without you sending anything. Set it up from the response spreadsheet:

  1. Write the welcome email as a Gmail draft. You can use the sheet's column headers in it, such as {{First name}}.
  2. In the sheet, go to Extensions > Yet Another Mail Merge: Mail Merge for Gmail > Configure form submission notifications.
  3. Select Notify address submitted by the form, choose the column that holds the email addresses, and pick your welcome draft.
  4. Click Save.

Keep the draft in Gmail: YAMM reuses it for every new subscriber. This doesn't work in a spreadsheet that collects answers from more than one form.

How do you manage the email list in Google Sheets?

Use the form's response sheet as your list, with one row per subscriber. A few habits keep it clean:

  • Remove duplicates. People sometimes sign up twice. Find and remove duplicate addresses before you send, so each person appears once.
  • Let YAMM keep the unsubscribe list. When someone clicks the unsubscribe link in your newsletter, YAMM adds them to your unsubscribe list and leaves them out of future mail merges, even though their row stays in the sheet. If someone replies asking to be removed, add their address on the Unsubscriptions page of the YAMM web app. Remove an address there to email that person again.
  • Send to part of the list with a filter. To send an issue only to people who picked a topic, filter the sheet on that column with Filter by condition > Text contains. YAMM sends only to the rows the filter shows and skips hidden rows. Filter views don't count, so use a regular filter.

How do you send each issue from the sheet?

Write the issue as a Gmail draft first. Leave the To field empty, and where you want each person's details, type the column header in double curly brackets, such as {{First name}}. At the end, add a line like "Unsubscribe" and link it to https://app.yamm.com/unsubscribe.

Then, in your subscriber sheet:

  1. Clear the Merge status column. YAMM writes each person's result in a column called Merge status, and skips every row that already has one. Before your first issue there's nothing to clear. Before each issue after that, select every cell in the Merge status column and press Delete. This closes the previous issue's tracking report, so read it first. People who unsubscribed stay left out, because YAMM checks them against your unsubscribe list, not this column.
  2. Filter the sheet if this issue is only for part of the list.
  3. Go to Extensions > Yet Another Mail Merge: Mail Merge for Gmail > Start Mail Merge. The top of the window names the column YAMM will send to; click change if it isn't your email column. Pick your draft as the Email Template, click Send test email and check the test in your inbox.
  4. Select Track emails opened, clicked or bounced. The unsubscribe link only works when tracking is on.
  5. Click Send emails, or click Schedule to pick a date and time up to two weeks ahead.
YAMM Start Mail Merge dialog with tracking selected and the Send test email, Schedule and Send 5 emails buttons.

YAMM sends to up to 400 recipients a day from a @gmail.com account, and up to 1,500 from a Google Workspace account (400 while it's in a trial or warm-up period). If your list is longer, send in batches: the next day, start the mail merge again without clearing Merge status, and YAMM skips everyone who already got the issue. Gmail has its own limits too; see Gmail's sending limits.

How do you read the results in the sheet?

After the send, the tracking report opens in the sheet's sidebar, and each row's Merge status shows what happened for that person: EMAIL_SENT, EMAIL_OPENED, EMAIL_CLICKED, RESPONDED, BOUNCED or UNSUBSCRIBED. If you close the report, open it again from the Extensions menu.

YAMM Tracking Report beside color-coded delivery, open, click, unsubscribe, and bounce statuses.

Because the results are in the sheet, you can act on them there, before you clear Merge status for the next issue:

  • Fix bounced addresses. Filter Merge status on BOUNCED to find addresses that don't work, often a typo in the form. Correct or delete those rows.
  • Answer replies. Filter on RESPONDED to see who wrote back.
  • Compare issues, not people. Open tracking can't be exact for every email, so use open and click counts to compare one issue with the last.

Turn the filter off before you send the next issue to the whole list.

Installed more than 16 million times

UberDoorDashYelpWeb SummitThe Economist
HarvardStanfordNYUIEEEAir Liquide
Try for free