
Dynamic email lists have arrived at GMass — giving you a whole new level of control and flexibility with your campaigns.
The reason GMass has you connect to Google Sheets rather than upload a CSV of contacts is because that Google Sheets + GMass connection enables back-and-forth communication.
We’ve enhanced that power even more now.
This guide covers the basics you need to know about dynamic lists. We’ll also cover another new list type we’ve added, which are static lists.
You can stop reading there… or keep digging deeper as we get into some of the more advanced implementations of these new types of mailing lists.
Dynamic vs. Static Lists in GMass: Table of Contents
- The Basics: What Are Dynamic Lists? And How to Use Them
- Dynamic and Static List Behavior With Other GMass Features
- Scenarios Where You’ll Want to Use a Dynamic or Static List
- Ready to Use Dynamic Lists in Your Campaigns?
The Basics: What Are Dynamic Lists? And How to Use Them
What are dynamic lists?
Dynamic lists enhance the relationship between a GMass campaign and your Google Sheet of contacts, giving you more control over adding and removing contacts from that campaign itself and any follow-up sequences or related sends.
In the past…
When you connected a Google Sheet of contacts to a GMass campaign, your list was “locked in” at that moment of connection.
So if you scheduled your campaign for the future, even if you added or removed contacts from the Google Sheet, it wouldn’t matter. The recipients would be everyone on the Google Sheet at that moment you connected it to your campaign.
But now…
With dynamic lists, you have the option to make your Google Sheet of contacts into the single source of truth for your campaign. No more locking in your list at a specific moment in time.
So when you add someone to the Sheet after you’ve connected it but before your scheduled campaign goes out, they’ll get the email. If you delete someone, they won’t.
Same deal with auto follow-ups: if you remove someone from the sheet, they’ll stop getting the sequence.
Dynamic sheets also come into play with many other GMass sending features, giving you new, simplified levels of contact management control on behavior-based segmentation campaigns, search-driven lists, suppression, and more.
In the past, there were ways to do a lot of what I just described — but the process was complex and usually required workarounds or “hacks.” Now, with dynamic lists, you can manage your contact list in the same place it lives: Your Google Sheet.
In addition to dynamic lists, we’ve also added the opposite: Static lists. With those, your Google Sheet is locked at the moment you connect it to a campaign, so even if you alter the Sheet it won’t affect who does or doesn’t receive messages.
How to create a dynamic (or static) list in GMass
Connect a Google Sheet to start a GMass campaign as you normally would.
As you’ve seen with all your campaigns, GMass turns your list of contacts into an email alias. In my example here, the alias is 10-recipients-f9188b66@gmass.co
.
Now you can manually modify that address to make it static or dynamic.
Right click on the email alias address in the To: field of your email, and choose Change email address.

Now you can edit the email address.
If you add “-dynamic” before the @ symbol, you turn your list into a dynamic one.

If you add “-static” before the @ symbol, you turn your list into a static one.

And, of course, you can just leave the email address as-is and GMass will continue operating as it always has for you. This dynamic/static process is all optional.
As of now, there’s no option in the GMass interface to make a list static or dynamic. You’ll need to manually alter the alias address to include “-dynamic” or “-static”.
Example of what it means to have a dynamic list
Now that I’ve covered how to turn a GMass alias into a dynamic list, here’s an example of what that means.
I connected a Google Sheet that has 10 rows of data (aka 10 contacts), and the alias address 10-recipients-f9188b66@gmass.co
was generated.
I then modified that to be 10-recipients-f9188b66-dynamic@gmass.co
for a dynamic campaign.
I whipped up a quick campaign and scheduled it to go out five minutes later.

Now I went into my Google Sheet and deleted one of the rows of data, removing a contact. That takes me down from 10 contacts to nine.

So when my campaign went out, emails only went to the nine contacts who were in the Google Sheet at the scheduled sending time.

