Have you ever wondered how to send multiple emails with different attachments in Gmail?
Well, you can now easily send a mass email or mail merge in Gmail with personalized attachment files.
Why would you ever need to do this? Let’s say you run a small business that needs to send PDF invoices to your customers once a month. Your billing software generates the PDF invoices, one for each of your 100 customers. Now you need to send the right invoice to the right customer. Until now, you’d have to prepare multiple emails manually — composing and sending 100 individual emails, and having to attach the right PDF to each email.
But now, you can automate all of this. Here’s a two-minute video demo:
What tools will you need to mail merge with individual attachments?
- All of your attachment files, ready to send
- A Google Sheet that lists the email addresses in one column and the file names in the other
- A place to host the files, such as Google Drive, Amazon S3, Dropbox, or your own web server
- A Gmail or Google Workspace account
- GMass installed and connected
Host your attachments somewhere
Your files can either be in your Google Drive or somewhere publicly accessible on the web, like your own web server, a public Dropbox folder, or a public AWS S3 bucket.
If you’re going to host your file attachments in your Google Drive, our software needs permission to access your Google Drive. It’s the one step you have to take in advance of sending any personalized attachments with your bulk emails.
You must give GMass read-only permissions to your Google Drive! By default, GMass doesn’t have permissions for this when you sign up for an account.
——————-
To allow GMass to download different attachment files from your Google Drive:
>>>>>>> FOLLOW THIS LINK <<<<<<<<
——————-
and log in with the same account that you’re using to send your mass email.
Also, note that the files don’t all have to be in the same folder; they can be spread across multiple folders as long as they’re in one single Google Drive account. Lastly, if you use Google Drive, be sure that the “Convert uploaded files…” setting is UNCHECKED:
(Click the Settings gear first at the top-right, then uncheck that box, then click DONE.)
If you don’t uncheck this box, then certain file types, like .txt files, won’t remain as txt files after you upload them; they’ll get converted to Google Docs and won’t be “attachable” to your personalized emails.
Set up your Google Sheet
First, set up your Google Sheet. Make sure your column headings are in the first row, and at a minimum you’ll need two columns, one for the email address, and one for the file to be attached. You can have other columns too, like FirstName, LastName, Company, and anything else you want to use to personalize your mail merge. Here’s what your spreadsheet should look like:
The column containing the files can be named anything as long as it starts with “attachment.” Any of the following are valid column names:
- Attachment
- Attachment1
- AttachmentFile
- attachment10
It’s not case sensitive, either. If your files are hosted in Google Drive, then the column should contain just the file attachment name. If your files are hosted somewhere on the web, then the column should contain the full URL to the file. Here’s what your spreadsheet might look like if you’re hosting your files on your own web server for a mailing to multiple recipients.
If you’re a spreadsheet wizard, feel free to use formulas for the attachment column as well. For example, if you’re sending monthly statements to your customers, and your billing software generates the monthly statements in the format of [CustomerNumber].pdf, and CustomerNumber is one of the column in your spreadsheet, you can set the attachment column to “=A1” + .pdf.
Finally, if you have blank cells in an “attachment” column, then it’s assumed that those recipients don’t have corresponding files, and the emails will be sent without any file attachment.
Connect to your spreadsheet, compose, and send your messages
If you’ve performed a mail merge with GMass before, the next step should be familiar. Click the Sheets connector button, choose your spreadsheet and worksheet, hit the “Connect” button, and a Gmail Compose will open. Type your message, and hit the GMass button. You don’t need to attach any files to this message. GMass will automatically detect the column in your spreadsheet containing the files to be attached and attach them to the individual emails.
The only reason you would attach a file directly to the Gmail Compose window is if you also want a separate attachment to go to all recipients. In that case, any files you attach to the Draft will be sent to all recipients, and additionally, any personalized attachments set in the spreadsheet will also be sent to separate emails.
For example, let’s say you publish a PDF newsletter monthly that you also want to send to everyone along with their personalized invoices. Then, you would attach the PDF newsletter to the Gmail Compose window, and after clicking GMass, each of the bulk personalized emails would be sent the same newsletter PDF as one attachment and an individual personalized invoice PDF as a second attachment.
Need to send personalized emails with more than one attachment?
Do you need to send more than one personalized attachment per recipient? For example, if every month, you send your customers an invoice and an account summary, and they are two different PDFs, then you can have TWO columns in your spreadsheet, for example:
- Attachment1
- Attachment2
GMass will notice this, and send both personalized files to each recipient.
Automate this to send emails with attachments every day, week, or month
Do you typically send your customers multiple messages each month?
You can set your campaign and spreadsheet up once, and then let the emails send on autopilot every day, week, or month, based on your business’ needs. Let’s say you want your email with attachments to send on the first of every month. Just schedule your initial email to send on the first of the month, and then set it to repeat MONTHLY.
Now, on the first of every month, GMass will automatically read your spreadsheet, retrieve the files, and send the emails with their corresponding attachment. All you need to do before the first of each month is get new files in place, either to your Google Drive, or wherever you’re hosting them.
Error handling for missing files or permissions in GMass or Google
If GMass can’t retrieve the file for a particular email address, that recipient will be skipped over and you’ll get a report at the end of the campaign of all recipients who were skipped. If you intentionally don’t want certain recipients to receive any attachments with their emails, just make those cells blank under the “attachment” column — that way, they will still receive the email but without anything attached. It makes sending multiple emails with different needs quite easy.
If you’re hosting your files on Google Drive, but GMass doesn’t have permission to read from your Google Drive, then your campaign will error out with this error:
Insufficient Permission: Request had insufficient authentication scopes. [403]
Errors [
Message[Insufficient Permission: Request had insufficient authentication scopes.] Location[ – ] Reason[insufficientPermissions
]
GMass didn’t have sufficient permissions to your Gmail account to do what you wanted. If you were trying to send personalized attachments, re-connect your Gmail account and then click the RESTART link.
Using Dropbox to store files for your mail campaign
If you want to use Dropbox to store the files you want attached to your emails, then you’ll have to do some manual work — you’ll have to create public URLs for each and every single file you want to attach, even if all the files are in the same Dropbox folder. While Dropbox makes it easy to get a public link to a folder, and even a public link to a file, Dropbox does not make it easy to generate public links for say, 100 files, without going through the link creation process manually for each of the hundred links you’ll need for a campaign with multiple emails.
To generate a public link to a file, just right-click the file and choose “Copy Dropbox Link,” and then place that URL in the appropriate Google Sheet column.
But again, you will have to repeat that process for every single file, because there’s no pattern that you can follow to determine the links yourself. For example, if you have two files in Dropbox, doc1.pdf and doc2.pdf, and you generate public URLs to them, they will look like this:
https://www.dropbox.com/s/bz2536zash23znd/doc1.pdf?dl=0 https://www.dropbox.com/s/kjdjf91w5xuip6n/doc2.pdf?dl=0
Now let’s say you have 100 files for which you need to generate public links. While you can see the left portion of the URL includes “dropbox.com,” as expected, and the right portion includes the file name, as expected, there’s a unique identifier string inserted in the middle that prevents you from generating these URLs on your own for easy copying and pasting into a Google Sheet that controls multiple emails.
If you do go through the process of manually generating the Dropbox link for each file, then your Google Sheet will look like this:
BUT… those links won’t work as attachments in that form. Because those URLs actually go to Dropbox pages that display the PDF file, not the PDF file itself. And for this process to work, we need to get at the PDF itself. We’ll achieve that with Dropbox’s force download feature.
You’ll need to change the final 0
in each link to a 1
.
So your links would now be:
https://www.dropbox.com/s/bz2536zash23znd/doc1.pdf?dl=1 https://www.dropbox.com/s/kjdjf91w5xuip6n/doc2.pdf?dl=1
If you’re dealing with lots of links, a find-replace will save you lots of time on this process.
Go to Edit > Find and replace or hit Command/Control+Shift+H.
Find dl=0
and replace it with dl=1
. I also recommend checking Also search within links
if you pasted in the Dropbox URLs and Google turned them into links. Click the Replace all button
Using Amazon S3 to store your attachments
Using S3 is a much more convenient option than Dropbox to store files for the purpose of personalized attachments, because S3 makes it easy to determine the public URL for any file. By default, an S3 bucket isn’t public, so make sure that if you create a bucket for the purpose of attaching files to multiple emails, you make your bucket public. You must UNCHECK the “Block all public access” box and then CHECK the acknowledgement box:
Then, when you upload your files to a bucket, make sure you choose “Grant public read access…” to the objects:
After your files are uploaded, S3 provides you with the public URL for each file, and it’s simply the DNS name you chose for your bucket in combination with the filename:
So in this case, my first two files will have the URL:
https://emailattachments.s3-us-west-2.amazonaws.com/doc1.pdf https://emailattachments.s3-us-west-2.amazonaws.com/doc2.pdf
Note that these URLs don’t actually work, so don’t try visiting them! But, any files I upload to this bucket will have a URL in the same format, which means my Google Sheet would look like this:
Other mail merge tips and tricks
What else can you do to make your emails with personalized files even better?
- You can send attachments using the GMass API.
- Perhaps you don’t want to attach actual files to your emails, but you instead want to link to a unique file per email address. Here’s how you can send a campaign with personalized links.
- If you need a response from your recipients, consider setting reply-based follow-ups to send automatically.
- If you need to send more emails than your Gmail account allows, connect an SMTP service to your account or apply to use our in-house SMTP server. For example, if you need to send 10,000 customers a personalized PDF every month, you’ll want to integrate an external SMTP service so that Gmail doesn’t prematurely bounce your emails.
- Make sure your emails with attachments make it to the Inbox with our Spam Solver.
- If you ended up here looking for much simpler personalization options, like how to make each email start with “Dear {FirstName},” see our complete guide to personalization.
GMass is the only tool for marketing emails, cold emails, and mail merge — all inside Gmail. Tons of power but easy to learn and use.
TRY GMASS FOR FREE
Download Chrome extension - 30 second install!
No credit card required
Hi there! Thank you so much for adding this new feature! Quick question- does this support attachments with spaces in the file name? Or could that possibly result in errors?
Hi Jillian,
Since the attachment link is based on the Google Drive link, the filename itself doesn’t contain any spaces as it’s assigned an attachment ID which is what is used for the links.
All respect for this wonderful service.
Thank you for the kind words Osama!
Clarification: Does the file need the .pdf added to the end of its name? Or can they just be Name1, Name2, etc?
Hi Ged,
You would also need to add the file type at the end of your file name.
Hi,
I have followed the steps, from a pdf in my google drive I clicked ‘get sharable link’ and copied the link into the attachments column on the spreadsheet. However, when I send this what is received is a file named ‘view’ which can only be opened in a brower, so a pdf is not received. Can you help?
thanks,
What are the limits for a free version ?
Hi Asha,
The free version is limited to sending a maximum of 50 emails per rolling 24 hours. If you’d like to lift this limit, please check out our paid subscriptions (gmass.co/pricing)
Greetings!
Could you clarify on this maximum limit. Would I be able to add around 300 emails to the campaign, then the program recognizes it has reached 50 and it will pause until 24 hours have passed, then resume with the next 50? Or do I need to batch them on my own?
Thank you.
Do you have to put the complete file name or can you put the end individual part?
Hi Gemma,
Yes, you would need to put the complete filename.
Thanks for this app. Question regarding attachments that are in a subdirectory on the Google Drive. How do you identify those files in the spreadsheet to link with the email? What is the syntax for that field?
Hello! Is there a way of referencing the file name on a Google Shared Drive? I couldn’t do it when the file was on a Shared Drive so I had to move all the files to MyDrive.
I am waiting on a response for this as well. We do not store any client files in “My Drive”, all of our client files are located in a Shared Drive that our staff has access to (with the correct permissions set up). PLEASE ADVISE. If this is not a feature, it needs to be ASAP.
Gmass is amazing! Loving this software. Quick question; if I add attachements to a google sheet mail merge to be sent with my original email will those same attachments be attached to the follow-up emails as well?
Hi,
Facing the same problem like people before.I have followed the steps, from a pdf in my google drive I clicked ‘get sharable link’ and copied the link into the attachments column on the spreadsheet. However, when I send this what is received is a file named ‘view’ which can only be opened in a brower, so a pdf is not received. Can you help?
thanks
As long as the file exists in your Google Drive, you won’t need to use the shareable link – instead, just add the filename in your attachment column as seen in this image from the post above: https://blogcdn.gmass.co/blog/wp-content/uploads/2020/05/001-personalized-attachment-spreadsheet-175kb-768×819.png
Hey Marvin, what happens when multiple files on my drive have the same name (in different folders)? Which one is picked then?
Does the software have decision capabilities, (if, case, etc.), specially for the free version?
Hi Vrikson,
Unfortunately, no GMass does not have an if-this-then-that capability.
Hi, I am trying to use the “Attachment” option for a test email – however, I keep getting:
“Error: Your test email to [email protected] was NOT sent. It might be on your account’s Unsubscribe or Bounce list. There was an error:
[email protected]: Gmass-UnableToFindAttachment.jpg (Unable to find the specified file.)”
How can I resolve this? The file and the email both appear to be valid…
Thanks in advance!
Hi Jagannath,
Please try sending to a different email address as it appears you’re sending to and from the same email account.
I’m receiving the same error, but I’m using a different test email. It seems as though Gmass isn’t sending any emails for me right now, and I can’t even send a test (I receive that message). My subscription is paid, and I haven’t sent any Gmass emails in 48 hours. Please help!
How does GMass know which PDF to use if we have multiple files with the same file name in our Google Drive? Like we have attachment1.pdf through attachmentX.pdf for each campaign, but in different folders?
Hi Cedric,
It wouldn’t and will use the 1st instance of that filename. Even though you can use files from different folders, the actual files would need to have unique filenames.
Hi,
I can’t seem to get past the connect account issue. I keep getting the following error: Object reference not set to an instance of an object.
I really don’t know what to do to fix it.
I am having the same exact issue. Cannot connect my account to Gmass. A NullReferenceException, really? 🙁
Hi, I want to send individualized PDFs and am using the =A1 + “.pdf” way, but it’s not pulling the attachments from google drive… is that because they’re in a folder or where should I place them in order for the sheet to pull them as shown in the example where attachments are named “1001.pdf”>
Hi, how can I add more than 1 recipient for the same customer to be part of the email in CC?
Same Question, @Marvin, please respond 🙂
How do you get the pdf files into the spread sheet? The pdf files are in google drive. The demo tells everythibg but not this. The demo uses already pdf entered spreadsheet
Is there a limit to the number of emails that can be sent at one time?
I may have as many as 10,000 to send with personalized attachments.
Hi Brian,
The sending limit is something that is enforced by Gmail, not by GMass. According to Google, regular G Suite accounts are limited to 2,000 while Gmail accounts (those ending with @gmail.com or @googlemail.com) are officially limited to sending a maximum of 500 emails per day. But other factors like the age of the account, content of the Campaign, or reputation of the domain can affect your sending limit.
There’s some more information about these limits here:
https://www.gmass.co/blog/how-many-emails-can-you-really-send-with-gmass-and-gmail/ ( https://www.gmass.co/blog/how-many-emails-can-you-really-send-with-gmass-and-gmail/ )
You can configure your account with an external SMTP server if you’d like to send unlimited emails without Gmail-imposed sending limits. See: https://www.gmass.co/blog/unlimited-mail-merge-sending-gmail/ ( https://www.gmass.co/blog/unlimited-mail-merge-sending-gmail/ )
Many times when I am sending out emails for invoices, I have the primary email and then 1 or 2 cc emails that will be getting the same attachment. Can GMass handle this scenario?
Could I list them on my Google Sheet as customer 1000, 3 times with different email addresses for each line? Hate to do that because it will compromise my Gmail limits.
Hello,
I’m probably too late but for some reason the pdf files I have stored in my google drive are converted to some other file type once the emails are sent. I made sure to uncheck the “convert files” setting from GMASS, so I don’t know what else I am missing and it looks like there are other people having the same problem, but I haven’t seen them answered yet.
Looks like great software otherwise.
Hi Colby,
What you’re encountering appears to be caused by having the actual sharable URL/Link to your file in Google Drive. Remember that if you’re using the Google Drive option to store your attachments, to not use the actual URL/Link for the file but just the file name and extension.
Please refer to this sample screenshot’s attachment column: https://marvin-wordzen.tinytake.com/media/1074de2?filename=1624359276556_TinyTake22-06-2021-06-54-31.png
Hola, ya he intentado crear 3 campañas pero no me adjunta los pdf. Alguien tiene alguna idea de lo que puede pasar allí? Gracias
I have duplicate email addresses on different lines of my spreadsheet that have different attachments. This is intentional and I don’t want gmass to remove duplicate email addresses. Is there a setting I can use to make sure an email is sent from each line regardless of whether the email address is on other lines also?
Hi Stoney,
You can do this when you initially connect your Google Sheet were you select the Spreadsheet and Worksheet you wish to connect to GMass, there is an option to open the “Optional settings” where you’ll just need to check the tick box to “Keep Duplicates”. This way, GMass will send to every row regardless how many times an email address shows up in your list. Please see https://www.gmass.co/blog/google-sheets-mail-merge/#:~:text=Step%204%3A%20Decide%20Whether%20to%20Keep%20Duplicates%20(Optional)
Hi,
Wondering if there is a way to make the other recipients in the list anonymous? I don’t want clients to see each others’ names attached in the email string. Is this already taken care of? If not, is there a way to change that setting? Thanks in advance!
Hi William,
You actually don’t have to since GMass will send individual emails to every recipient addressed only to 1 person per email. So if you have a campaign scheduled to 50 recipients, GMass will send 50 individual emails for each of the 50 recipients.
is there anyway to reference the file name in the subject line of the individual emails?
Hi Michelle,
Yes, you can have a separate column that includes the reference to the file name in your Google Sheet. Then use GMass personalization to pull that reference into your Subject line. (https://www.gmass.co/blog/mail-merge-personalization/)
Hi There!
I’m about to serve as a Student account admin for our Band organization and was looking for a solution to send unique attachments to nearly 300 contacts on a monthly basis. Knowing that yearly the contact list will change, I wanted to find a sustainable solution. I’m glad I found this site and cannot wait to try it out. Thank you for the detailed instructions.
I am a novice and need a person to show me how to accomplish my objectives and lead me through a successful bulk email with attachments
Attachment file location and naming (location) syntax.
It seems that this topic has arisen previously, but I don’t see a clear answer.
My experience is that ‘it works’ when the attachment files are located in the same gdrive folder (or subfolder) as the controlling gsheet. It would be just great (please!) if you could tell us how it is generally supposed to work, and how to reference files (attachments) that are in different folders than the spreadsheet. Thanks.
Is there a limit to the number of attachments you can have? I’m working on a campaign now and it seems like you can attach a max of 3, is that correct or is there something wrong with my spreadsheet?
Is this possible with the standard version of GMass?
Hi Irteza,
Yes, it is. You can send campaigns with unique attachments for each recipient with a standard plan.
Hi there,
I attached a word document, and it was sent, but the file itself won’t open and kept showing message Temporary error 404. What shall I do?
Hi Riham,
Please make sure that the document is shared so that anyone with the link can view/access the file. If you’re still running into issues, please contact support (gmass.co/g/support)
Hi
I have tested Gmass bulk mail with different attachments but the mails are going to spam floder how can i fix it
Hey,
I have tested this and it’s amazing. Can I know the limit of emails for free version and paid version?
No this is not amazing. The author still haven’t answered “How to access files in different subfolders”. Im not going to change my drive structure to nothing, because one mass sender could not handle the fric-in google folder structure.
If it would be done proper, it would have a possibility to configure root folder (where the files will be taken)