Installation, Setup and Customization of MemberPress

Recently I needed a WordPress plugin to manage customers for
a new service I’m offering alongside my usual web design/development services.
The plugin needed to have a few specific features:

  • Customers need to be able to simultaneously have
    multiple plans in place
  • Customers need to be able to upgrade/downgrade
    at any time
  • Stripe must be
    a payment option
  • The ability to restrict custom post types by
    plan
  • The ability to restrict partial page content
    (posts, pages or custom post types) by plan
  • I need to be able to offer discounts on
    subscriptions, permanent or temporary
  • Customers need to be able to purchase both
    single items and subscriptions

A membership plugin would fit the bill much more effectively
than a cart, which was my first thought. I’ve used s2Member Pro on several
sites and liked it quite a bit; it was the first one I turned to when starting
research on this plugin. 

It turns out that the stickiest item in my list was this: users need to be able to simultaneously have
multiple subscriptions in place.

The only one I found that actually does this is the amazing MemberPress. All of the others I
contacted used WordPress roles (one role = one subscription) making them unusable for my service.

The second-stickiest item was: Stripe must be a payment option.

There were only a few membership plugins that use Stripe, so
based on the multiple subscription issue, I was lucky that MemberPress is one
of them! Stripe is a very secure, PCI-compliant gateway that handles automatic
recurring payments.

During the course of my research I read a number of
impressive reviews about MemberPress, and I sent their tech support folks a lot
of emails. They were very patient with my detailed and sometimes stupidly redundant
questions and their helpful answers guided me to finally purchase this plugin.

It’s $99 for the plugin including one year of updates and
support for a single website. No limits on members, products or rules, and you
get Stripe and Paypal Express Checkout as payment options. Or, for $199, you
get one year of updates and support on unlimited sites, and it also adds
Authorize.Net as a payment option.

I bought the $99 version and promptly received my download
link. I installed it in my WordPress site-in-development, very simple and
straightforward.

That evening I went looking through their blog – and was even more impressed
by what I found there. The posts are well-written and extremely informative; I
had not yet started setting up MemberPress but learned a few things that would
later save me considerable time.

Setting Up
MemberPress, Part 1: Options

There’s a handy User Manual for MemberPress
that is a very good reference when setting up the membership features of your
site. During my setup process, I had no questions that weren’t answered in the
manual. And I found the entire process quite easy and quick.

To get started, login to WordPress and go to MemberPress
> Activate
. You’ll enter the Activation License Key you received in an
email, and then can move right along to MemberPress > Options.

On the Options page you’ll have tabs for Pages, Account,
Fields, Payments, Emails, Marketing and General. There are
helpful tooltips for items that may not be 100% clear, but if you need more
explanation, the User Manual has a section on Configuring Options that explains
everything in detail.

On Pages, MemberPress will create some
default reserved pages, but you can replace those if you like with your own pages.

One very important thing I learned from the blog: even if
you don’t want to display a Group (which is like a pricing comparison table of
different products), you need to put products in a Group if you want customers
to be able to upgrade or downgrade between those products.

You can choose how you want to deal with unauthorized
accesses and set the default message for these types of views here as well.

On Accounts, you can set permissions
and set up registration info, link to your Terms of Service page if you require
customers to agree before buying a product, choose whether to use the WordPress
or MemberPress login page, and set the account page welcome message.

On Fields you can set up any custom
user fields for information you want to collect during registration. For
example, if you want to get the customer’s website address or ask how they
learned about your website, this is where you ask those questions.

On Payments you choose the payment
methods you want to use; MemberPress suggests using multiple methods to
accommodate the most users, so I took that advice and set up both Stripe and
Offline Payments for customers who want to pay by check (I’m hoping there are
not too many of those, but anyway, I was glad to see that this was an option).
I’ll go into detail about setting up Stripe payments in the next section.

On the Emails page you’ll see all the
system emails that MemberPress uses and can edit them to your heart’s delight.
I was really happy to see a ‘Send Test’ button beside each email, making it so
easy to see what’s included in each template. I sent myself a test copy of
every email, and was pleasantly surprised that they all looked really good. The
only one I changed was the Send Welcome Email because I needed to add more info
to it.

For Marketing, you can select any auto
responders you’re using: AWeber, MailChimp or GetResponse. Once you’ve enabled
any of these you can connect MemberPress by adding an opt-in checkbox to your
registration page for a newsletter associated with a specific mailing list.

And finally on General you can change language and
currency, and if needed, disable mod_rewrite if you’re having issues with
plugin compatibility (there’s a tooltip with more information here).

Setting Up
MemberPress, Part 2: Stripe Payments

So ridiculously easy to set up! This made me very happy…

The User Manual will walk you
through this step by step with a video
. Basically, you’ll go to the Stripe
site and set up a free account, then get the API keys. In MemberPress you’ll
select Stripe as your payment method and then will see boxes for pasting in the
four Stripe API keys. Then, you’ll copy the Stripe Webhook URL from this page,
go back to Stripe, and in Account Settings choose Webhooks and paste the URL
there.

Then, I chose ‘test mode’ until I was ready to go live –
remember that your Webhook URL will also need to change in Stripe’s Webhooks
page when you do that.

And I chose ‘force SSL’ as I have an SSL certificate on the
hosting account, for extra security.

