Guides · 15 min read

Mail Merge with Attachments in Gmail: How to Send Personalized Files at Scale

Learn how to mail merge with attachments in Gmail. Send personalized PDFs, invoices, and documents to hundreds of recipients using Google Sheets.

Liubov Shchigoleva

Written by

Liubov Shchigoleva

COO, Qualtir

Mail Merge with Attachments in Gmail: How to Send Personalized Files at Scale

On this page

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
The Attachment Challenge

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:

  1. Prepare your data in Google Sheets — one row per recipient, with columns for email, name, and any personalization fields
  2. Upload your attachments to Google Drive — one file per recipient
  3. Add a file link column to your spreadsheet — each row contains the Google Drive link to that recipient’s specific file
  4. Write your email template — using placeholders for personalized fields
  5. Run the merge — the tool sends each email with the correct attachment pulled from Drive
How It Works: Spreadsheet → Drive → Gmail
📊

Google Sheets

Contacts + file links

📁

Google Drive

Individual files

✉️

Gmail

Personalized emails + files

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:

EmailFirst NameCompanyAttachment
sarah@example.comSarahAcme Inchttps://drive.google.com/file/d/
marcus@example.comMarcusBeta Corphttps://drive.google.com/file/d/
lisa@example.comLisaGamma Ltdhttps://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.

Recommended Drive Folder Structure
📁 Mail Merge Attachments/
  ├── 📄 Invoice-001-Acme-Inc.pdf
  ├── 📄 Invoice-002-Beta-Corp.pdf
  ├── 📄 Invoice-003-Gamma-Ltd.pdf
  └── 📄 Invoice-004-Delta-Co.pdf

For each file, right-click → ShareCopy 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.

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.

Mail Merge logo Try Mail Merge

Send personalized emails with individual attachments directly from Gmail and Google Sheets. No external tools needed — works inside your existing Google Workspace.

Get Started →
Mail Merge screenshot showing personalized email campaign

Attachment Size Limits and Sending Caps

Before you hit send on a large campaign, know the limits you are working with:

LimitFree GmailGoogle Workspace
Daily send limit500 emails/day1,500 emails/day
Max attachment size25 MB per email25 MB per email
Max recipients per email5001,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.

Spam Prevention Checklist
  • 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:

  1. Separate Drive links with commas in a single Attachment column:

    https://drive.google.com/file/d/abc123, https://drive.google.com/file/d/def456
  2. Use multiple attachment columns (if your tool supports it):

    Attachment 1Attachment 2
    invoice-linkterms-link
  3. 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 logo Try Mail Merge

Mail Merge for Gmail supports individual attachments, multiple files per recipient, and scheduled sending — all from inside Google Sheets.

Get Started →
Mail Merge attachment configuration in Google Sheets

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:

  1. Create a template spreadsheet with your standard columns and formulas
  2. Use a consistent Drive folder structure for each batch of files
  3. Save your email template as a Gmail draft to reuse each cycle
  4. 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

Can Gmail's built-in mail merge send different attachments to each recipient?
No. Gmail's native mail merge (multi-send mode) sends the same attachment to all recipients. To send individual attachments, you need a third-party add-on like Mail Merge for Gmail that reads unique file links from your Google Sheet and attaches the correct file to each email.
What is the maximum attachment size for Gmail mail merge?
Gmail allows attachments up to 25 MB per email. If your file exceeds this limit, Google will automatically convert it to a Google Drive link. For best deliverability, keep attachments under 10 MB — large attachments increase the chance of landing in spam and consume significant storage across your sent messages.
How many emails with attachments can I send per day?
Free Gmail accounts can send up to 500 emails per day. Google Workspace accounts can send up to 1,500 per day. These limits apply to total emails sent — not just mail merge campaigns. If you have already sent 200 regular emails, you have 300 (or 1,300) remaining for your merge. Exceeding these limits will temporarily lock your sending ability for 24 hours.
Can I send multiple attachments to the same recipient?
Yes. Most mail merge tools support multiple attachments per recipient. You can either separate multiple Google Drive links with commas in a single Attachment column, or use multiple attachment columns in your spreadsheet. Just make sure the combined size of all attachments stays under 25 MB per email.
Will sending emails with attachments trigger spam filters?
Attachments alone do not trigger spam filters, but they are one factor spam algorithms consider. To stay safe: use PDF format instead of executable files, keep file sizes reasonable (under 10 MB), authenticate your domain with SPF/DKIM/DMARC, warm up your sending volume gradually, and always include an unsubscribe link. Following these practices keeps your deliverability high.

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.

Related Articles