Skip to main content
Use access tiers to align the player experience with your paywall or membership model, so visitors only hear or see the content they’re entitled to. For example, you can offer ad-free videos to subscribers and limit how much audio anonymous users can play. By default, there are three possible access tiers:
  • anonymous: For non-logged-in visitors
  • registered: For logged-in users
  • subscribed: For paying, logged-in users
You can control content access, whether ads are enabled, and the intro/outro experience for each of these tiers. If your plan supports it, you can create additional access tiers to support more configurations.

Coming soon: Paywall integrations

You will soon be able to integrate BeyondWords directly with paywall providers like Piano, Poool, and others to automatically determine audio and video access for different audiences.

Set up access tiers

1

Go to access tiers settings

Go to Settings → Distribution → Player → Access tiers in your project dashboard.Then, click ••• alongside the access tier you want to edit.
Want to create a new access tier? Contact support.
2

Go to access tiers settings

Go to Distribution → Player → Access tiers in your project dashboard.Then, click ••• alongside the access tier you want to edit.
Want to create a new access tier? Contact support.
3

Set access tier criteria

Edit the following fields as required: 
  • Name: The name for this access tier, used for reference only. Please note that this will not change the slug.
  • Content access: Control how much content is available for this audience:
    • Title only: Access is limited to the title.
    • Preview: Access includes the title and first segment.
    • Full content: Access includes all content.
  • Play ads: Play ads before, during, or after content playback.
  • Intro audio: Add audio that plays before content begins.
  • Outro audio: Add audio that plays after content ends.
4

Set access tier criteria

Edit the following fields as required:
  • Name: The name for this access tier, used for reference only. Please note that this will not change the slug.
  • Content access: Control how much content is available for this audience:
    • Title only: Access is limited to the title
    • Preview: Access includes the title and first segment
    • Full content: Access includes all content
  • Play ads: If enabled, ads will play according to your project’s ad settings
  • Audio intro: Play an intro before the audio begins
  • Audio outro: Play an outro after the audio ends
5

Copy the slug and save changes

Copy the Slug field then click Save changes.
6

Copy the slug and save changes

Copy the Slug field then click Save changes.
7

Update the player embed code

In your player embed code, add an accessTier parameter and set its value based on the current user’s status on your site:
<script async defer
  src="https://proxy.beyondwords.io/npm/@beyondwords/player@latest/dist/umd.js"
  onload="new BeyondWords.Player({
    target: this,
    projectId: YOUR_PROJECT_ID,
    contentId: 'YOUR_CONTENT_ID',
    accessTier: 'subscribed'
  })">
</script>
Your developer will need to ensure that 'subscribed' is dynamically replaced with whichever tier applies to the current user.Once your embed code is updated, the player will automatically apply the correct tier settings for each user. You can track engagement by access tier in player analytics.
accessTier controls the player experience but is a client-side parameter — it cannot enforce access control on its own. For robust enforcement, native integrations with paywall providers are coming soon.
8

Update the player embed code

In your player embed code, add an accessTier parameter and set its value based on the current user’s status on your site:
<script async defer
  src="https://proxy.beyondwords.io/npm/@beyondwords/player@latest/dist/umd.js"
  onload="new BeyondWords.Player({
    target: this,
    projectId: YOUR_PROJECT_ID,
    contentId: 'YOUR_CONTENT_ID',
    accessTier: 'subscribed'
  })">
</script>
Your developer will need to ensure that 'subscribed' is dynamically replaced with whichever tier applies to the current user.Once your embed code is updated, the player will automatically apply the correct tier settings for each user. You can track engagement by access tier in player analytics.
accessTier controls the player experience but is a client-side parameter—it can’t enforce access control on its own. For robust enforcement, native integrations with paywall providers are coming soon.

Example access tier settings

Here are some examples of how publishers can use access tiers to support different monetization and engagement strategies. In this example, the publisher restricts anonymous visitors’ content access and encourages them to register for full access:
AnonymousRegistered
Content accessPreview onlyFull access
Ads enabledNoNo
IntroRegistration CTA-
OutroAudio stingEngagement CTA
In this example, non-subscribers get ad-supported content while subscribers benefit from an ad-free experience:
AnonymousRegisteredSubscribed
Content accessFull accessFull accessFull access
Ads enabledYesYesNo
IntroBrand stingBrand stingBrand sting
OutroRegistration CTASubscriber CTAEngagement CTA

Paywall providers

You can connect access tiers to your existing paywall or membership platform by setting accessTier dynamically based on each visitor’s subscription status. Native integrations with providers like Piano and Poool are coming soon—see the card above. In the meantime, use the guides below to wire up supported platforms yourself.

MemberPress

If your WordPress site uses MemberPress, map subscription status to BeyondWords access tiers using the beyondwords_player_sdk_params WordPress filter. This applies automatically on any post where the BeyondWords player is embedded.
Visitor statusBeyondWords tier
Not logged in, or logged in without an active MemberPress subscriptionanonymous
Logged in with an active MemberPress subscriptionsubscribed
add_filter( 'beyondwords_player_sdk_params', function( $params, $post_id ) {
    $params['accessTier'] = 'anonymous';

    if ( ! is_user_logged_in() || ! class_exists( 'MeprUser' ) ) {
        return $params;
    }

    $mepr_user = new MeprUser( get_current_user_id() );
    $active_subscriptions = $mepr_user->active_product_subscriptions( 'ids' );

    if ( ! empty( $active_subscriptions ) ) {
        $params['accessTier'] = 'subscribed';
    }

    return $params;
}, 10, 2 );
See How to add a filter on the WordPress page for step-by-step instructions—either via the Code Snippets plugin or your child theme’s functions.php file.
The accessTier values must match your BeyondWords tier slugs exactly (anonymous and subscribed in this example). Adjust the slugs if your dashboard tiers differ. This is a client-side parameter—see the note in Set up access tiers above. MemberPress controls access to your site; this snippet only sets which BeyondWords player experience loads.

Manage via API

Access tiers API

Manage access tiers programmatically using the API.

FAQs

If enabled for audio, the intro will play before the pre-roll ad, and the outro will play after the post-roll ad.  
The intro and outro configured in your project settings are used for listeners in the anonymous access tier.If your player does not specify an accessTier, the anonymous tier settings will apply, including any intro or outro configured in your project settings.If your player specifies a different access tier, the intro/outro configured for that tier will be used instead. If one is not set for that tier, no intro/outro will play.
If accessTier is omitted from your embed code, the player defaults to the anonymous tier settings, which have full access to content and ads by default. Any intro or outro configured in your project settings will apply to the anonymous tier.Existing embeds will continue to work exactly as before without any changes.
Yes, you can track engagement by access tier in your analytics dashboard. Use the filter at the top to focus on metrics for any specific tier.Alternatively, use our analytics integrations to review metrics in your chosen platform.
Use a shareable URL with the accessTier query parameter. See Preview access tiers for step-by-step instructions.