Guides

BricksMembers Documentation

Find everything you need to set up, customize, and get the most out of BricksMembers — from quick-start guides to advanced features.

Video Tracking, Integrations & Unlocks

Pascal Basel
modified at March 25, 2026

If you build online courses, member lessons, or protected training libraries, a normal video embed is usually not enough. You do not just want to display a player. You want to know whether the learner actually watched enough of the lesson, whether the next step should unlock, and whether a quiz or download should stay hidden until the video is meaningfully consumed. That is exactly what Video Tracking in BricksMembers is for.

The Video Tracking module turns lesson videos into tracked learning steps. You can require a watch percentage, control completion behavior, prompt learners to resume where they stopped, reduce skipping ahead, connect supported video hosts, and render the whole experience with the native BRM Video element in Bricks Builder.

Why Video Tracking Matters for Online Courses

One of the biggest problems in online learning is that a lesson page can look complete even when the actual learning step was skipped. A learner can open a lesson, scroll a bit, and move on. If your course depends on videos, that creates a weak learning flow and makes progress tracking less meaningful.

BricksMembers Video Tracking solves that problem by connecting the video itself to the rest of your course experience. Instead of treating the video as passive content, you can make it part of your completion logic, your lesson progression, and your frontend design in Bricks.

What You Can Do With the Video Tracking Module

  • Require a watch threshold so learners need to watch a percentage of the video before the lesson is treated as ready
  • Control completion behavior by keeping completion manual, unlocking completion after the threshold, or auto-completing the lesson at the threshold
  • Gate next navigation so learners cannot move to the next lesson until enough of the video has been watched
  • Unlock quizzes or downloads based on actual watch progress instead of only page access
  • Improve the playback experience with resume prompts, auto-resume, and optional skipping restrictions
  • Connect hosted video platforms and browse videos from the picker instead of pasting everything manually
  • Design tracked lesson videos in Bricks using the native BRM Video element

How Video Tracking Works in BricksMembers

The workflow is simple:

  1. Enable the Video Tracking module
  2. Choose your site-wide watch rules in BricksMembers → Video Tracking
  3. Connect your video hosts if you want to use the built-in picker
  4. Add a video source to the lesson or content post
  5. Render the lesson with the BRM Video element in Bricks

From there, BricksMembers tracks the learner’s watch state and lets the rest of your lesson UI react to it.

Step 1: Enable Video Tracking

  1. Go to BricksMembers → Settings → Modules
  2. Enable Video Tracking
  3. Save settings
  4. Open BricksMembers → Video Tracking

If the module is turned off, the settings page stays informational and the watch-state features do not run on the frontend.

Step 2: Choose Your Default Video Rules

The Video Tracking settings page controls the default behavior for tracked lesson videos across the site. This is where you decide what “enough watched” means for your project.

  • Required playback percent decides how much of the video must be watched before the threshold is considered reached
  • Gate next navigation until threshold lets you decide whether learners can move on before that watch threshold
  • Completion mode lets you keep completion manual, unlock it after the threshold, or auto-complete the lesson
  • Quiz unlock mode and Downloads unlock mode let you tie follow-up content to video progress
  • Resume mode and Restrict skipping ahead help you shape the playback experience for training-style lessons
  • Store thumbnails in WordPress helps when you want placeholder or poster images managed in the media library

These are defaults, not permanent locks. If a specific lesson needs different rules, you can override key settings per post.

Step 3: Connect Your Video Hosts

If you want a cleaner workflow than pasting URLs manually, connect your video providers in the same admin area. The current runtime supports Mux, Wistia, Gumlet, Bunny, YouTube, and Vimeo.

  1. Enable the provider you want to use
  2. Enter the required credentials or complete the provider’s connection flow
  3. Save the settings
  4. Use the built-in connection test if you want to verify the setup before editing lessons

Once connected, those providers become available in the BRM video picker inside the editor.

Be concrete about the connection requirements. Mux needs a Token ID and Token Secret. Wistia needs an API Token. Gumlet needs an API Key and can also store a Workspace ID. Bunny needs an Access Key and Library ID. YouTube and Vimeo both need client credentials first, but that alone is not enough. You must finish the OAuth connect flow so BRM stores an access token. Until that happens, those providers are not actually usable in the picker.

Step 4: Add a Video Source to the Lesson

Edit the lesson or content post and open the BricksMembers meta box. This is where you connect the actual video source that the frontend element will use.

  • Video URL lets you paste a direct URL, provider-specific value, or embed source
  • Browse lets you choose a video from a connected provider through the picker
  • Video Duration lets you store duration metadata for the lesson
  • Video Image gives you an optional poster or cover image

When Video Tracking is active, the same area also exposes per-post overrides for the required percentage, completion mode, and next-navigation gating. That is useful when one lesson should be more strict or more relaxed than your default site-wide rules.

Step 5: Use the BRM Video Element in Bricks

