Drip Marketing campaigns send a series of timed emails to records based on how long they've been in a Population. Use them to guide leads through a funnel, stay connected after events, or nurture relationships in stages.
This article covers best practices for configuring drip marketing campaigns in Deliver using populations, rules, and filters. Read through all steps, including testing, before activating any mailings or rules.
🎓 Drip marketing campaigns for Student Success
📖 Further reading: Drip Marketing Campaigns for Student Success
🤝 Drip marketing campaigns for Advancement
Forms and events
Transactional messages associated with a form or event can automatically trigger based on a number of criteria, including:
Upon Registration or Update
Upon Registration
Upon Registration (including related event registration)
Upon Waitlist Registration
Upon Waitlist Registration (including related event registration)
Upon Move from Waitlist to Registered
Upon Update
Upon Cancellation
Hours Before Deadline
Hours Before Event
Hours After Event
Upon Decline
Use these types of communications in templates to apply a single dynamic message to multiple individual forms or events.
Recurring and drip communications
You can set up Deliver messages as an ongoing mailing that automatically sends whenever a new record meets the defined criteria. For example, you can configure a single "Happy Birthday" email to go out daily to everyone born on the current date.
Besides recurring mailings, you can build automated drip marketing campaigns directly in Slate. Define communication flows and send them dynamically based on records in a particular population.
For example, you might place a first-time donor in a "First Time Donor" population. After seven days of being in this population, the donor will receive an email describing how the institution uses their gift. Then on day 45 of being in that population, the donor will receive another stewardship email that describes the impact of their gift.
✨ Prompting Slate AI
Get customized guidance on how to build your campaign with Slate AI:
💬 I want you to build an automated nurture campaign triggered by inquiry form submissions.
💬 Guide me in designing a personalized email sequence for admitted students.
💬 Set up messaging rules for sending follow-ups to event registrants.
Step 1: Build a population
Records must belong to a population before you can use them in a drip marketing campaign. The rule used to set the population adds and removes records based on specific filter criteria. Populations work well for drip marketing because you can build them in a "perennial" way: the population itself might not change over time, but the records in it will.
📖 Further reading: Populations
To create a population and a rule to add records to that population:
Go to Database → Populations.
Select Insert.
Set the Status to "Active" and give your population a name that reflects the records it will contain.
Choose a Scope: Person or Application. If you’re unsure, select Person.
Select Save.
🔔 Important!
The scope selected in the population must match the scope in several places: population, population rule, recipient list, and recipient list filter.
Step 2: Build a population rule
To create a rule to add records to the population created in the previous step:
Go to Database → Rules.
Select New Rule.
Configure the following settings:
Name: Give your rule a descriptive name, usually based on the action the rule takes.
Base: Configurable Joins - Person
📝 Note: If using an Application population, also set the base to Application. If possible, start with a Person-scoped population when building a drip marketing campaign, because a person-scoped population can include both applicants and non-applicants.Rule Type: Person Population
Folder: Keep rules organized by adding to an existing folder, or selecting Other to create a new folder.
Exclusivity Group: Leave blank
Select Save.
Choose the filter criteria for your rule to determine the records who should be in this population. For example, you might filter by record status, program of interest, graduation year, or other criteria relevant to your population. See Getting Started with Configurable Joins for information on querying, including adding filters to rules.
Set Action to the population created previously.
Select Save.
⏸️ Don’t activate the rule yet!
Drip marketing campaigns work by checking how long a record has been in a population. Activating the rule now will add records to the population before you’ve built out the campaign, and might cause individuals to miss parts of your drip marketing campaign.
Exclusivity groups
Don’t create exclusivity groups for populations used in drip marketing campaigns. Individuals might meet the criteria of multiple populations at any given time.
Be intentional about designing your various campaigns to avoid inundating people with emails if they’re in multiple populations at once.
Step 3: Build a campaign
Use the following steps to create the series of campaign messages:
Create a mailing from the Campaigns page
✔ This is the recommended method for Person-scoped populations.
If your population is not Person-scoped, see Create a mailing from Deliver.
Select Deliver on the navigation bar.
Select Campaigns to view all your populations and the number of mailings associated with each.
Select the population to use for the campaign.
Select New Mailing.
Name the mailing, then select a folder, user, method, and Opt Out group.
Select the setting for the base type. Select the checkbox next to Base Type, as Configurable Joins query bases are the best, most-supported way to build recipient lists in Slate.
Select a Time Interval Type and enter the appropriate value for Number of Days or Start/End Date. The number of days can’t be less than 1. Number of Days sets the count of calendar days after joining your population that a record receives your message.
Select Save.
After adding the subquery filter, continue creating your mailing as normal. See Getting Started with Deliver for more information.
Create a mailing from Deliver
Select Deliver on the navigation bar.
Select New Mailing.
Name the mailing, then select a folder, user, method, and Opt Out group.
Select Save. You’ll be redirected to the edit mailing page for your new mailing.
On the edit mailing page, select Edit Recipient Lists.
Select New Query, then give it a name. Set the List Type to “Include,” Type to “Configurable Joins,” Category to “Records,” and Base to the base that matches your population.
Select Save. You’ll be redirected to the query builder to construct your recipient list.
Add a subquery filter using the subquery icon next to the Filter button.
Inside the subquery filter:
Add a join to Populations.
Add a filter for “Populations Name,” selecting the population for your campaign.
Add another filter for “Populations Timestamp Days.” This sets the number of days after joining your population that a record receives your message. The number of days can’t be less than 1.
Give the subquery filter an appropriate name, such as “In population for 3 days.”
Select Save.
After adding the subquery filter, continue creating your mailing as normal. See Getting Started with Deliver for more information.
🤔 Why can’t I set the “number of days” to 0?
Slate counts the number of days a record has been in a population based on calendar days, not 24-hour increments. Records that enter a population after your drip marketing messages are scheduled to send for the day—for example, at 11:59pm—will never receive a “day 0” message. To guarantee delivery to everyone in your population, set the number of days to at least 1.
Scheduling the mailing
After the recipient list and message content are finalized, configure the mailing's send schedule. Population-based drip campaigns have specific frequency, day-of-the-week, and delivery window requirements—configure the schedule as described below to avoid issues.
📝 Setting up a schedule, but not sending yet
Your population isn’t active yet, so no records are eligible to receive your mailing. It’s normal to see an “estimated rows” count of 0 in your query. Set up your entire campaign before activating the population, and test the campaign before sending to anyone outside your institution.
To schedule the mailing:
Select Send Mailing. Review any Pre-Flight Checks before continuing.
Set Frequency to “Send mailing on a recurring basis.”
For Date Range, provide a start date or a start and end date, and select every day of the week from the list. Slate doesn’t run the recipient list query on days the mailing isn’t scheduled to run. If a record would normally receive the mailing on a Saturday based on their number of days in the population, but mailings are turned off on Saturdays, the mailing won’t send.
Set Timing to “Send during a delivery window” and select at least two delivery windows.
Select Save Settings.
Continue building all communications in this campaign. As you build each new email, your population’s campaign page expands.
After completing testing, return to the Send Mailing button, but select Send Mailing instead of Save Settings.
Step 4: Testing drip marketing campaigns
Slate neither sends nor delivers emails and texts to recipients when messages are "sent" in Test, Clean Slate, or Time Warp environments. While transactional communications still appear on records’ timelines as if sent when triggered in Test, scheduled ongoing Deliver campaigns don't run in these environments, and won’t post to the timeline at all. This means you can't test a campaign using a Test environment.
To test your drip marketing campaign:
Add a filter that limits your population rule to return only your own test records. Select Save to save any changes to rules.
Change the Timestamp Days filter to "1" for all the emails in the associated campaign. This lets you receive all emails simultaneously. Or set the days interval to any value you want to test the full waiting period.
Send the mailings, ensuring that their Status is now set to "Scheduled/Running."
Follow the steps in the next section to activate the population rule and run a retroactive refresh, adding only your test records to the population.
💡 Tip: Use the activate or deactivate button on filters instead of deleting them
You can use the activate or deactivate button to temporarily turn off filters (and exports) without losing what you’ve built. This is especially helpful for testing.
Once the campaign functions as intended after testing, for each mailing:
Return to the edit mailing page.
Select Stop Mailing, then Stop Mailing again to confirm. This unlocks the recipient list for editing.
Change the Timestamp Days interval on the emails used for testing back to their original or desired value.
For the population:
Restore your population rule to its pre-testing state, removing the filter for your own test records and restoring or reactivating filters for your population. Select Save to save any changes to rules.
Run another retroactive refresh to add all desired records to the population.
Return to your campaign mailings, and use Send Mailing to schedule the messages to send.
🔔 Important!Before proceeding to Step 5, activate and run the mailings. Activating the mailings ensures the Number of Days interval and message delivery timing work as intended.
Step 5: Activate population rule and run retroactive refresh
After you’ve built your complete campaign, tested it, and selected Send Mailing on each message in the campaign, activate the population rule and place records into the population so they start receiving messages.
To activate the rule:
Go to Database → Rules.
Find and select your population rule.
In the rule editor, select Edit.
Change Status from “Preview” to “Active.”
Select Save. Don’t navigate away from the page yet.
To add records to the population:
While viewing your rule in the rule editor, select the New Query button.
Add any available exports, then select Run Query. 💡 Tip: Select relevant data points as your exports to confirm the correct records are being added to your population.
A preview of the records that will be added to your population appears.
In the Output select list, select Retroactive Refresh under Batch Management.
Select Export. Slate will prompt you for confirmation.
Select Submit.
Once the retroactive refresh completes, the records will be added to the population. The mailings are already scheduled and will send to records on the appropriate days. Now that the population rule is active, eligible records will enter the population automatically and be included in the mailing campaigns. If a record is already in a population and is retroactively refreshed, Slate doesn't reset how long they were in that population.
Drip marketing and population-based filters
The complete list of population filters includes the following:
Population: Identifies all records in a specific population at that moment in time.
Population Timestamp: Identifies all records that joined the population on a specified date or in a defined date range.
Timestamp Days: Identifies all records that have been in the specific population for a defined number of days.
Use these in subquery filters when using a Configurable Joins query base.
The earliest timestamp day you can use for the Number of Days setting is 1. Setting a population timestamp days filter to 0 excludes records that have entered the population after the latest delivery window selected.

