Set WooCommerce Variable Product Prices per Membership Level.

Our WooCommerce Integration Add On allows you to set custom product prices based on the user’s membership level so that you can offer unique product discounts as a feature of membership.

The Add On doesn’t currently allow custom pricing for Variable Products, so we’ve written the recipe below to extend the members-only product discounts to product variations using the pmprowoo_get_membership_price filter.

This page requires a Plus Account or higher.


Already have an account?

Log In

New to this site?

Register Now

How to adjust your membership site’s default currency format.

Currency formatting varies from country to country. For example, the placement of a comma (“,”) or period (“.”) in a currency format can mean something completely different depending on what currency is being used. Our core plugin offers formatting for several built-in currencies, which you can specify on the Memberships > Payment Settings page, but what if your currency is not being properly represented?

This code recipe demonstrates how to use the pmpro_currencies filter to adjust the format to match your desired currency.

Danish Krone as Default Currency

This page requires a Plus Account or higher.


Already have an account?

Log In

New to this site?

Register Now

How to use a Page Builder to create a custom Membership Level Pricing page.

The landing page for your levels is the primary place your site will attract and sell its membership products. Our plugin includes a few options to design this page, including the default [pmpro_levels] shortcode and the enhanced options when using the Advanced Levels Page Shortcode Add On.

What if you need more control over this page and would like to design a completely custom page for your levels? In this article, I will take you through the process of building a new membership levels page using the Elementor Page Builder, an open source plugin available in the WordPress plugin repository.


Did you know…

You do not need to use the default plugin-generated Membership Level page for your membership site. In step 2 of the plugin setup process, a page named “Membership Levels” is automatically created with the shortcode [pmpro_levels]. You can customize this page depending on your preferences, skill level, and the needs of your membership site.

A few ways you can customize the levels page include:

  1. Use Custom CSS to adjust the default layout.
  2. Create your own custom Page Templates for the levels page layout.
  3. Replace the default shortcode with the options included in the Advanced Levels Page Shortcode Add On which includes column-based or comparison-type options.
  4. Use a Page Builder or your theme’s included “pricing page” layouts to craft a totally custom page.

In this article, I’m focusing on the last option above and will demo how to use the Elementor Page Builder to create a Membership Levels page.


Video Demo


1. Choose the method that works for you.

Your skillset and goals will generally determine the method that you choose to build your membership levels page.

You do not have to use a Page Builder and might find that using your theme’s included layouts or theme’s shortcodes to create your membership level page will be easier. Chances are, you already have an idea of what will work for you. I chose to use Elementor in this article because it is a popular page builder plugin that many of our support customers are using.

Screenshot of the Elementor Plugin Homepage


2. Develop your membership levels page.

Now that you have chosen the tools needed to create your levels page, it is time to start building.

These steps assume you are working on an existing membership site and want to create the new design without affecting the current site’s levels page. If you are setting up a brand new membership site, you can directly edit the generated page for your Membership Levels. Just remove the [pmpro_levels] shortcode from that page and begin your work.
  1. Navigate to your Dashboard > Pages > Add New.
  2. Enter a title for your new membership levels page (mine is “My Level Page”).
  3. Start creating the layout exactly as you need it. Feel free to get creative here. Enhance the page with images, comparison tables, testimonials and more. This is the primary page your potential customers will visit to explore your product and, hopefully, convert to members. It’s important to make the page as compelling, clear and attractive as possible.

Screenshot of admin developing a membership level page using a page builder.

Pro Tip: Keep this page as concise, clear and simple as possible. It can be tempting to add a whole lot of detail to this page, but remember that confusion often leads to “cart abandonment”.

3. Link “buttons” to the level-specific membership checkout page.

As you can see from my screenshots, I created a membership level page that gives a little more information on the two membership levels that I want my users to sign up to. One level is free; the other is a premium membership.

I will now need to link up my membership checkout page to each of my “Sign Up” and “Buy Now” buttons in the layout.

In most cases, the URL for membership checkout will be something like this:
https://SITEDOMAIN.com/membership-account/membership-checkout/?level=1

