Make the Most of Your Ad Space with Level Specific Ads Targeting

Advertisements are a classic method of monetizing your website, and ad-serving networks such as Google Adsense make it fast and easy to start displaying ads.

It’s important for a membership site to consider which ads to display for non-members, per-level or completely hidden to members for an “ad-free” experience. Read on to explore how to control ads for your PMPro-powered membership site.


Considering Ads for a Membership Site

Your site’s membership is often the most lucrative product sold through your website. That said, ads can still be a component of your revenue stream if you make smart choices about ad placement for free members and site visitors.

With the methods outlined below, you can target which ads display to which users. This unlocks a unique opportunity to target your ads for each membership level, not only to hide ads for members, but to show premium ads with exclusive partner offers to your paid members.


Ad Networks, Affiliate Ads, and Direct Ad Sales

The simplest way to insert ads is via an ad network. These services connect advertisers with sites that want to make money by displaying ads. You’ll be provided with a script or other integration method to dynamically embed third-party ads on your site. Some popular ad networks that you may be familiar with include Google Adsense, Facebook Audience Network, and Amazon a9.

Alternatives to an ad network include affiliate networks or direct ad sales. For this case, you would be obtain ads (graphics, links and promos) directly through company’s affiliate program or via a service such as ShareASale or CJ Affiliate. These methods take a bit more time to set up and manage, but generally offer a higher commission than an ad network.

Option 1: The pmpro_displayAds() Function

This PHP function checks against the “Hide Ads from Non-Members” settings under Memberships > Advanced Settings. It allows you to wrap and insert ad blocks that will load based on how you have configured the admin setting.

if(pmpro_displayAds())
{
//insert ad code here
}

Option 2: The [membership] Shortcode

If you are inserting ad blocks into posts or pages, you can simply use the shortcode to wrap your inserted content. Using this method, the ads will only be shown to the specified visitors or members.

View Shortcode Documentation

Option 3: The pmpro_hasMembershipLevel() Function

This PHP function allows you to check whether a user has any membership level or a specific membership level. You can then insert your ad blocks wrapped in the appropriate conditional check to achieve the desired result.

View Function Documentation

Option 4: Using Advanced Ads Pro

Advanced Ads Pro has just released a native integration for Paid Membership Pro. You can now target ads on your membership site in relation to the membership level of your visitors.

View Premium Plugin

Option 5: Integrating with Other Ads Plugins for WordPress

Many ads plugins for WordPress make use of shortcodes to allow you to insert the “ad block” into your content, then manage the content of the ad in a central place. In most cases you can use these shortcodes in combination with the shortcode method outlined above.

Alternately, I have seen ads plugins that offer ads widgets. You can use these plugins in combination with the hide widgets for members recipe outlined in this post.

Lastly, if your ads plugin automatically inserts ads on pages or posts, please post a topic on our support forum (Plus or Unlimited membership required) and we can help you locate available filters in your plugin to conditionally display ads based on membership status.

Allow Members to Favorite Posts using the Favorites Plugin for WordPress

Add a special feature for your members that allows them to mark posts as “Favorites”. Then, show your members their bookmarked posts on the Membership Account page. Below are two code recipes that integrate Paid Memberships Pro with Favorites by Kyle Phillips.

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

Lock Your Entire eCommerce Shop for Members-Only

The code recipes below demonstrate how to restrict your online store to members-only using WooCommerce or Jigoshop. If you’re using a different eCommerce plugin, post a topic in our member forums and we will help you get the restriction in place.

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

Add Links by Membership Level to the Membership Account Page “links” Section

As part of our ongoing Hooks and Filters documentation updates, I wanted to post a quick recipe for how to add links to the Membership Account page under the “Member Links” section.


Available Hooks for the Member Links Section

You can use these filters in combination with the pmpro_hasMembershipLevel() function to check a user’s level before displaying links.


The Code Recipe

This code recipe requires a PMPro Plus Account or higher.

View Membership Options

Membership Logic to Enable or Disable Popups for Popular WordPress Popup Plugins