As an aside, the reason I’d not used Stripe in the past was
their 7 day payment policy. It didn’t matter so much for this site because I
would have monthly recurring payments, but right after I set up my Stripe
account I was pleasantly surprised to get an email from them telling me that
the terms had changed from 7 days to only 2 days – which is much better! That
makes it now worth trying out for my other online payments too, which I plan to
do soon.

Setting Up
MemberPress, Part 3: Products

The User Manual has a video on creating products here.
It’s really a good idea to watch this, even though it’s over 17 minutes long,
before you start in on products as there are a lot of options and the video is
very helpful.

This is the meat of MemberPress. In my case, I had twelve
different subscription products to create, and then a few single products. And
I’d already built a custom products table page, so I’d use the shortcodes
provided to link my product purchase buttons to a signup form for each product.

Here’s the process for setting up a subscription product, this is long, but covers everything.

1. Add New Product
2. Add the name of the product in the title box
3. Add a description in the editor window
4. In the Product Terms, set the following:
    a. The price
    b. The billing period (months, weeks, etc.)
    c.  What text appears on the form button
    d. Set a trial period (check out the video for details
on this feature; for example, you can have a free 30-day trial and then the
regular price and billing period kicks in).
    e. Set the number of payment cycles – for example,
for a 6-month plan enter 6.
5. Choose a Custom Page Template if you like.
6. Under Product Options set the following:
     a. Registration
           1)  Set a custom thank you message
           2) Choose to send a product-specific welcome email
(very nice!)
           3) Customize payment methods – show only what you
want available. For instance, if you only want to accept credit cards for
subscriptions, hide offline payments for this product.
           4) Check out the Product Shortcodes at the bottom…
I added the
[mepr-product-registration-form]
shortcode to this page (in the editor window) so the registration form will
appear underneath my description text.
     b. Permissions
           1) Need to have customers able to buy multiple
subscriptions? Tick the box for ‘Allow users to create multiple, active
subscriptions to this product.’
           2) Under ‘Who can purchase this Product’ you can
set up multiple rules about who can buy. For example, ‘only an existing
customer who has already purchased something else can purchase this product.’
     c. Price Box. This is related to Groups – check out the User
Manual video for Groups for more information. I didn’t use this because I’m not
planning to use Groups for a product comparison page.
      d. Advanced
             1) Think of the Product Access URL as a table of
contents for content that’s available to a buyer of this product. For example,
if a buyer has access to pages X, Y, and Z after purchasing this product, make
the URL link to a page that has links to X, Y, and Z.
              2) For Registration Pricing Terms, you can choose
Custom to change the wording generated automatically by your Product Terms
settings, or Hide to hide it completely.
               3) Watch the video for information on the powerful
feature Custom Login Redirect URLs – you can do things like upsells based on
the number of times a user has logged in.

Setting Up
MemberPress, Part 4: Groups

Remember how I mentioned near the beginning how products
must be in a Group in order for customers to be able to upgrade/downgrade? Even
though I didn’t plan to use a comparison table (which is what Group does for
you, on its automatically created page), I added all my plans to a single Group
so people could change plans whenever they wanted to. You can tick the ‘disable pricing page’ to hide that front-end comparison table
page if you like.

 Setting Up
MemberPress, Part 5: Coupons

The ability to easily create any needed coupons is another
plus for this plugin. For my purposes, I needed a $5 coupon to apply to one
product and a $10 coupon for another. You can change the automatically
generated coupon name to something simpler (MYCOUP5USD), change the discount
from a currency amount to a percentage, and make the discount permanent or give
it an expiration date so that it’s only applied for, say, the first 3 months of
a subscription.

Setting Up
MemberPress, Part 6: Rules

This is where you control access to content in your site.
It’s nice that this can be done from a single central location instead of
having to change some settings within every page or post you want to protect,
but you can override the defaults you set in Rules on any page or post.

You can use tags and categories to restrict content,
including custom post types, and MemberPress can even restrict non-WordPress
files. And you can drip content by making the Rule expire based on any time
period.

I restricted all the content under my parent page ‘Client
Area’ with one rule, then on the Client Area page, added the MemberPress login
box widget. If anyone attempts to go to a page under Client Area before logging
in, they’ll see the default ‘unauthorized access’ notice I set in Options and a
login box.

Note that you need to test Rules with a non-administrator
account because administrators see all content.

Customizations

I was so pleased with the appearance of MemberPress right
out of the box, I did only a few minor customizations: to the buttons to make
them match the rest of the site, and to the login, account and signup forms for
spacing and responsive behavior. That’s a big time-saver; I usually spend at
least a few hours cleaning up messy styling in premium plugins, sometimes a lot
more. I’m very picky about look and feel.

 Wrapping Up

Now it was time to move on to testing and tweaking, but for
the most part I was finished with setup. It took about two hours to go through
the steps in this tutorial.

And there are other things you can do with your
installation:

  • Require admin approval for new members
  • Set up even more advanced content restriction
    rules with Regex
  • Use shortcodes to MemberPress content throughout
    a site
  • Import or export data
  • Host private files through Amazon S3

The MemberPress plugin is truly a bargain starting at
$99.00. All the way through getting it set up and working on my site, I was
impressed with the great attention to detail and the obvious care that had gone
into this plugin. The fact that every one of the default email templates was
grammar- and spelling error-free was amazing based on some of the awful emails
I’ve seen. I’ll certainly be recommending this plugin to my own clients as well
as using it myself.

Kudos, MemberPress team – you rock!