Drip content is one of the most powerful features for course creators and membership site owners. Instead of giving users access to everything at once, you release content gradually—one lesson per week, day, or after they complete prerequisites.
This guide explains how drip content works in BricksMembers and how to set it up for your courses.
What Is Drip Content?
Drip content means releasing content on a schedule rather than all at once.
Examples:
- Time-based: Unlock Lesson 2 seven days after the user joins
- Prerequisite-based: Unlock Lesson 2 only after the user completes Lesson 1
- Combined: Unlock Lesson 2 seven days after joining AND after completing Lesson 1
- Cohort-based: Unlock content based on a group start date (e.g., January 2025 cohort)
Why use drip content?
- Prevent overwhelm: Users focus on one lesson at a time instead of seeing 50 lessons at once
- Increase engagement: Users come back regularly to access new content
- Improve completion rates: Structured pacing helps users finish courses
- Create urgency: “New lesson unlocks tomorrow” keeps users engaged
- Reduce refunds: Users can’t watch everything on day one and request a refund
Enabling Drip Content
Drip content is an optional module. Here’s how to enable it:
- Go to BricksMembers → Settings → Modules
- Find the Enable Drip Content System checkbox
- Check it to enable
- Click Save Settings
The Drip Content admin page is now available at BricksMembers → Drip Content.
Unlocked Access Persistence Modes
After enabling drip content, you need to choose how it handles already-unlocked content when user access changes:
- Go to BricksMembers → Drip Content
- Look for Drip Timeline Settings at the top
- Choose your mode:
Reset on Re-assignment (Default)
- Restart the drip schedule when access is lost and regained
- Previously unlocked content may re-lock based on current rules
- Best for: Testing environments, sites still being configured
- Example: User loses “Premium” level, then regains it → drip schedule restarts from day 1
Preserve Previously Unlocked Content
- Keep access to content already unlocked by the user, even if rules or levels change later
- New content still follows current rules
- Best for: Live sites, production environments
- Example: User loses “Premium” level, then regains it → keeps access to lessons they already unlocked, new lessons follow current rules
Important: Choose “Preserve” mode for live sites to avoid frustrating users who lose progress when their subscription renews or level is reassigned.
Creating Drip Rules
Drip rules define when content unlocks. Let’s create your first rule.
- Go to BricksMembers → Drip Content
- Fill out the rule form (explained below)
- Click Save Drip Rule
What to Unlock (Rule Scope)
Rule Name (required): Give your rule a descriptive name like “Unlock lessons daily after registration”.
Structure (required): Select which content structure this rule applies to. Each rule is scoped to a single structure. For example, if you have a “WordPress Mastery Course” structure, select it here.
Post Type (required): Select which post type within the structure this rule applies to. For example, if your structure has “Course”, “Module”, and “Lesson” levels, you might select “Lesson” to apply this rule to all lessons in the structure.
Filter by parent type… (optional): This dropdown helps you narrow down the “Specific Parent Post” options. For example, if you select “Module”, the next field will only show module posts. This field is saved for convenience but doesn’t affect which posts the rule applies to.
Specific Parent Post (optional): Narrow down to posts that have a specific parent anywhere in their ancestry. For example, select “WordPress Mastery Course” to only apply this rule to lessons within that course. Leave empty to apply to all posts of the selected type within the structure.
User Levels (optional): Check one or more user levels. The rule will only apply to users who have any of the selected levels. Leave all unchecked to apply to all users.
Important: Each rule must specify both a Structure and a Post Type. These are mandatory to ensure precise targeting of content.
When to Unlock (Time-Based) – Schedule Tab
Initial Delay (days): The number of days to wait before starting the drip schedule. Set to 0 for immediate start.
Trigger: Choose when the clock starts:
- User registration: Count days from when the user registered on your site
- Level assignment: Count days from when the user was assigned the userlevel
Example: Initial Delay = 7 days, Trigger = User registration → Content unlocks 7 days after the user registers.
Timed Auto-Drip Tab
Automatically release N items every X days from the start date (trigger or cohort). This works alongside prerequisites; “Items per interval” limits how many can unlock at a time.
Enable Timed Auto-Drip: Check this to activate automatic timed releases.
Interval every: Number of days between releases (e.g., 7 = weekly, 1 = daily).
Items Per Interval: How many items to release at each interval (e.g., 1 = one item per week, 2 = two items per week).
Release First Item Immediately: Check this to unlock the first item immediately without waiting for the first interval.
Example: Interval = 7 days, Items = 1, First Immediate = checked → Item 1 unlocks immediately, Item 2 unlocks after 7 days, Item 3 unlocks after 14 days.
Cohort Settings
A cohort is a synchronized start date for all learners in a group. Use this to ensure everyone begins the drip schedule at the same time, regardless of when they individually registered or were assigned the level.
Enable Cohort: Check this to activate cohort-based unlocking.
Cohort date/time: Set the cohort start date and time (e.g., January 1, 2025 at 00:00).
Cohort mode: Choose how the cohort interacts with other timing rules:
- Everyone starts on cohort date: Cohort date becomes the start date for all users. Initial delay is ignored.
- No one starts before cohort date: Individual timelines apply normally, but cohort date is the earliest anyone can start.
Example: January cohort starts on Jan 1, February cohort starts on Feb 1. All January cohort members begin on Jan 1 regardless of when they individually joined.
Prerequisites
Important: Prerequisites require the Progress Tracking module to be enabled. If Progress Tracking is disabled, the Prerequisites button will be disabled.
Require previous item: Check this to require completion of the immediately previous item within the selected boundary (see “Previous within” below).
Require ALL previous items: Check this to require completion of ALL previous items within the selected boundary, not just the immediate previous item.
Previous within…: Define the parent level boundary for “previous”. Options are generated from your content structures and show the parent levels, like “Course, Module, etc.”. Most of the time, you’d select Course here to drip feed lessons within the course. If the student reaches the last lesson within a course, the lesson of the next course won’t be unlocked on completion.
Delay After Previous Completion (days): Add extra days after completing the previous item. For example, set to 3 to unlock each item 3 days after completing the previous one.
Also require these specific posts: Search and select specific posts that must be completed. Use the search field to find posts by title. Useful if people need to learn something from a different course before they can understand the content of a certain lesson.
Combine prerequisites: Choose how multiple prerequisites combine:
- All must be met (AND): “Previous within” AND “Specific posts” must all be completed
- Any can unlock (OR): Either “Previous within” OR “Specific posts” can unlock the content
Unlock Logic
Control how all conditions (time-based, prerequisites, cohorts) combine.
Condition Logic:
- All conditions must be met (AND): Timing AND prerequisites must all be satisfied
- Any condition can unlock (OR): Either timing elapses OR prerequisites are completed
Example (AND): User must wait 7 days AND complete the previous lesson before unlocking.
Example (OR): User can unlock by either waiting 7 days OR completing the previous lesson (whichever comes first).
How Drip Unlocks Are Computed
BricksMembers computes drip unlocks in the background.
When unlocks are computed:
- When a user is assigned a level
- When a user completes a post (if prerequisites are enabled)
- Daily via WP-Cron (to catch time-based unlocks)
- When you save a drip rule (recomputes for all affected users)
What’s stored:
- The
brm_user_unlockstable stores unlock timestamps for each user/post combination - Only posts that are unlocked are stored
- If a post is locked, there’s no row in the table
Performance:
- Unlock checks are fast (simple database lookup or cache hit)
- Recomputation happens in the background via WP-Cron, or on post completions fast in inline batches (little spinner appears next to progress bar) – this usually goes very quick as unlocks are only calculated for the current user and in an efficient way
- You’ll see a progress bar when large recomputations are running in the admin backend
Displaying Drip Status
You can show users when content will unlock using dynamic tags and Bricks conditions.
Drip Dynamic Tags
BricksMembers provides dynamic tags to display drip content status. See the BRM Dynamic Tags Reference for the complete list.
Most commonly used drip tags:
{brm_drip:unlocked} – Returns “1” if unlocked, “0” if locked
{brm_drip:unlock_date} – Shows the unlock date (formatted by WordPress date settings)
{brm_drip:days_left} – Shows integer days until unlock (0 when unlocked)
{brm_drip:status} – Human-readable status string (Locked / Unlocked)
Example usage:
This lesson unlocks on {brm_drip:unlock_date} ({brm_drip:days_left} days remaining)
Conditional Content with Bricks
Use Bricks conditions to show different content based on drip status.
Available drip conditions:
- Unlocked – Content is unlocked
- Locked – Content is locked
- Time Ready – Time-based delay is reached
- Time Not Ready – Time-based delay not reached
- Prerequisites Ready – All prerequisites are met
- Prerequisites Not Ready – Prerequisites not met
Example: Show “Locked” message
- Edit a post in Bricks
- Add a Section for locked users
- Set a condition: BricksMembers → Drip → is → Locked
- Inside the section, add: “This lesson unlocks on {brm_drip:unlock_date}”
- Add another Section for unlocked users
- Set a condition: BricksMembers → Drip → is → Unlocked
- Inside, add the actual lesson content
Now locked users see when the lesson unlocks, and unlocked users see the content.
Real-World Examples
Example 1: Weekly Lesson Release
Goal: Release one lesson per week for 8 weeks.
Setup:
- Create a content structure with 8 lessons
- Create a drip rule:
- Rule Name: “Weekly Lesson Release”
- Post Type: “Lesson”
- Initial Delay: 0 days
- Trigger: “Level assignment”
- Enable Timed Auto-Drip: checked
- Interval every: 7 days
- Items Per Interval: 1
- Release First Item Immediately: checked
- Click Save Drip Rule
Result:
- Lesson 1 unlocks immediately
- Lesson 2 unlocks after 7 days
- Lesson 3 unlocks after 14 days
- …and so on
Example 2: Self-Paced with Prerequisites
Goal: Users unlock lessons by completing the previous one, with a 3-day minimum gap.
Setup:
- Create a drip rule:
- Rule Name: “Self-Paced with 3-Day Delay”
- Structure: (select your course structure)
- Post Type: “Lesson”
- Initial Delay: 0 days
- Trigger: “Level assignment”
- Advanced Options → Require previous item: checked
- Previous within: “Parent Level” (e.g., “Module”)
- Delay After Previous Completion: 3 days
- Condition Logic: “All conditions must be met (AND)”
- Click Save Drip Rule
Result:
- User completes Lesson 1 → Lesson 2 unlocks 3 days later
- User completes Lesson 2 → Lesson 3 unlocks 3 days later
- Self-paced, but with enforced spacing
Example 3: Cohort-Based Program
Goal: Monthly cohorts, all users in a cohort progress together.
Setup:
- Create a drip rule for January cohort:
- Rule Name: “January 2025 Cohort”
- Structure: (select your course structure)
- Post Type: “Lesson”
- User Levels: Check “January 2025 Members”
- Enable Cohort: checked
- Cohort date/time: 2025-01-01 00:00
- Cohort mode: “Everyone starts on cohort date”
- Enable Timed Auto-Drip: checked
- Interval every: 7 days
- Items Per Interval: 1
- Release First Item Immediately: checked
- Click Save Drip Rule
- Repeat for February cohort with a different date and user level
Result:
- January cohort: Lesson 1 on Jan 1, Lesson 2 on Jan 8, Lesson 3 on Jan 15
- February cohort: Lesson 1 on Feb 1, Lesson 2 on Feb 8, Lesson 3 on Feb 15
- All members in the same cohort progress together
Common Questions
Q: Can I have multiple drip rules?
A: Yes! You can have different rules for different post types, parent posts, or levels. This is actually encouraged, as having multiple drip rules with narrower specified affected content is slightly better for performance as less posts have to be considered for computations.
Q: What happens if rules conflict?
A: The strictest rule wins. If one rule says “unlock after 7 days” and another says “unlock after 14 days,” the post unlocks after 14 days.
Q: What if I change a drip rule after users have already started?
A: BricksMembers recomputes unlocks for all affected users. If “Preserve Previously Unlocked Content” mode is enabled, already-unlocked content stays unlocked.
Q: Does drip content work with custom post types?
A: Yes, but only for custom post types within BricksMembers content structures.
Q: Can I see which users have which content unlocked?
A: Not currently in the Admin UI. This is planned for a future analytics update. You can create a view for that in Bricks using Query Loops with BricksMembers drip filters though.
Next Steps
Now that you understand drip content, you’re ready to:
- Using BRM Bricks Elements – Add progress bars, navigation, and dynamic content
- BRM Dynamic Tags Reference – Display drip status, unlock dates, and more
- Set up conditional logic – Show different content based on drip status using Bricks conditions