Stop losing leads to slow websites and manual tasks. Get a complete Website and Workflow Checkup for just $97. Start Here→
Stop Sending the Same Email 50 Times by Hand
If you’re a small business owner sending personalized emails to clients, prospects, or vendors one at a time, you’re burning hours on something that should take minutes. Mail merge for Google Sheets lets you send customized emails to your entire contact list directly through Gmail without paying for Mailchimp, ConvertKit, or any other email platform. Your contacts’ names, companies, order details, or any other variable you need get pulled directly from your spreadsheet and dropped into a personalized email that looks like you wrote each one individually. It’s free, it uses tools you already have, and it takes about 15 minutes to set up the first time.
What You Need Before You Start
You need a Google account with Gmail and Google Sheets. That’s it for the core infrastructure. For the merge itself, you’ll use a Google Workspace add-on. The two best free options are “Yet Another Mail Merge” (YAMM) and “Mail Merge with Attachments” by Quicklution. YAMM gives you 50 free emails per day on the free tier, which is enough for most small business use cases. If you’re sending to larger lists, their paid tier starts at $25 per year, which is still dramatically cheaper than any email marketing platform.
You also need your contact list organized in a Google Sheet with one row per recipient and clearly labeled column headers. At minimum you need an email address column. Beyond that, add any columns for personalization: first name, company name, invoice number, appointment date, or whatever variables you want to insert into the email body. Clean data in means clean emails out. Misspelled names, missing email addresses, and duplicate rows will all cause problems, so take five minutes to review your spreadsheet before starting the merge.
Setting Up Your Spreadsheet
Open Google Sheets and create your contact list or import an existing one. Row 1 should be your column headers: Email, First Name, Last Name, Company, and any other fields you plan to use in your email. Every row below that is one recipient. Keep your headers simple and descriptive because you’ll reference them by name when building your email template. Avoid spaces in header names if possible. “FirstName” or “First_Name” works better than “First Name” in some add-ons, though YAMM handles spaces fine.
Double-check every email address for typos. A single wrong character means that email bounces and your contact never receives it. Remove any rows where the email field is blank. If you have duplicate contacts, decide now which entry to keep and delete the other. The cleaner your spreadsheet, the smoother the merge runs. For lists over 100 contacts, add a “Status” column at the end. The mail merge add-on will use this to track which emails sent successfully and which ones failed, which saves you from guessing afterward.
Creating Your Email Template in Gmail
Open Gmail and compose a new email. Write your message as you normally would, but wherever you want personalized content, type the column header name wrapped in double curly braces. If your spreadsheet has a column called “FirstName,” you’d write {{FirstName}} in the email wherever you want that person’s first name to appear. A typical template might start with “Hi {{FirstName}}, I wanted to follow up on our conversation about {{Company}}’s project.” When the merge runs, each recipient gets their own version with their specific data filled in.
Write the subject line the same way. You can use merge fields in the subject, which is powerful for open rates. “{{FirstName}}, your invoice for {{Month}} is ready” performs significantly better than a generic subject line because it looks like a personal email, not a blast. Once your template is written, save it as a draft in Gmail. Don’t send it. The mail merge add-on will pull from this draft when it runs the merge. Review the draft carefully because once the merge sends, you can’t unsend 200 personalized emails.
Running the Mail Merge
Go back to your Google Sheet and open the mail merge add-on from the Extensions menu. If you haven’t installed one yet, go to Extensions, then Add-ons, then Get add-ons, and search for “Yet Another Mail Merge.” Install it and grant the permissions it requests. It needs access to your Gmail and Sheets to function. Once installed, open the add-on from Extensions. It will ask you to select the Gmail draft you want to use as your template. Select the draft you just created.
The add-on will show you a preview of the merge, mapping your spreadsheet columns to the merge fields in your email. Verify that everything lines up correctly. Send a test email to yourself first. Every mail merge add-on has a test function, and skipping this step is the number one way people send broken emails to their entire list. Check the test email on both desktop and mobile to make sure formatting, links, and personalization all look correct. Once you’re satisfied, run the full merge. The add-on will process each row of your spreadsheet, generate a personalized email, and send it through your Gmail account. The status column in your sheet will update to show which emails sent successfully.
Where People Go Wrong
The most common mistake is mismatched merge fields. If your email template says {{FirstName}} but your spreadsheet column is labeled “First Name” with a space, the merge will insert a blank where the name should be. Every character has to match exactly. The second most common mistake is exceeding Gmail’s daily sending limits. Free Gmail accounts can send 500 emails per day. Google Workspace accounts can send 2,000. If your list exceeds those limits, the remaining emails will fail and you’ll need to send them the next day.
Formatting issues are another trap. If your spreadsheet contains dates, currency, or numbers, make sure they’re formatted the way you want them to appear in the email. A date stored as “2026-04-15” in the spreadsheet will show up exactly that way in the email unless you format it as “April 15, 2026” in the sheet first. Links in the email template should be fully tested before the merge runs because a broken link sent to 200 people is 200 instances of looking unprofessional. If you’re running AI tools alongside your email workflows, you can use them to draft and proof email templates before merging, which catches errors that a quick self-review might miss.
When to Use This vs When to Use Real Email Software
Mail merge for Google Sheets is ideal for transactional and relationship-based emails: invoice follow-ups, appointment confirmations, personalized outreach, event invitations, and client check-ins. It’s not the right tool for marketing newsletters with open rate tracking, automated drip sequences, or lists over 2,000 contacts. For those use cases, a dedicated email platform like ConvertKit or Mailchimp is the better investment because they offer tracking, automation, and deliverability features that a mail merge can’t replicate.
But for the majority of small business email needs, especially for solo operators and small teams who send personalized emails to defined contact lists, this approach saves money and time. You’re using tools you already pay for (or that are free), you’re not learning a new platform, and the emails land in inboxes looking like genuine personal messages rather than marketing blasts. That alone makes the open and response rates significantly better than anything a bulk email tool produces. For businesses looking to streamline their tool stack without adding costs, mail merge through Google Sheets is one of the highest-value free solutions available.








[…] proposals or contracts regularly, this alone can save hours per week. If you’re using mail merge for personalized outreach, connecting it to your automation pipeline creates an even more powerful […]