Ready to build your first membership site with BricksMembers? This tutorial walks you through the entire process, from creating membership levels to building a member dashboard with Bricks.
By the end, you’ll have a working membership site with free and premium content, access control, and a custom member area.
What We’re Building
A simple membership site with:
- Two user levels: Free and Premium
- Five posts: 2 free, 3 premium
- Bricks conditional logic: Show different content to different levels
- Member dashboard: Shows user’s level and available content
- Progress tracking: Mark lessons as complete (optional)
Prerequisites
Before starting, make sure you have:
- ✅ WordPress installed
- ✅ Bricks Builder activated
- ✅ BricksMembers installed and activated
- ✅ License key activated
- ✅ Basic familiarity with Bricks Builder
Step 1: Create User Levels
Let’s create two user levels: Free and Premium.
- Go to BricksMembers → User Levels
- Click Add New Level
- Enter “Free Member” as the name
- Add description: “Free tier – access to introductory content”
- Click Create Level
- Click Add New Level again
- Enter “Premium Member” as the name
- Add description: “Premium tier – access to all content”
- Click Create Level
You now have two user levels.
Step 2: Create a Content Structure (Optional but Recommended)
Content structures help organize your lessons hierarchically. Let’s create a simple structure.
- Go to BricksMembers → Content Structures
- Click Add New Structure
- Fill in the details:
- Structure Name: “Courses”
- Number of Levels: 2 (Course → Lesson)
- Icon: Choose any icon you like
- Configure the levels:
- Level 1 (Top Level):
- Type: Post Type
- Object: course
- Singular: Course
- Plural: Courses
- Level 2:
- Type: Post Type
- Object: lesson
- Singular: Lesson
- Plural: Lessons
- Level 1 (Top Level):
- Click Create Structure
Your structure is created! Now you’ll see a new menu point in your WordPress admin sidebar: Courses.
Why use structures?
- Organize content hierarchically (Course → Lesson, Course → Module → Lesson → Video, etc.)
- Enable progress tracking per course
- Enable drip content (release lessons over time)
- Better navigation between lessons
Skip this step if: You just want simple posts without hierarchy. You can always create structures later.
Step 3: Create Content
Now let’s create content. We’ll create:
- 1 course (top level)
- 5 lessons (2 free, 3 premium)
Create the Course
- Click on Add New Course
- Title: “Getting Started with WordPress”
- Add some introductory content and image(s).
- In the Required Levels meta box, check Free Member (every “Free Member” can see the course page)
- Click Create & Publish
Create Free Lessons
- Click on Add New Lesson
- Title: “Welcome to the Course”
- Add some content, image(s), video URL, and duration – only what you want
- In the Required Levels meta box check Free Member AND Premium Member
- Click Create & Publish
Repeat for a second free lesson:
- Title: “Free Lesson: WordPress Basics”
- Required level: Free Member AND Premium Member
- you know the rest…
Create Premium Lessons
Create three premium lessons:
- Lesson 1:
- Title: “Premium Lesson: Advanced Techniques”
- Required level: ONLY Premium Member
- Lesson 2:
- Title: “Premium Lesson: Custom Post Types”
- Required level: ONLY Premium Member
- Lesson 3:
- Title: “Premium Lesson: Building Themes”
- Required level: ONLY Premium Member
You now have 1 course and 5 lessons (2 free, 3 premium).
Step 4: Assign Levels to Yourself
Let’s give yourself both levels so you can test everything.
- Go to Users → All Users
- Click Edit on your user account
- Scroll to BricksMembers
- Check both Free Member and Premium Member
- Click Update User
You now have access to all content.
Step 5: Build a Lesson Page with Conditional Logic
This is the recommended approach: Use Bricks conditional logic to show different content to different users.
Let’s create a Bricks page template that shows up on “lesson” posts and show:
- Full content to Premium members
- Upgrade message to non-Premium members
- Go to Bricks → Templates → Add new Template
- Change Template Type to Single
- Click “Edit with Bricks”
- In Bricks Builder, click on the gear icon (Manage)
- Go to Template Settings and add a condition for Post type → Lesson
- Click Save
Add Content for Premium Members
- Add a Section element
- Add a Heading with {post_title} tag
- Add a Text element with {post_content} tag
- Add a Video element with {brm_video:url} tag (and/or any other content you want)
- Select the entire Section
- Go to the Conditions tab
- Click Add Condition
- Choose User Level Match → Yes
This section now only shows to all members that have any required level. The free lessons’ content to both free and premium members, and the premium lessons’ content only to premium members.
Add Upgrade Message for Non-Premium Members
- Add another Section element
- Add a Heading: “Upgrade to Access This Lesson”
- Add a Text element: “This lesson is part of our Premium membership. Get access to all premium content for just $99/year.”
- Add a Button: “Upgrade Now” (link to your payment page)
- Select this Section
- Go to the Conditions tab
- Click Add Condition
- Choose User Level Match → No
This section only shows to users who DON’T have any required level. So only free members will see it when they enter premium lessons, but on the free lessons, they won’t. Premium members won’t see it at all.
Step 6: Create a Member Dashboard (Best if You Have Multiple Courses)
Let’s build a simple dashboard that shows the user’s membership level and available content.
- Go to Pages → Add New
- Title: “Member Dashboard”
- Click Edit with Bricks
Add a Welcome Section
- Add a Section element
- Add a Heading: “Welcome, {user_display_name}!”
- Add a Text element: “Your membership level(s): {brm_user:levels}”
The {brm_user:levels} dynamic tag will display the user’s membership levels.
Add a Progress Overview (Optional – Skip for Now)
We’ll add progress tracking in Step 8 after we’ve set up the content.
Add Available Content
Let’s show a list of posts the user can access.
- Add a Section
- Add a Heading: “Your Courses”
- Add a wrapper element (Block) to structure the query loop posts via grid, flex or as a list
- Add a Query Loop element (Block or Div) and turn Query Loop on.
- Configure the query:
- Query Type: Posts
- Post Type: Course
- Add BricksMembers filters to the query:
- User Level Match: Match (shows only posts the user can access)
- Inside the query loop element, add:
- Post Title (linked to the course via {post_url})
- Post Excerpt
- Button: “Start Course” (linked to the course via {post_url})
Now the dashboard shows only courses the user has access to.
Save the Dashboard
- Click Save
- Click Publish
Step 7: Test Your Membership Site
Time to test everything works correctly.
Test as a Premium Member (You)
- Visit one of your premium posts (e.g., “Premium Lesson 1”)
- You should see the full lesson content (because you have Premium Member level)
Test as a Non-Premium Member
- Click on your user name in the top right corner of the WordPress backend
- Assign only the Free Member level (not Premium)
- Visit the same premium post
- You should see the upgrade message (not the lesson content)
Test the Dashboard
- While logged in as the Free Member test user, visit the dashboard
- You should see only the 2 free posts in the query loop
- Change your user level back to Premium Member
- Visit the dashboard
- You should see all 5 posts
Everything working? Congratulations! You’ve built your first membership site using Bricks conditional logic.
Step 8: Enable Progress Tracking (Optional)
Now that you’ve created your content, you can enable the Progress Tracking module.
- Go to BricksMembers → Settings
- Enable Progress Tracking
- Click Save Settings
This creates the brm_user_progress database table and enables progress features.
Add Completion Checkboxes
Let’s add completion checkboxes to your posts.
- Edit your lesson post template in Bricks
- At the bottom of the content (inside the section visible to members), add a BricksMembers Progress Checkbox element
- Configure it:
- Label: “Mark as complete”
- Checked label: “Completed ✓”
- Show as button and style with AutomaticCSS if you prefer that
- Save the template
Now when users click the checkbox, their progress is tracked.
Update the Dashboard
Go back to your Member Dashboard and add a progress section:
- Edit the dashboard in Bricks
- Add the BricksMembers Progress Bar element to the query loop element, wherever you want
- Set the Progress Level to Current Level (or Top Level – both work in query loops showing courses, but Current Level is more explicit for showing each course’s own progress)
- Style the progress bar to your liking
- Save
The dashboard now shows completion progress for every course!
Step 9: Set Up Webhooks (Optional)
Webhooks let you automatically assign membership levels when users purchase products through external platforms like Gumroad, LemonSqueezy, Stripe, or WooCommerce.
Quick Setup Overview
The webhook setup process involves two main steps:
- Get your webhook URL from BricksMembers
- Configure field mappings to map products to membership levels
Step 1: Get Your Webhook URL
- Go to BricksMembers → Webhooks
- Use a provider template in the header, or select the settings required by your provider
- Copy the Webhook URL (it looks like:
https://yoursite.com/wp-json/bricksmembers/v1/webhook?secret=abc123xyz) and other fields if required by your provider - Paste this URL into your payment platform’s webhook settings
Important: Keep your webhook URL private. It contains a secret key that authenticates incoming webhooks.
Step 2: Configure Field Mappings
- Go to BricksMembers → Webhook Mapping
- Select your payment provider from the Provider Selector dropdown at the top (e.g., Gumroad, LemonSqueezy, Stripe)
- Click Auto-fill Fields to automatically configure field paths for that provider
- Scroll down to User Level Mapping and map your product IDs to the “Premium Member” level
- Click Save Settings
Now when someone purchases your product, BricksMembers will automatically:
- Create a WordPress user account (if one doesn’t exist)
- Assign the Premium Member level to the user
- Send the user an email with login details
For detailed step-by-step instructions, see our Complete Webhook Setup Guide, which covers every payment provider and all configuration options.
Common First-Time Issues
Issue 1: “I can’t access protected content even though I have the right level”
Solution:
- Clear your browser cache / turn caching off as it’s problematic for membership sites
- Clear your site cache (if using a caching plugin)
- Make sure you’re logged in as the correct user
- Check that the level is actually assigned (Users → Edit User → BricksMembers section)
Issue 2: “The dashboard shows all posts, not just the ones I can access”
Solution:
- Make sure you added the BricksMembers query filter: User Level Match → Match
- Check that the posts actually have required levels assigned
Issue 3: “Conditional logic isn’t working”
Solution:
- Make sure you added conditions to the correct element (select the Section, not individual elements inside)
- Check that you selected the right condition type (User Level Match)
- Make sure you selected the correct level
- For “Does NOT match” conditions, make sure you toggled the condition correctly
- Ensure the posts have the correct required levels assigned
Issue 4: “Dynamic tags aren’t showing data”
Solution:
- Make sure you’re using the correct tag syntax (e.g.,
{brm_user:level_names}not{brm_user_levels}) - Check that the module is enabled (e.g., Progress Tracking must be ON for progress tags)
What’s Next?
You’ve built a basic membership site using Bricks conditional logic! Here are some next steps:
Improve the Design
- Style your member dashboard with Bricks
- Create custom templates for course pages
- Add images, icons, and branding
Add More Features
- Build more Content Structures: Organize courses → modules → lessons hierarchically
- Drip Content: Release lessons over time (e.g., one per week) – Enable the Drip Content module after setting up structures
- Protected Downloads: Add downloadable resources for members – Enable the Protected Downloads module when needed
Optimize Performance
- Activate object caching (Redis or Memcached)
- Use a CDN for images and assets
Resources
Documentation:
Tutorials:
Support:
Congratulations on building your first membership site with BricksMembers! 🎉
You’ve learned:
- How to create user levels
- How to protect content with required levels
- How to use Bricks conditional logic for flexible content protection
- How to build a member dashboard with query loops
- How to enable modules after setting up content
This is just the beginning. Explore the other guides to learn about content structures, drip content, and advanced features.