Using popups to generate more membership signups or show exclusive offers to members only can be a great addition to your membership site. But, how do you filter popups to target the RIGHT audience?


Enter the filters…

The code recipes below demonstrate how to filter popups based on the user or site visitor’s membership level. We like using this method in combination with the new Signup Shortcode Add On for a streamlined “Unlock this post now” experience.

This post covers the filter methods for Popup Maker, Popups – WordPress Popup, Popup Builder, and Optin Monster.

If you are using a different popup plugin, post a topic on our support forum (members-only) and we will help you with the filter for your setup.

Popup Maker — WordPress Repo | Plugin Homepage

When I began this post, I was looking in the WordPress plugin repository for a basic, open source popup plugin with simple styling options: enter Popup Maker.

This code recipe will filter the display of a popup using Popup Maker’s pum_popup_is_loadable filter. The recipe hides the popup if there is a logged in user with membership level ID 1. You can modify the recipe for your level IDs, or change the conditional to require level ID 1 or an array of level IDs.

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


Popups – WordPress Popup — WordPress Repo | Plugin Homepage

This open source option is loaded with integrations for popular third-party form plugins and engagement tools. There are some built-in filters for the popup display cases, just not for membership level…

This code recipe will filter the display of a popup using the Popups plugin’s custom rules filter. The recipe enables the popup ONLY for a logged in user with membership level ID 1. You can modify the recipe for your level IDs, or change the conditional to hide for level ID 1 or an array of level IDs.

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


Popup Builder — WordPress Repo | Plugin Homepage

This is a more bare-bones popup option, but for my testing did just what I needed it to do without hassle.

This code recipe will insert the selected popup shortcode via wp_footer throughout your site to any non-member. You can modify the recipe for your level IDs, or change the conditional to hide for level ID 1 or an array of level IDs.

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


OptinMonster — Plugin Homepage

OptinMonster is more than just a popups plugin, with premium features for inserting optin forms in posts, in a floating bar, based on exit-intent and more. A paid account (starting at $49/yr) is required to use the plugin.

This code recipe will remove the optin using a script placed via the wp_footer action. The recipe hides to popup for all logged in users with any membership level. You can modify the recipe for your level IDs, or change the conditional to enable the popup for members only.

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


If you are using a different popup plugin, post a topic on our support forum (members-only) and we will help you with the filter for your setup.

Award MyCRED Points for Membership Level Checkout

If you’re using MyCRED or considering a system to award users for interacting with your WordPress powered website, this code recipe will set up a custom MyCRED hook to award points when a member signs up for level ID 1.

pmpro_myCRED

You can customize the recipe for your specific point values and level IDs. This may eventually become a full MyCRED Add On for Paid Memberships Pro – so please share a comment if you are interested and some feedback on requested features.

pmpro_myCRED-confirmation

Download MyCRED Plugin Homepage

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

Members-Only Live Chat and Chatrooms using Arrowchat, iFlyChat, Wise Chat, Zopim

If you’re considering live chat for your membership site, you may be looking into options for one-to-one chat between yourself (or your chat agents) and the member, or to allow your members to communicate with one another in a chatroom-style interface.

Below are a few tested and approved live chat products along with code recipes to make them “members-only”: ArrowChat | iFlyChat | Wise Chat | Zopim


About Live Chat

Live chat using ArrowChat, iFlyChat, and Zopim feature one-to-one chat between your member and your active chat agents. Some sites offer this as a premium feature of membership, such as a virtual health or fitness coach that offers Q&A with members.

Another option is a chatroom where members can communicate with one another. If you’re looking for this style of chat, check out the ArrowChat, iFlyChat, and Wise Chat methods outlined below (Zopim does not offer a chatroom feature). Or, you can explore our Slack Integration Add On.


ArrowChat

ArrowchatThis PHP/JQuery-based chat solution offers many chat options, easily added to your WordPress site via a footer script. ArrowChat is billed as a one-time charge. The pricing is based on the support, installation needs, and software updates term you select.

Sign Up for ArrowChat