If I’d left the alias as-is, or if I’d added “-static” to it rather than “-dynamic”, all 10 of the people who were on the Google Sheet at the time I connected it to the new campaign would’ve received the message.
But because I made my list dynamic, only the nine who were there at sending time received it.
What if I don’t make my list dynamic or static, and just leave it as-is?
That’s ok. You don’t have to make your list dynamic or static.
There are now three options you have with a mailing list:
- Adding “-static”, for instance 10-recipients-f9188b66-static@gmass.co
- Adding “-dynamic”, for instance 10-recipients-f9188b66-dynamic@gmass.co
- Or adding nothing to leave the list as-is, for instance 10-recipients-f9188b66@gmass.co
Here’s what will happen in each of these situations:
Static
Static means your contact list is “locked” at the time you connect your Google Sheet to your campaign. GMass will only ever use the contacts on that list at that moment, even if you alter your Google Sheet. (Even if you try to do a recurring campaign to new rows.)
However, do note that only the number of contacts and their email addresses are locked. When it comes to personalization data in the spreadsheet, like people’s first names, GMass always pulls that at the time of sending the campaign.
Dynamic
Dynamic means your list is never “locked.” So every time GMass needs to send one of your emails — your campaign, an auto follow-up, a recurring campaign, anything — it will always consult who’s on your Sheet.
For example, if someone is scheduled to receive an auto follow-up, GMass will check the sheet before sending that follow-up to make sure that contact is still in your Google Sheet. If you’ve removed them, their auto follow-up won’t go out.
Default/as-is
Default/as-is is a mix of static and dynamic behaviors, though it leans toward static. If you leave your list as-is, it’s “locked” when you connect it to your campaign. You can’t remove someone from an auto follow-up sequence, for example, simply by deleting them from the Sheet.
However, unlike a static sheet, you can add new rows to your Sheet for recurring campaigns to new rows. I’ll cover that in the section below on recurring campaigns.
Continue reading to learn more about some more advanced implementations of dynamic and static lists with other GMass sending features.
Dynamic and Static List Behavior With Other GMass Features
Now that we’ve covered the basics, let’s talk about how dynamic and static lists work with GMass’s different sending features.
Auto follow-ups
One of the greatest implementations of dynamic lists is with auto follow-ups.
Over the years, GMass users have regularly asked us: Can I stop auto follow-ups to someone by removing them from my Google Sheet?
Before the answer was no. Now the answer is yes.
Auto follow-ups work differently with dynamic lists than with static or default/as-is lists.
With a dynamic list, auto follow-ups are reliant on contacts who are on your Google Sheet at the time each auto follow-up stage goes out.
So if you remove a contact from your Sheet before they’re scheduled to receive a follow-up stage, you’ve removed them from the sequence and they won’t get that message (or subsequent ones).
But with a static list or the default list, removing someone from your Sheet does not remove them from your auto follow-up sequences. The way to remove them from those is to use suppression. (That technique is covered here.)
Example scenario with auto follow-ups
Let’s say we have a 10-person campaign with auto follow-ups going to everyone (even if they open/reply/click), and I send it to a dynamic list.

Before the first follow-up stage is scheduled to go out, I delete 4 people from my Google Sheet.

At the scheduled time for Stage 1, GMass checks my Google Sheet. It finds only 6 people are there, so it only sends the follow-up to those 6.

Now let’s contrast that with a static list or default/as-is list. Again, it’s a 10-person campaign with auto follow-ups.
Once again, before the first follow-up stage is scheduled to go out, I delete 4 people from the Google Sheet.
But GMass does not check the Sheet for changes with the static or default lists. So all 10 people will still receive Stage 1. To remove them from the static/default campaign, I would’ve needed to add their addresses to the suppression box.
Suppression lists
Suppression lists are a key component of our dynamic list system — in fact, they were one of the big motivators for us to create this dynamic system.
(Refresher: You use suppression lists to tell GMass who should not receive an individual campaign, even if they were included in the Google Sheet of contacts for that campaign.)
Before, there was a pretty clunky workaround method for creating a dynamic suppression list — it involved creating a fake campaign, using the “just create drafts” option on that campaign, and making it recurring.
But now, if you need a dynamic suppression list, it’s much simpler.
Just create a Google Sheet for your suppression list.

Connect that Sheet in GMass as if you’re going to send a campaign to it, even though you’re not going to — you just need to create an alias email address for it.

