To send cold email from Google Sheets, put one contact per row, write a message with fields that fill in from the columns, connect the sheet to your Gmail with a sending tool, and send in small batches with follow-ups, within Gmail’s limits. This guide walks through each step and links to the detail.
1. Build the list
One person per row, with an email column and only the fields you will use: first name, company, the reason you’re writing. Addresses found on a company’s own website work far better than guessed ones like info@. Remove anyone who has asked not to be contacted.
2. Check you are allowed to email them
In the UK, companies can be emailed cold if you identify yourself and offer an opt-out; individuals and sole traders need consent. Read Is cold email legal in the UK? before you start.
3. Write the message and the follow-ups
Keep it short and personal: why them, what you offer, one clear next step. Use fields such as {{First name}} with a fallback for blank cells. Plan one to three follow-ups that each add something new. See how to automate Gmail follow-ups.
4. Choose how the sheet will send
| Option | Good for | More |
|---|---|---|
| Gmail’s built-in mail merge | A one-off personalised batch on an eligible Workspace plan | Mail merge compared |
| Google’s Apps Script sample | People happy to maintain their own code | Mail merge compared |
| A Gmail extension or add-on | Tracking, A/B tests, AI drafting, team features | vs GMass · vs Sheetsend |
| OutreachSheet | Sequences, paced sending and sorted replies for one payment | Setup walkthrough |
5. Set up your domain
Authenticate your sending domain with SPF and DKIM, add DMARC, and start slowly on a new mailbox. See how to keep cold email out of spam.
6. Send in small batches, within the limits
Apps Script tools are limited to 100 recipients a day on personal Gmail and 1,500 on Workspace, and follow-ups count too. Pace sending through your working hours. Details: Gmail sending limits.
7. Handle replies and opt-outs
Stop following up when someone replies, answer the interested ones yourself, and add anyone who opts out to a permanent do-not-contact list.
8. Several languages?
If your list spans countries, prepare a version of each message per language and map countries to languages. See one contact list, several languages, and the Lightopia case study (31 countries, 14 languages, one mailbox).
Compare the tools
See how OutreachSheet compares with GMass, Instantly, lemlist and Sheetsend.
