How to send a campaign
from a Google Sheet

Step by step: prepare the sheet, put each recipient's name into their message, test it on yourself and send it all from your own Gmail.

The task is always the same: there is a sheet of addresses and there is the text of a message, and every person should get their own copy with their own name in it. Here is how that works in MailSharks. It takes about five minutes and no code.

What you need

Step 1. Prepare the sheet

There is exactly one requirement: the first row holds the column headers. Everything else is taken as it is.

emailnamecity
anna@example.comAnnaBerlin
b.moore@example.comBenLeeds

What happens while the sheet is read:

Step 2. Connect Google

Open the app and grant access to Gmail and Google Sheets — on Google's own page. The service never sees your password and cannot; access is revoked in one click in your Google account settings. What exactly is requested, and why, is on the about page.

Step 3. Add the sheet

Paste the Google Sheets link and pick the columns holding the addresses and the names. The service reads the sheet, shows how many recipients it found and remembers the choice — the next campaign on the same sheet does not ask again.

Step 4. Write the message with placeholders

The message is written in the built-in composer (or taken from a Gmail draft). A placeholder is a column name in double curly braces:

Hello {{name}}! We are opening in {{city}} next month.

Placeholders work in the subject line too. Worth knowing:

Step 5. Test it on yourself

Send one message to your own address and look at it in your mail app, not in the preview. Check that the name was substituted, that the subject reads well, that the links work, that the unsubscribe link is visible and that nothing falls apart on a phone.

Step 6. Start the campaign

Before it starts you see the subject, the recipient count and the daily cap. After that sending runs on its own: message by message, with a pause of 5–10 seconds. On reaching the daily cap (100 messages by default) the campaign pauses and continues the next day, so it never runs into the Gmail limit.

What to watch afterwards

Common mistakes

What you seeWhat it means
0 recipientsThe addresses are in a different column, or the first row is not a header row.
The sheet will not openIt belongs to a different Google account than the one you connected.
The name is missingThe cell is empty, or the template uses a different column name.
Fewer messages than rowsDuplicates and invalid addresses were dropped and unsubscribed people were skipped.

Next: how to stay out of spam, Gmail limits, and the same thing over the HTTP API if campaigns need to start from your own software.

Your first campaign takes five minutes

Connect Google, add a sheet with addresses, write the message.

Try it now Free, no card needed. Google access can be revoked in one click.
MailSharks