This URL is primarily the same for each level checkout page—you just need to update the last attribute of the URL with the appropriate level’s ID.

  1. Navigate to the default Membership Levels Page and click the button to membership level that you want to link.

    Screenshot of default Paid Memberships Pro levels page


  2. Copy the URL of the checkout page. Notice that each URL will include the membership level’s ID. In my case, I am linking my “Gold” Membership Level (which has a level ID of “18”). You should see something similar to /membership-account/membership-checkout/?level=18

    Screenshot of admin copying the URL of a Paid Memberships Pro Checkout page

    Pro Tip: You can automatically include a discount code in the URL by adding the attribute &discount_code=CODENAME at the end of the button’s link to checkout.

  3. Add the copied URL to the appropriate button/link that you created on your custom membership levels page. Repeat steps 1-3 for each Membership Level you have added to your custom page.

    Screenshot of Admin pasting in a link to redirect users to the checkout page


4. Last Step: Set your newly created Membership Level page as the default.

This last step will ensure that every generated link to your membership levels page will direct users to your new/custom page instead of the plugin-generated page. If you have inserted a link to the membership levels page within your post content, you will need to manually update those links to this new page.

  1. Navigate to your WP Dashboard > Memberships > Page Settings > Level Page > Select your new membership level page.

    Admin seeting Paid Memberships Pro Default Levels Page


Pro Tip: As a clean up step, you will also want to delete the old (plugin-generated) membership levels page and redirect that deleted page’s slug to this new page. You can alternately update your new page’s slug to match that of your previous page.

That’s it – and that’s alot.

If you have any questions about using this process to create the membership levels page of your dreams, please share a comment below.

Notify Members of Upcoming Recurring Payment / Automatic Renewal for Membership

Our Recurring Payment Email Reminder Add On allows you to notify members that their membership renewal payment is processing soon. This recipe shows you how to use the pmpro_upcoming_recurring_payment_reminder filter to modify when that notification is sent.

View the Add On


About The Code Recipe

By default, the Recurring Payment Email Reminder Add On will send a notification 7 days prior to a member’s recurring payment date. In the example below, we are modifying that default to send the notification 14 days (or two weeks) prior to renewal. Annual plans may want to adjust this to 30 days prior (roughly 1 month) or another value that best fits the needs of your membership program.


The Code Recipe

This code recipe requires a Plus Account or higher.

View Membership Options

Customizing Usernames on Your Membership Site

In this post, we will cover a number of ways that you can control the allowed format and structure of usernames for new members.


use a members email address as a username paid memberships pro image

Allow members to use an email address as their username.

If your site doesn’t have a need for public or frontend-facing usernames, you may want to simplify checkout by setting a user’s email address as their username. With the vast number of sites we are all members of, it has become extremely difficult to remember what username I created where. It’s much easier to remember your login credentials when using an email address as your login name.

During a default membership checkout, users are prompted to create a “Username” and enter their “Email Address”. This code recipe will take the information inserted in the Email Address field of the Membership Checkout page and use it as the member’s username.

To prevent any confusion, you will also want to hide the “Username” field using CSS (more on this below) or by using a Custom Page Template. If you do not hide this field and a member performs a checkout and inputs a username then the Code Recipe will still overwrite the username data and replace it with the member’s email address.


The Code Recipe

This code recipe requires a Plus Account or higher.

View Membership Options


Reformat usernames to use allowed characters after checkout

Reformat usernames to use allowed characters after checkout.

This code recipe will convert a member’s username to match your specific rules. In this example, we convert all characters to lowercase and replace any spaces found in the username with underscores. If a member inputs a username like “John Doe”, then this will be changed to “john_doe”.

One of our members recently had a support request related to the format of usernames. Their request was for appearance reasons, but there are other cases where you would like usernames to follow stricter guidelines. For example, if you are using a single sign on bridge to integrate your members with a third-party application, you may need to match the requirements of usernames for that external site.

This code can also be useful in cases where the member’s username appears in other features of your site, such as on a BuddyPress profile.


The Code Recipe

This code recipe requires a Plus Account or higher.

View Membership Options

Here are some other username-related articles you may want to check out:

 

How to Set Up Your Membership Level Pricing

This guide covers some of the most common pricing models for membership sites and how to configure level pricing for your site. It’s a useful guide if you’re just getting started with Paid Memberships Pro and would like to learn the different ways you can potentially charge members.


How to set up your Membership Level Pricing

Paid Memberships Pro enables you to charge your members in a variety of ways, including:

  1. Set up a one-time/one-time “lifetime” payment for membership.
  2. Bill members on a recurring monthly subscription.
  3. Charge members on a yearly basis.
  4. Set up a trial for your members before having them commit to a full membership.