Once GMass creates that alias address, copy it down. (Mine was 1-recipients-b60ad13b@gmass.co). Then close the compose window.
Now open the compose window for the campaign where you want to use that dynamic suppression list. Put the alias in the Suppression box for the campaign, and add “-dynamic”.

Now, whenever you add email addresses to that Google Sheet, GMass will suppress them in your campaign. You could also remove addresses from that Sheet if you no longer want to suppress them.
Here I added a second address to my dynamic suppression sheet after I scheduled my campaign.

And when the scheduled campaign went out, it only went to eight people, excluding the two on my suppression list (the one who was in there initially, and the one I added in between scheduling the campaign and when it sent).

Recurring campaigns
In a way, recurring campaigns were the closest thing to dynamic campaigns that GMass offered in the past.
(Quick refresher: With recurring campaigns, you can schedule GMass to send your campaign on a repeating basis. Your options were to send to new rows added to your Google Sheet, or to send to everyone on your Google Sheet.)
Once again, recurring campaigns will work a bit different with dynamic, static, and default/as-is lists.
Example scenario with a recurring campaign to NEW rows
Let’s again say we’re sending a campaign to 10 people. I set it up as a recurring campaign going out to NEW rows hourly, and I send it to a dynamic list.
Now I add a new row with a new contact to the list. And when my campaign sends on the hour, that new person receives the campaign.
This would also be the case if I left the alias as-is (and did not add “-dynamic” or “-static”) — as this is the default GMass behavior you’re used to.
Now let’s say I set up that recurring campaign to 10 people, going out to NEW rows hourly, and I send it to a static list.

I add my new row.

But when the hour comes around, GMass does NOT send to the new contact I added because the list was static.
Sending recurring campaigns to ALL rows
You can also create recurring campaigns that go out to ALL rows in your Google Sheet, not just new ones.
If you make your list dynamic or leave it default/as-is, GMass will check your Sheet before each recurring send and send to all the rows in it — even new ones you’ve added.
But if you make your list static, GMass will only send your recurring campaign to the contacts who were on there when the Google Sheet was first connected.
Behavior-based segmentation campaigns
Thus far, I’ve covered one way of creating dynamic or static lists: Changing the email alias after connecting a Google Sheet to a new GMass campaign.
But that’s not the only scenario where you can make a list dynamic or static.
You can also do so with behavior-based segmentation campaigns.
(Quick refresher: Behavior-based segmentation is a follow-up campaign you send based on how recipients interacted with a previous campaign. For instance, you can send a new campaign to everyone who clicked on a prior campaign. Or to everyone who opened but didn’t reply.)
When you create a behavior-based campaign, you’ll get a new alias. You can make that alias dynamic (or static) as needed.
Schedule your dynamic behavior-based campaign for whenever you want to send. And it will check everyone’s behavior at that time to send.
Example scenario with a dynamic behavior-based segmentation campaign
For example: If you create a behavior-based campaign to people who opened your prior campaign and there were 47 at the time you generate the campaign. You change the alias to dynamic, and schedule this campaign to the openers to go out three days from now.
By that three-day mark, now 12 more people have opened the original message, bringing the total opens to 59. Because you made your behavior-based campaign dynamic, all 59 of them will receive it.
With a static or as-is list, only the 47 openers who were there when the campaign was generated would receive it.
Another case: Behavior-based campaigns based off dynamic campaigns
What happens if you have a behavior-based campaign based on a dynamic campaign?
Really, the best way to explain this one is with an example.
Here I’ve connected to a Google Sheet of 10 people. I changed the alias to make the campaign dynamic.

Now I’ll send it out, and open it at two of the 10 recipient addresses.
Next, I’ll create a behavior-based campaign…

…and send it to everyone who opened.

I scheduled that one to go out in the future.
But… because I made the original campaign dynamic, it’s still a live connection to the Google Sheet. And I deleted one of the openers from the Sheet before the behavior-based campaign went out.

