Sending the same email to hundreds of people is straightforward. Sending each person a different attachment — their invoice, their certificate, their personalized report — is where things get complicated.
Gmail’s built-in mail merge can personalize text, but it sends the same attachment to every recipient. If you need individual files going to individual people, you need a different approach. This guide walks you through exactly how to mail merge with attachments in Gmail, step by step, using Google Sheets and the right tools.
Why You Need Mail Merge with Attachments
Standard mail merge handles text personalization well. You write one template, add placeholders like {{First Name}}, and every recipient gets a message that feels personal. But many real-world scenarios require more than personalized text — they require personalized files.
Here are the most common use cases:
- Invoices and billing — Sending each client their unique invoice PDF
- Certificates — Distributing completion certificates after a course or event
- Contracts and proposals — Delivering customized documents to prospects
- Reports — Sharing individualized performance reports with team members
- Pay slips — HR teams sending monthly salary statements
- Event tickets — Sending unique QR-coded tickets to each attendee
Gmail's native mail merge copies the same attachment into every outgoing message. For 500 recipients with a 10 MB file, that consumes roughly 5 GB of storage — and every person gets the identical file. To send different attachments to different recipients, you need a tool that maps files to contacts.
In all of these cases, you cannot simply BCC everyone with one attachment. Each recipient needs their own file — and doing this manually is not realistic beyond a handful of people. That is exactly where mail merge with attachments comes in.
How Mail Merge with Attachments Works
The concept is simple, even if the execution requires the right setup. Here is the core workflow:
- Prepare your data in Google Sheets — one row per recipient, with columns for email, name, and any personalization fields
- Upload your attachments to Google Drive — one file per recipient
- Add a file link column to your spreadsheet — each row contains the Google Drive link to that recipient’s specific file
- Write your email template — using placeholders for personalized fields
- Run the merge — the tool sends each email with the correct attachment pulled from Drive
The key difference from regular mail merge is that file link column. Instead of attaching one file to every email, the tool reads a unique Drive URL from each row and attaches the corresponding file to that specific recipient’s email.
Step-by-Step: Setting Up Mail Merge with Attachments
Step 1: Prepare Your Google Sheet
Create a new Google Sheet with the following columns:
| First Name | Company | Attachment | |
|---|---|---|---|
| sarah@example.com | Sarah | Acme Inc | https://drive.google.com/file/d/… |
| marcus@example.com | Marcus | Beta Corp | https://drive.google.com/file/d/… |
| lisa@example.com | Lisa | Gamma Ltd | https://drive.google.com/file/d/… |
The column headers matter — they become your merge tags. The Attachment column must contain shareable Google Drive links to each recipient’s file.
Important tips for your spreadsheet:
- Remove any duplicate email addresses
- Verify all email addresses are valid
- Keep your list clean — bad data leads to bounces, which hurt your sender reputation
- If you are sending multiple attachments per person, separate the Drive links with commas in the same cell
Step 2: Upload Files to Google Drive
Organize your files in a dedicated Google Drive folder. Make sure each file is named clearly so you can match it to the right recipient.
For each file, right-click → Share → Copy link. Make sure the sharing permission is set to “Anyone with the link can view” or that the mail merge tool’s service account has access.
Step 3: Add File Links to Your Spreadsheet
Paste each file’s Google Drive link into the Attachment column of the corresponding row. Double-check that each link opens the correct file — a mismatched attachment going to the wrong person is a serious issue, especially with confidential documents.
Step 4: Write Your Email Template
Compose your email in Gmail (or in the tool’s template editor) using merge tags that match your column headers:
Hi {{First Name}},
Please find your invoice for this month attached to this email.
If you have any questions about the charges, reply directly to this email and we will be happy to help.
Best regards, Your Company Name
Step 5: Run the Merge
Open your mail merge tool from the Google Sheets menu (Extensions → Mail Merge → Start), select your template, verify the attachment column is mapped correctly, and send a test email to yourself first. Once confirmed, send to your full list.
Send personalized emails with individual attachments directly from Gmail and Google Sheets. No external tools needed — works inside your existing Google Workspace.
Get Started →
Attachment Size Limits and Sending Caps
Before you hit send on a large campaign, know the limits you are working with:
| Limit | Free Gmail | Google Workspace |
|---|---|---|
| Daily send limit | 500 emails/day | 1,500 emails/day |
| Max attachment size | 25 MB per email | 25 MB per email |
| Max recipients per email | 500 | 1,500 |
Key considerations:
- Total attachment size per email cannot exceed 25 MB. If your files are larger, Google Drive will automatically share them as a link instead
- Sending speed matters — blasting 500 emails in 5 minutes can trigger Gmail’s rate limiting. Spread sends across a longer window
- Storage impact — each attachment is copied into the sent message. Sending 500 emails with 5 MB attachments uses ~2.5 GB of your Google storage
If you are regularly sending personalized bulk emails, consider upgrading your Google Workspace plan for higher limits and priority support.
Best Practices for Email Deliverability
Sending emails with attachments at scale requires extra care to avoid spam filters. Attachments are one of the signals spam filters watch closely.
1. Authenticate Your Domain
Set up SPF, DKIM, and DMARC records for your sending domain. Without these, recipient servers are far more likely to flag your messages as suspicious. This is non-negotiable for serious email campaigns.
2. Use PDF Format for Documents
PDFs are the safest attachment format for mail merge. Avoid sending .exe, .zip, or .docm files — these trigger spam filters immediately. Stick to:
- .pdf — invoices, certificates, reports
- .png / .jpg — visual assets, badges
- .csv — data exports (use sparingly)
3. Warm Up Your Sending
If your account has not sent bulk emails before, start small. Send 50 emails on day one, 100 on day two, and gradually scale up. Sudden spikes in sending volume are a red flag for Google’s spam detection.
- Authenticate your domain (SPF, DKIM, DMARC)
- Keep attachment size under 10 MB per email
- Use PDF format — avoid executable files
- Include an unsubscribe link in every email
- Warm up sending volume gradually over 1-2 weeks
- Maintain spam complaint rate below 0.3%
- Send from a professional domain, not @gmail.com
4. Always Include an Unsubscribe Option
Even for transactional emails like invoices, including an unsubscribe link is good practice. It reduces the chance of recipients marking your email as spam, which directly protects your sender reputation.
5. Monitor Your Campaigns
After sending, watch your bounce rates and spam complaints. If bounces exceed 5%, clean your list before sending again. Tools like Mail Tracker can help you track email opens and engagement so you know which messages were received and read.
Sending Multiple Attachments Per Recipient
Some scenarios require sending more than one file to each person — for example, an invoice plus a terms-of-service document, or a report plus its data appendix.
To handle multiple attachments:
-
Separate Drive links with commas in a single Attachment column:
https://drive.google.com/file/d/abc123, https://drive.google.com/file/d/def456 -
Use multiple attachment columns (if your tool supports it):
Attachment 1 Attachment 2 invoice-link terms-link -
Combine files into one PDF before sending — this is the simplest approach and keeps email size manageable
The right approach depends on your tool’s capabilities and the number of files per recipient.
Common Mistakes to Avoid
Even experienced users make these errors when setting up mail merge with attachments:
- Wrong file mapped to wrong person — Always send a test batch to yourself or colleagues first. Verify every attachment opens correctly
- Files not shared properly — If your Drive files are restricted, the mail merge tool cannot access them. Set sharing to “Anyone with the link” before running the merge
- Oversized attachments — Files over 25 MB will fail to attach. Compress PDFs or use Google Drive links for large files
- Missing column headers — Your spreadsheet’s column names must exactly match the merge tags in your template. Watch for trailing spaces
- Sending too fast — Respect Gmail’s rate limits. Schedule your campaign to send in batches if your list exceeds 200 recipients
Mail Merge for Gmail supports individual attachments, multiple files per recipient, and scheduled sending — all from inside Google Sheets.
Get Started →
Automating Recurring Attachment Campaigns
If you send the same type of personalized attachment regularly — monthly invoices, weekly reports, quarterly statements — you can streamline the process:
- Create a template spreadsheet with your standard columns and formulas
- Use a consistent Drive folder structure for each batch of files
- Save your email template as a Gmail draft to reuse each cycle
- Schedule sends to go out at optimal times (Tuesday–Thursday mornings tend to get the best open rates)
For teams that need workflow automation beyond email, integrating your mail merge with other Google Workspace tools can save hours each month.
Frequently Asked Questions
Conclusion
Mail merge with attachments in Gmail solves a specific, high-value problem: sending personalized files to many recipients without the manual effort of composing hundreds of individual emails. The setup takes a few minutes — prepare your spreadsheet, upload your files to Google Drive, map the links, and run the merge.
The most important things to remember: always test before sending to your full list, respect Gmail’s sending limits, keep attachment sizes manageable, and authenticate your domain for the best deliverability. With the right tool and a clean spreadsheet, you can send 500 personalized invoices as easily as sending one.
Ready to streamline your email campaigns? Mail Merge for Gmail handles personalized attachments, scheduled sending, and campaign tracking — all from inside Google Sheets.