You can offer all of these pricing models and more using Paid Memberships Pro. Below are a few of the most common pricing options we have seen.


Once Paid Memberships Pro is installed on your site, the following settings can be configured in your WordPress Dashboard under Memberships > Membership Levels > Add New Level:


Video Demo


Setting up a once-off payment.

Here are the steps to create a one-time payment that will charge members when they signup for a membership. The membership can last indefinitely or for a specific amount of time.

  1. Set the amount you want to charge immediately at checkout in the “Initial Payment” field.
  2. If necessary, add a Membership Expiration to this level by clicking on the Membership Expiration checkbox (more on this later). If left blank, members will be able to access members-only content indefinitely.
  3. Save your Settings
Default: Change link appears (before CSS)
Pro Tip: Sell access to individual pages or posts, or sell a la carte items for a flat fee by using our AddOn Packages Plugin.

Setting up a monthly payment.

To charge monthly for your site’s membership, do the following:

  1. Set your initial payment to the amount you want to collect immediately when a member completes a checkout on your site. This can be the same amount you plan to charge on a recurring basis or it can be a higher or lower amount.
  2. Select the “Recurring Subscription” checkbox to open up more billing options.
  3. Set the Billing Amount and the Billing Frequency. If you want to bill clients monthly be sure to set your frequency to “1” per “Month(s)”
  4. Save your Settings.
Default: Change link appears (before CSS)

Setting up annual payments.

To set up a yearly pricing model for your membership level, do the following:

  1. Set the amount you want to charge immediately at checkout in the “Initial Payment” field. Again, you can set this first payment to be a higher or lower price than you plan to charge for subsequent years.
  2. Select the “Recurring Subscription” checkbox to open up more billing options.
  3. Set the Billing Amount and frequency. If you want to bill clients yearly be sure to set your frequency to “1” per “Year(s)”
  4. Save your Settings.
Default: Change link appears (before CSS)

Setting up a membership level with an expiration date.

In some cases, you may want to add an expiration date to your Membership Level, if you would like to add an expiration date to your level, do the following:

  1. Navigate to Memberships > Memberships Level in the WordPress Dashboard
  2. Select a Membership Level to edit.
  3. In the Membership Level Settings, check the “Membership Expiration” checkbox to open up the Membership Expiration options.
  4. Set the duration of the membership access. For example, “3 Month(s)”
Default: Change link appears (before CSS)

How to improve your sales funnel and grow membership by giving something away for free.

Your prospects and leads are a group of potential customers that have an interest in your business and products, often referred to as your “list.”

In this article, we tackle the problem of building and growing your list. We’ll show you how to leverage a Free Membership product as the first phase of your business’ sales funnel and (ultimately) help you convert list members from prospects to lifetime customers.

Free Giveaway Graphic


Grow your list by giving something away for free.

One of the most popular growth models that you can adopt is to give away content, services, and/or products for free. We all know there’s no such thing as a free lunch, so in return you ask the user to share their contact details in order to access this free item.

Some of the products we have seen leveraged for this model include:


Helpful Blog Posts

Instructional Videos

Free Trials


15-minute Video Consults

Limited (but useful) Feature Software

E-book Downloads

The idea is not based in tricking people into signing up, but rather to demonstrate that you have something truly valuable that they can use and benefit from now. It’s a way to introduce yourself to a potential customer without asking for payment right away. It’s a way to enrich someone’s life and create a relationship with a customer who may have otherwise overlooked your business.

Essentially, any time you are deciding what content to distribute free of cost, it needs to be a strategic decision. You need to be thinking three steps ahead. Because by giving away something for free, you’re looking to create leverage that allows you to eventually do something for profit, right? Right. So figure out what kind of content will get you what you want, and who needs to see it for that to happen.
— Gary Vaynerchuk, Why You Shouldn’t Charge For Your Best Work


What happens next?

After these customers have used and (ideally) enjoyed and benefited from whatever you gave them, then you can start to actually sell. Now is the time to share something else that customers can pay to see, use or experience. Because you have established trust, your users will be more likely to pay you for some of your premium content.

Every user that joined as part of your “free” promotion is now part of a database that you can use to further interact with—even if it is much later on. This is the crux of how to grow your sales funnel using this model.