To add ArrowChat for specific membership levels only you need to wrap the embed script using the pmpro_hasMembershipLevel() function. After signing up for your Arrowchat account and completing the Arrowchat installation, use code recipe below to display the interface for members only:

This code recipe requires a PMPro Core Account or higher.

View Membership Options


iFlyChat

iFlyChatiFlyChat is a WordPress plugin that requires an account for your API Key (free levels are available). The plugin installs via your WordPress Admin under Plugins > Add New. iFlyChat Pricing is primarily based on the number of simultaneous users in your chatroom(s) as well as some additional premium features.

Sign Up for iFlyChat

To add iFlyChat for specific membership levels only you will need a custom filter using the iflychat_check_access_filter. After signing up for your iFlyChat account and installing the iFlyChat WordPress Plugin, use code recipe below to display for members only:

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


Wise Chat

WiseChatWise Chat is a WordPress plugin (no third party account is needed to run this chat on your WordPress site). The plugin installs via your WordPress admin under Plugins > Add New. It is powered by shortcodes you can add directly to a WordPress page, post, or widget area.

For this example, I recommend setting up a “Chat” page using the “Require Membership” settings on the page to lock down by membership level. Then just paste the [wise-chat] shortcode into the page body.

Take this method a step further by setting up Chatroom “Channels” for each membership level. Here’s the recipe to display the appropriate channel to members based on their level:

This code recipe requires a PMPro Core Account or higher.

View Membership Options


Zopim

ZopimThis chat solution, by the makers of ZenDesk, offers a rich dashboard experience with many tracking/monitoring metrics available. It is designed for user support and the “one-to-one” chat style – where your site visitors (or in this case members) can initiate a private chat with your chat agents. Like ArrowChat, the script is simply added via a wp_footer script, customized with the logic to load for members only.

Zopim currently offers a 4 pricing options (one Free and 3 monthly or annually billed levels) based on the number of individual agents you will need to manage your live chat. You can easily customize the display of your Zopim chat button, widget and chat box via the Zopim Dashboard by adding your logo, color scheme, and custom language.

Sign Up for Zopim

To add Zopim for specific membership levels you need to wrap the embed script using the pmpro_hasMembershipLevel() function. After signing up for your Zopim account, navigate to your Dashboard > Settings > Widget. Here you will find the script for use in the code recipe below:

This code recipe requires a PMPro Core Account or higher.

View Membership Options

Give Members “Free Shipping” at Shop Checkout using Jigoshop or WooCommerce

pmpro_woo-jigo-free-shippingOffer an “Amazon Prime”-like service for your WordPress shop. Sell a Paid Memberships Pro level that offers free shipping in your Jigoshop or WooCommerce-powered store.

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

Show a login/register link for non-members when using the [membership] shortcode.

Here’s a useful code recipe for sites using the [membership] shortcode to show unique content based on the membership level of the user.

The code recipe will show “Log In” and “Register” links at the bottom of any post that uses the [membership] shortcode.

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

Restrict Access by Membership Level for Custom Post Type (CPT) Categories

The code recipe below sets membership restriction on a Custom Post Type (CPT) category. When a non-member visits a CPT in a protected category (either a logged out visitor or a logged in user without membership access) they will be redirected to the membership levels page (or another page as defined in your custom function).


How it Works

You can update the code recipe with appropriate membership levels to check, the CPT categories you want to redirect, and the page that the non-member gets redirected to. You can even duplicate the recipe to account for multiple CPT category and level/redirect page relationships.

pmpro_cpt-events-demoLets say, for example, you are using an events plugin. You could set a category of event for “Members Only”, then use this recipe to redirect non-members to a sales page for membership to join these events.

Or, you may be using a directory plugin that you list special partner offers for members only. You could set a category of these “premium offer” listings that require membership.


Just want to restrict single CPTs?

If you want to restrict your Custom Post Type at the singular level, use the Custom Post Type Membership Access add on.


The Code Recipe

This code recipe requires a PMPro Plus Account or higher.

View Membership Options