Using a combination of Gmail, Google Sheets, and GMass, you can easily email different people on different days. In the Google Sheets spreadsheet containing your email addresses, you simply need a Date column that includes the date on which you’d like that particular email sent.
Overview
The basic steps to send automatic emails on specific days in Gmail are:
- Set up a Google Sheets spreadsheet containing email addresses and the dates to be sent.
- Use GMass to connect to the spreadsheet with a specific filter criterion.
- Compose the campaign.
- Set it to repeat daily.
- Send it out!
Set up your spreadsheet
Your spreadsheet can contain any number of columns to personalize your emails, but for date-based sending, it needs to include a column for the email addresses and the EmailSendDate, for when you want each email sent out. That date can be anything that pertains to your use case (see Other Use Cases below after the example).
Above is our sample spreadsheet containing a list of people and the corresponding EmailSendDates. Note that the dates can be in any valid date format. In the example above, I am showing a number of different dates, with or without the year information, and using different formatting, just to show the flexibility. In your actual spreadsheet, you would probably stick to a standard format.
In what format should the date be? For this example, your date column can contain dates with years or without years, and they can be in any recognizable U.S.-based date format. For a date of January 15, 2019 for example, the spreadsheet cell can contain “1/15/19”, “1/15/2019”, “01/15/19”, “January 15, 2019”. It should not contain, however, the European date format of “15/1/19”.
If you are sending something out on an annual basis on that date, and therefore the year does not matter, you can leave years off of the date. For example, “1/15” and “January 15” would be acceptable date values. In this example, that is the approach I will follow (see the last example in Other Uses Cases below if you do need the year information to be used).
Set up the filter criterion in GMass
Click the GMass spreadsheet icon
and choose the spreadsheet and worksheet that you just set up. Because we don’t want to send an email to everyone on the spreadsheet at once, we need to specify a filter criterion so that emails only go out when the current date matches the date in the EmailSendDate column.
The filter criterion is based on the “EmailSendDate” column in the spreadsheet. We want to match rows where the EmailSendDate is equal to the current date. In this example, we are going to do it without regard to the year of the EmailSendDate.
Once you’ve inputted the filter criterion, click the CONNECT TO SPREADSHEET button to continue.
Note: If it’s no recipient has an EmailSendDate that matches today, then the Gmail Compose window will launch with an alias address in the To field representing 0 addresses. That is normal (and is shown in the next screenshot). It just means that right now, 0 emails will be sent. Since you’re going to set up the campaign to repeat daily, it will check to see if anyone has an EmailSendDate on each day the campaign runs, and send out the ones that do.
Set up the mail merge
A Compose window in Gmail should have launched where you can enter the Subject and the Message for the email. Here I’ve personalized the Message with the first name.
Again, don’t be alarmed by the alias address representing 0 recipients. That’s just because it happens that today’s date does not match any of the recipients’ EmailSendDate. If any had matched, they would be shown in the To: field.
Now, in order to get this email to send every day to just the recipients whose EmailSendDate is that day, you must check the Repeat daily checkbox, which is found in the GMass Settings window.
Setting this to “Repeat daily to new Sheets addresses” will cause GMass to query the spreadsheet daily to see what email addresses match the filter criterion. Without this setting, the email would send today to anyone whose EmailSendDate is today–and then would just stop.
Instead, this setting will tell GMass to:
- Query the spreadsheet daily for rows where the current date is equal to the EmailSendDate.
- Send an email to just those people.
Bonus: You can keep adding rows to your spreadsheet, even after the campaign has started.
You can add more rows to your spreadsheet anytime you wish, and GMass will automatically pick up the new email addresses and dates. You don’t need to edit your GMass campaign. Just add the new data to the spreadsheet and GMass will detect them and send the emails accordingly on the daily schedule you’ve already set.
Other Use Cases
This is a general pattern that works for a number of use cases, either in business or your personal life.
- Automated shipping alerts. If you have a spreadsheet of orders your company has received, and one of the columns is the buyer’s email address, and the other is the buyer’s order ship date, you can have an email sent out automatically on the day that a buyer’s product ships, to let them know to expect their package in the mail soon.
- Automated emails for birthdays, graduations, others’ anniversaries, and other special personal dates. See our guide to sending birthday emails.
- Subscription or membership ending reminders. This is a really useful one, and can be used with software subscriptions, magazines and newsletters subscriptions, society memberships, web domain yearly registrations, and other services that are paid in a repeating manner, whether annually or at some other scheduling. This one works particularly well if you include two date columns in the spreadsheet: one for the reminder send-out date, and one for the final day the service is expiring. You can then reference that expiration date in the body of the email using {ExpirationDate} as a GMass tag.
This case is important enough to take a look at a quick example of the spreadsheet, filter criterion, and a sample message you might compose.
Here is the spreadsheet–note the new ExpirationDate column to the right.Here is the filter–in this case, we are going to include the year information, so note that the filter is slightly different than what was used in the previous campaign example above.
Finally, this might be the message that you write to all customers–but it will only be sent out to each a month before his or her particular subscription is running out:
Is your email list not in Google Sheets?
GMass integrates extensively with Google Sheets to make features like sending automatic date-based emails possible. What if you don’t use Google Sheets as the main warehouse for your email list data? Using one of the many Google Sheets integrations from Zapier, you can automatically sync data from almost any database system with Google Sheets.
Want more?
You may be interested in an overview of how GMass sends mail merge campaigns with Google Sheets. You may also be interested in reading about setting up daily recurring campaigns using data in Google Sheets, which is what is necessary to send birthday and date-specific emails. And lastly, here’s a detailed guide to filtering rows in your spreadsheet for mail merges, in case you want to learn about techniques beyond just date filters in choosing which spreadsheet rows to send emails to.
Only GMass packs every email app into one tool — and brings it all into Gmail for you. Better emails. Tons of power. Easy to use.
TRY GMASS FOR FREE
Download Chrome extension - 30 second install!
No credit card required
how do i automatically copy one campaign to another mailbox.?
example if i sent a campaign at [email protected] to 2000 contacts.
and i want to send the same campaign at [email protected] to a different set of 2000.
is there anyway to do this faster?
Hi Joven,
At this time, there’s no automatic way of doing so. You would have to connect your 2nd spreadsheet (that contains the next 2000 contacts) to your 2nd account then copy and paste the email body from the original campaign from the 1st account.
how do i ensure that I send it out at certain timings?
Hi
What happens if I add an additional address to the sheet later the same day?
Hi, besides the “EmailSendDate” column, Is it possible to add a column for the specific time? Like 9:55AM? What would be the name of that column? And what´s the hour format I should use? Thank you.