It can seem counterintuitive to focus your efforts on a strategy that is not designed to get you paid. Picture this: you could spend a small fortune on advertising via social media, Google Adwords, and other platforms, adding you to the sea of ads constantly bombarding users for their attention (ads the average person has gotten really good at ignoring). Or, you could direct market to your personal list of thousands of existing (free) customers to let them know about your premium membership offering. If they liked your free stuff, they are going to simply LOVE your Premium goodies.


Giving away something (of value) for free is a great business model because:

  • People love getting free stuff. If it is free and valuable you can gain popularity quickly.
  • It gets people using your service or product which should increase feedback—helping you make a better product or service.
  • You can build an invaluable customer base full of customer contact details to use for ongoing promotion and marketing efforts.
  • It makes marketing more successful because you’re talking to your own user base. It is a known fact that there’s a higher return on investment when marketing to existing customers.

Building a Customer Database.

Among all the other benefits and goodwill you create by giving away something for free, building a customer database (sales funnel) is the primary benefit of this growth method. Even if you aren’t ready to sell to this audience today, you can start building a database of potential customers immediately. Yes, it is great to have thousands of social media followers. Yes, social media is still a great way to interact with and build relationships with your audience. Just know that you don’t control a social media platform or how your followers use that platform. At any given time your chosen social media platform may change. Dramatically. You can’t rely on a third-party to maintain your “list.”

If you have built your own list of customers email addresses, you have complete control over how and when you interact with (market to) them.

Remember to be considerate with your user’s data, taking care to provide choices for unsubscribing or modifying to hear from you and how frequently. Having access to all of these email addresses gives you great power…and we all know what comes with ‘great power’, don’t we?


Let’s explore how to use Paid Memberships Pro to build your customer database. The same primary steps apply no matter what your “free” promotion is. We’ll also cover a few methods to deliver your “free” item in the steps below.


Use Paid Memberships Pro to build your customer database.

To do this, you will need to:

  1. Create a Free Membership Level using Paid Memberships Pro and have some content linked to this free level that will help your members.
  2. Set up an email marketing platform that you can use to send out emails to those who sign up for your membership. We have an integration for a couple of them, for this article, I am using MailChimp as my example.
  3. Connect your email marketing software to your Paid Memberships Pro Level using an integration, like this MailChimp Integration

1. How to set up a Free Membership Level.

Once you have Paid Memberships Pro is installed and activated, the next step is to set up a Membership Level. To do this head over to the “Memberships” tab that should now be accessible from your WordPress Dashboard and select the Membership Level option.

Membership Level Set up Screenshot - Step 1


Now, navigate to the top of the next page and select the “Add New Level” button.

Add new level button screenshot

Give your membership level a name, description, confirmation message. Under the Billing Settings, make sure to leave it blank (it’s a free level). Save the level.

Membership level set up for free level

Now you can now navigate to your “Membership Levels” page and view your Free Membership level.

membership-level-page

Note: If you are looking for more information on how to install, activate and set up Paid Memberships Pro, I would recommend taking a look at our Initial Setup Video, for a general walkthrough of plugin setup.

2. Set up a MailChimp Account and the MailChimp Integration for Paid Memberships Pro

If you haven’t already set up a MailChimp Account and need to do that you can get started here. I am not going to cover how to set up MailChimp in this article but there is an abundance of online resources to help you out with this.

We have developed a MailChimp Integration Add On that allows you to add members to MailChimp lists depending on their membership level. The integration also merges in the user’s membership level as additional contact information. This allows you to segment your members by level and send specific marketing emails to each group.

Installing the PMPro MailChimp Add On

  1. Upload the ‘pmpro-mailchimp’ directory to the ‘/wp-content/plugins/’ directory of your site.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Navigate to the ‘PMPro MailChimp’ admin page in the WordPress dashboard Settings Menu (WP Dashboard > Settings > PMPro MailChimp) to configure your MailChimp API Key and Lists.

Locating your MailChimp API Key

  1. Log in to your account at MailChimp.
  2. Click your profile name in the upper right corner to expand the Account Panel, and choose Account.
  3. Click the Extras drop-down menu and choose API keys.
  4. Copy an existing API key or click the Create A Key button.
  5. Name your key descriptively, so you know what application uses that key.

Copy and paste your MailChimp API key into the “MailChimp API Key” field under Settings > PMPro MailChimp.


3. Add Free Members to MailChimp lists.

Once your API key is loaded into the integration options, you should see a list of MailChimp lists available in your account. Select the appropriate lists for members based on their level. If you need to create a new list you must do so in your MailChimp account dashboard.

pmpro-mailchimp-settings