So now, only one of the openers received the behavior-based campaign — because the other was gone.
If I hadn’t made the original email dynamic, the contact I deleted off the sheet would still receive their behavior-based campaign.
Another case: Dynamic original campaign and static behavior-based campaign
Let’s say you send a campaign with a dynamic list. 50 people open it. And then you create a behavior-based campaign to openers — and you make that behavior-based campaign static. You schedule the behavior-based campaign for 24 hours later.
In the time period, you delete 10 of the openers from your Google Sheet.
All 50 will still receive the behavior-based campaign — even the 10 you deleted — because that list is static from the time you created it.
If you’ve ever heard the term subsequences, that’s what we’re really doing here with our behavior-based campaign + dynamic list combo. We also have a deeper dive into creating subsequences on our blog.
Search-based campaigns
You can also use dynamic lists with search-based campaigns.
(Quick refresher: You can run any search in Gmail and GMass can build you a new email list from those search results.)
This could be really valuable if you want to create an ongoing campaign going out to people who match search criteria.
Example of a dynamic search-based campaign
Let’s say you have a form on your website where leads can contact you for more information.
Every time someone fills out that form, you get an automatic email to your Gmail account with the subject “new website lead”.
You can create a search-based campaign in GMass by searching “subject: ‘new website lead’” in Gmail then hitting the magnifying glass button.

GMass will open up a new compose window with an alias address corresponding to that search.
Add “-dynamic” to that list. Type up the message you want to send to those leads. And in the settings, set this campaign to repeat daily.

Now, every day, GMass will send your campaign to any new leads who’ve filled out your form (because it finds them in its Gmail search).
Triggered campaigns
You can somewhat replicate GMass’s triggered emails feature using dynamic lists — with pros and cons.
(Refresher: Triggered emails are messages that automatically go out when someone takes an action like opening, clicking, or replying to your initial campaign.)
Here’s what you can do:
Create your initial campaign and, after you send it, create a behavior-based campaign. For an example, let’s say you send it to everyone who opened the initial campaign.

Now make that behavior-based campaign list dynamic.
Type your message, and schedule it to repeat every day.

So now, every day, GMass will send that campaign to everyone who opened your email in the past 24 hours.
The pro of using this method rather than triggered emails: Triggered emails use GMass’s transactional email platform, making it harder to analyze the data. The dynamic lists use the traditional campaign analytics platform, which you’re used to.
The con of doing this method instead of triggered emails: Part of the benefit of triggered emails is they can go out immediately when someone takes an action — so you know they’re in their inbox. With this dynamic list alternative, emails would go out once a day, in batches.
Scenarios Where You’ll Want to Use a Dynamic or Static List
Here’s a breakdown of the above, with the cases where it makes the most sense to use different types of lists.
Dynamic list
- When you think you might want to add or remove recipients before a scheduled campaign is going out.
- When you’re planning to run a recurring campaign.
- If your campaign has auto follow-ups, and you want an easy way to remove people from the auto follow-up sequence.
- If you’re creating a Google Sheets specifically to use as a suppression list.
- If you’re going to run behavior-based follow-up campaigns and want to be able to easily remove people from those.
- If you want to run a recurring search-based campaign.
- If you want to run a triggered email-style campaign.
Static list
- If you want to make sure your campaign goes out just to the people on your Google Sheet at the time you connect that Google Sheet to a GMass campaign — no matter what edits you or your team make to that Sheet after that.
- If you’re sending a recurring campaign to everyone on a Google Sheet and you don’t want to add or remove anyone from that group.
Leave the alias as-is/default list
- Sending a standard campaign where…
- …you don’t plan to do any behavior-based follow-ups.
- …or use that campaign as a suppression list for another campaign.
- …and you don’t mind potentially removing people from auto follow-up sequences the more cumbersome way (through suppression lists).
Ready to Use Dynamic Lists in Your Campaigns?
Dynamic lists give you more power over your campaigns in GMass — it makes them far easier to manage no matter what types of emails you’re sending.
And good news: If you’re already a GMass subscriber, dynamic and static lists are enabled on your plan.
But if you’re not a GMass subscriber yet — you can give it a try for free, with no credit card required.
Just install the Chrome extension and you’ll be up and running. You can test out all of GMass’s features during your trial, including dynamic lists.
See why nearly 400,000 people use GMass to send all types of emails — and why GMass gets an average of 4.8 out of 5 stars across 10,000+ reviews.
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
i3ell6