Add the BRM Video element to your Bricks template or lesson layout. This is the frontend layer that displays the tracked video and reacts to the learner’s watch progress.

  • Direct embed shows the player immediately
  • Click to load shows a placeholder first and loads the player on interaction
  • Lightbox opens the video in a lightbox flow

The element also includes placeholder controls for preview images, text, icons, overlays, and resume prompt styling, so the tracked player can fit naturally into your lesson design.

What Happens When a Learner Reaches the Watch Threshold

This is where Video Tracking becomes especially useful. The BRM Video element includes an After Video Threshold Reached control, so the page can react immediately when the learner has watched enough. It is important to understand that the threshold being reached and the page visibly changing are two separate things. The watch state is always stored, but the visible UI change only happens if you configure an action here or if the page naturally re-renders later.

  • Do nothing means the watch state is still saved, but nothing on the page changes right away. Use this when you only need the stored watch data for later checks, not an instant visual reaction
  • Update matched wrappers (AJAX) refreshes the wrappers you target so quiz areas, progress blocks, or condition-based sections can redraw without a full page reload. It only updates the wrappers you tell it to refresh; it does not automatically guess which part of the layout should change
  • Reload page with position triggers a full page reload, then restores scroll position or jumps to the selector you configured. This is the safest option when multiple parts of the page depend on updated watch state and you do not want partial-refresh edge cases

This makes it possible to reveal the next lesson button, unlock a quiz, refresh a progress bar, or show a protected download right after the required watch percentage is reached.

A Good Default Setup for Most Course Creators

If you are setting this up for the first time, a practical starting point is:

  • Require a meaningful watch percentage instead of expecting 100% on every lesson
  • Use manual completion unlock if you still want learners to confirm they are done
  • Enable next-navigation gating only on lessons where sequence actually matters
  • Use resume prompts or auto-resume for longer lessons and trainings
  • Test one lesson end to end before rolling the setup across the whole site

That approach gives you a stricter and more useful learning flow without making every lesson feel heavy-handed.

Video Watch Dynamic Tags You Can Use in Bricks

BricksMembers also gives you dynamic tags for watch progress, so you can display progress-aware helper text directly inside the lesson design. These tags are meant for logged-in learner contexts on tracked posts. They read the effective watch state for the current post context, which means a lesson can aggregate related child video posts instead of treating each child video as a completely separate display context.

  • {brm_video_watch:percent} returns the watched percentage as a numeric string, for example 67.5 or 100. This is not rounded to a whole number by default
  • {brm_video_watch:required_percent} returns the required threshold as an integer string, for example 80
  • {brm_video_watch:remaining_percent} returns the remaining percentage needed to hit the threshold, rounded to two decimals and never below 0. If the learner already passed the threshold, this tag returns 0
  • {brm_video_watch:threshold_reached} returns 1 when the required watch threshold has been reached and 0 when it has not
  • {brm_video_watch:completed} returns 1 only when the runtime marks the video as fully watched. This is not the same as threshold reached. A learner can have threshold_reached = 1 while completed = 0
  • {brm_video_watch:last_position} returns the last stored watch position in seconds, for example 325 for 5 minutes and 25 seconds
  • {brm_video_watch:resume_available} returns 1 only when there is a meaningful resume point. In the current runtime, that means the stored last position is at least 5 seconds in and not within the last 5 seconds of the video. Otherwise it returns 0

A practical example is a helper message like Watch {brm_video_watch:required_percent}% to unlock the quiz. You have watched {brm_video_watch:percent}% so far. If the learner watched 67.5% of a lesson with an 80% threshold, that sentence will render as Watch 80% to unlock the quiz. You have watched 67.5% so far.

Also note the difference between the watch tags: percent is the current numeric progress, threshold_reached is the yes/no unlock state, and completed is the fully watched flag. Those are related, but they are not interchangeable.

Common Use Cases

  • Course lessons where a quiz should only appear after the learner has watched enough of the lesson video
  • Training libraries where the next lesson should stay blocked until the current lesson is actually consumed
  • Member dashboards that show real watch progress instead of only generic completion states
  • Protected resources where a download should unlock after the learner reaches the watch threshold
  • Long video lessons where resume prompts make the learning experience much smoother

Troubleshooting

  • Tracking is not starting — Confirm the Video Tracking module is enabled and the post actually has a video source
  • The Browse button is missing — Connect and enable at least one supported video provider first
  • The threshold never unlocks anything — Recheck the required percentage, post-level overrides, and the After Video Threshold Reached action on the BRM Video element
  • Next lesson navigation stays blocked — Review your global and per-post navigation gating settings
  • Resume behavior feels wrong — Revisit the global resume mode and skip restriction settings in BricksMembers → Video Tracking

Create

Start Building with BricksMembers

Create, sell, and manage your content without limits. BricksMembers gives you everything you need to build membership and LMS sites directly in Bricks Builder — fast and frustration-free.

Join the membership & LMS revolution now!

Get Started
Still have questions? We're here to help!