With this integration, you can also offer “Double Opt-ins” for members. This is especially important for customer in Europe focused on recent GDPR laws that are now in place.

pmpro-mailchimp-levels-lists

Remember that in addition to assigning members to lists based on level, you can also segment users directly in your MailChimp account based on our default contact merge fields for a user’s membership level. This is sometimes a better approach because MailChimp will charge you double for a subscriber that is on two separate lists.


4. How to deliver your “free” content to your members.

It is important to make it easy for free members to access the content they were promised. Here are a couple of ways you can make it nice and simple for your members to get their hands on the free content you are offering them.

  1. Set up a “welcome” autoresponder email for all new member signups in your email marketing program with a link to read your eBook. You can also include a couple of other useful links pointing to different parts of your site. Just be sure to make it easy for your members to see and download the eBook as this is the main reason for them signing up.
  2. When a new user signs up add a link to view your instructional video to your level’s confirmation message and on the membership account page.
  3. Add a link to the special free members-only blog category to the members-only menu using the Nav Menus Add On
  4. Set up a service like Calendly and share a link for members to create an appointment to chat.
  5. Use our Download Monitor Integration to offer members-only downloads of eBooks or other content.

The way you deliver the promised “free” content will vary based on what you’re giving away (surprise!). If you have a specific type of item and would like some feedback on how to deliver it, please post a comment below.


Share your recommendations with us!

Have you already built an amazing ‘freemium’ business and have some tips and tricks? If there’s something you feel I missed in this article, please share in the comments below. I would love to see what you are building and how you are using Paid Memberships Pro to #GetPaid.

Reformat usernames to use allowed characters after checkout.

This code recipe will convert a member’s username to match your specific rules. In this example, we convert all characters to lowercase and replace any spaces found in the username with underscores. If a member inputs a username like “John Doe”, then this will be changed to “john_doe”.


About the Code Recipe

One of our members recently had a support request related to the format of usernames. Their request was for appearance reasons, but there are other cases where you would like usernames to follow stricter guidelines. For example, if you are using a single sign on bridge to integrate your members with a third-party application, you may need to match the requirements of usernames for that external site.

This code can also be useful in cases where the member’s username appears in other features of your site, such as on a BuddyPress profile.

We also see many members using their email address as their username. To protect a user’s contact information, you may want to extend this recipe to convert the @ symbol so that a user’s email address isn’t displayed publicly.


The Code Recipe

This code recipe requires a Plus Account or higher.

View Membership Options

 

This entry was posted by Travis Lima in Recipes and tagged . Bookmark the permalink. Last updated: August 15, 2018. Titled Reformat usernames to use allowed characters after checkout.

Video Walkthrough: How to restrict members-only content in Paid Memberships Pro.

If you’re new to Paid Memberships Pro, you may be wondering what settings are available to restrict access to members-only content on your site. This video extends our documentation on Controlling Members-Only Content and provides a quick tutorial to familiarize yourself with a few methods to lock down your posts, pages, and categories.


Control your content.

Paid Memberships Pro is a WordPress Plugin that allows you to add Membership functionality to your website. One primary application of our plugin is to allow users to signup for a membership level in order to gain access to specific, restricted members-only content.

Once you’ve completed the initial installation and setup, you can begin to restrict your site’s pages, posts and other content. In the video below, I will walk you through the three most common methods of turning your website into a membership site by restricting pages, posts, and hiding specific sections of content using the [membership] shortcode.


Video Walkthrough

 

Choose when to display the Renew link to members who sign up for a membership level with an expiration date.

Use the following code recipe to display a “Renew” link on the Membership Account page at your desired period before a member’s expiration date.

"Renew" link on the PMPro Membership Account Page


About the Code Recipe

By default, when a member signs up for a membership level that has an expiration date, they will see a “Renew” link a certain number of days prior to their membership expiration date. When a member “Renews” their membership, the new period is automatically tacked on to the end of their existing membership level. The core plugin has built-in logic to determine when the “Renew” link appears based on the active member’s billing and expiration date settings.

If the member logs in to their membership account before this timeframe is triggered, they will instead see a “Change” link, allowing them to view current membership level offerings and change their membership level. This code recipe allows you to control exactly when the “Renew” link will appear for the member.


The Code Recipe

This code recipe requires a Plus Account or higher.

View Membership Options


More about Renewals and PMPro

If you are new to PMPro, check out some of these other articles related to member renewals: