Enhance Your Membership Levels Page with Member Badges

We’ve just added hooks to the Advanced Levels Page Shortcode Add On, allowing you to add unique content before and after the level information.

This recipe integrates the Member Badges Add On and displays the badge associated with each level in the output.


Member Badges on a Three Column Layout

The Code Recipe

This code recipe requires a PMPro Core Account or higher.

View Membership Options


Member Badges on a Table Layout

The Code Recipe

This code recipe requires a PMPro Core Account or higher.

View Membership Options


Available Hooks in the Advanced Levels Page Shortcode v.2.4+

Hooks for the “div” and “column” layouts:

do_action( 'pmproal_before_level', int $level_id, int string $layout );
do_action( 'pmproal_after_level', int $level_id, int string $layout );

Hooks for the “table” layout:

do_action( 'pmproal_extra_cols_before_header' );
do_action( 'pmproal_extra_cols_after_header' );
do_action( 'pmproal_extra_cols_before_body' );
do_action( 'pmproal_extra_cols_after_body' );

Note: hooks have not yet been added for the compare_table layout

Set a Member Author’s Posts to Draft When Membership is Cancelled

If you allow guest authors on your membership site as a feature of membership, this recipe will demonstrate how to automatically change their posts’ statuses to “draft” when membership is cancelled.

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

How to Name Your Membership Levels or Subscription Options

How you name your membership levels is one of the most important components for conversions on your membership on site.

Let’s spend some time thinking about membership level names. We’ll cover the classic membership site structures and provide examples for naming the membership levels or subscription options for each case. (And there’s even a nifty “level name” playground that tests your name within various plugin-generated phrases.)


Take a step back and evaluate your membership level names.

I work with thousands of membership sites and have seen a lack of clarity (and creativity) in this key area. The membership level name identifies what the member is receiving in exchange for their membership fee. In some cases, the name is a badge of pride for your members, turning them from the anonymous “visitor” to a member of the “in-crowd”.

Putting all of this touchy-feely stuff aside, the level name is also used in various default “phrases” within your membership site system. You need to make sure your level name “reads well” within these phrases. I’ve created a simple tool at the end of this article that provides a litmus test for your level names within the key system phrases in Paid Memberships Pro.


Membership Site Structures Covered include:


Tiered/Hierarchical Levels

This flavor of membership site offers more (or fewer) features based on membership level. This is the structure of our own site here at Paid Memberships Pro. We offer a Free, Core and Plus level. I think the level names are OK, and they do imply a tier (Plus being the highest membership option available).

Here are some level name ideas based on the “tier”

Tier 1
  • Basic
  • Beginner
  • Starter
  • Primary
  • Bronze
  • Baby Bear

Tier 2
  • Intermediate
  • Enhanced
  • Standard
  • Secondary
  • Gold
  • Papa Bear

Tier 3
  • Advanced
  • Ultimate
  • Extreme
  • Professional
  • Platinum
  • Mama Bear (just right!)


Price/Payment Term Structured Levels

Use this level naming structure when all membership levels offer the same package of features, but vary based on price or term. First, try to think of something clever based on your specific name, brand or site topic.

If your membership site was a sports team, what would you call your fans?

You can give membership an overall brand, such as “Trekkies”, “Bronies”, or “Cheeseheads”. Then use your level names to clarify the price or payment term.

You may still have an idea of “tier” in this structure, such as a Foodie Box site that offers 3 Month, 6 Month, and Annual subscriptions, with the option to “add on” a dessert box. For this case, I’d suggest reading through my post on price-adjusting Register Helper fields to have a selection at checkout modify the level price. Easy as pie.

Here are some level name ideas based on the price/term

  • Daily *
  • Weekly
  • Monthly
  • Quarterly
  • Yearly

  • Annual
  • Per Annum
  • Bi-Weekly
  • Bi-Monthly
  • Semi-Annual

  • Half-Yearly
  • Perennial
  • Lifetime
  • Forever
  • Eternal

* Note that not all integrated gateways offer “daily” subscriptions.


Content Vertical/Category-specific Levels

In this type of membership site, the membership levels differ not by features, but by type of content or “vertical”. This is common in a stock or investing site, nationwide membership chapters site, or an online dating site where identifying the member’s “interest” is handled via the membership level selected.

Here are some level name ideas based on the content vertical

  • Stock/Investing Sites: Technology Sector, Gas and Oil, Retail, Pharmaceuticals
  • Member Chapter Sites: Country Name, State Name, County Name
  • Online Dating Sites: Man Seeking Woman, Woman Seeking Man, Man Seeking Man, Woman Seeking Woman, etc.

User or Member-type Levels

This is a category of membership site where the member receives a different level/price/package based on the type of member they are. Check out our Sponsored/Group Members Add On if you have a membership level that offers parent/child account relationships.

Here are some level name ideas based on the user/member-type

  • Individual
  • Student
  • Parent
  • Family

  • Senior
  • Corporation
  • Volunteer

  • Teacher
  • Non-Profit
  • Military: Active Duty and Veterans


Content Delivery/Subscription Type Levels

For this type of membership site, the levels differ by how the content is received. It will make more sense after reading the level names below, but basically this case is used when the content is offered in various formats (online, print, email), and the selected level determines the members’ preferred method(s) of content delivery.

For this case, you could use the same membership branding concepts covered in the Price/Payment Term Structured Levels section above, then use the level names to clarify content delivery.

Here are some level name ideas based on the type of content delivery

  • Online Only
  • Print Only
  • Online and Print
  • Email Newsletter

Sponsorship Level/Benefactor Tiers

If you’re a non-profit organization, you most likely think about membership a bit differently than most other site types. In your case, membership level is actually sponsorship level, and you have a chance to get really creative in how you name your tiers.

A great approach to level naming is to pull ideas from the goals of your organization, your location, the group or cause you represent.

Instead of coming up with my own examples, I’ve compiled a few non-profits and their benefactor/membership tier names below:

The Franklin Institute’s Benefactor Society

  • Pendulum Partners
  • Baldwin Circle
  • Celestial Circle
  • Ambassador Circle
  • Kite and Key Circle
  • Franklin Fellows
  • Inventors Circle

Colonial Williamsburg’s Donor Societies

  • Duke of Gloucester Society
  • Capitol Society
  • Colonial Williamsburg Assembly
  • Colonial Williamsburg Burgesses
  • Colonial Williamsburg Associates
  • Raleigh Tavern Society

The Kimmel Center’s Founders Circle

  • Partner
  • Benefactor
  • Artists Circle
  • Leadership Circle
  • Presidents Circle
  • Chairmans Circle


Go Forth and Name Ye Levels!

I hope this post has given you some direction as you brainstorm level names for your new or existing membership site. If you have a type of membership site that wasn’t covered, post a comment below so we can discuss some level naming conventions for your site.

If you run an existing membership site, you can still rename your membership levels. With Paid Memberships Pro you can simply update the level names under Memberships > Edit Level in the admin. Every member that currently has that membership level will automatically have their membership level name updated.


Time to Play

The Membership Level Names Playground below allows you to enter a desired membership level name and see how it will “read” within various plugin-generated phrases. These are the most common phrases your members will see, both on your site and in membership-related emails.

Test your level name against key phrases in Paid Memberships Pro.

Enter a level name to test:


You have selected the My Level Name membership level.
Shown on the membership checkout page.


Membership Level: My Level Name
Shown in most member communication emails and invoices.


Your My Level Name membership is now active.
Shown on the membership confirmation page.

If you have a level name that doesn’t pass the litmus test, don’t fret. Every phrase in Paid Memberships Pro can be “translated”, and I’m not just talking about languages.

Our blog has several posts on renaming key terms within the plugin, such as this post about replacing the word “Membership” with “Subscription”.

Depending on your membership site, you may need to use these methods or another approach. Just open a topic in our members forum (provided to PMPro Core and Plus members), and we will help you work out any hiccups between your desired membership level name and the built in phrases of Paid Memberships Pro.

Allow Authors to View Their Posts Regardless of Membership Level

If you have multiple authors on your membership site, this recipe will override the post’s membership requirements and always let the author view their content (ignoring their current or past membership level).

Remember you can set new members to the “author” role at membership checkout via the methods in this previous article.

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

Offer Multiple Payment Methods to Increase Conversions

Appeal to the highest number of potential customers by offering credit card, PayPal and check/other payment methods at checkout.

This post covers our add ons that extend the checkout payment options and allow you to offer up to three unique payment methods.


But first, why should you offer multiple payment methods?

Ask 5 random friends how comfortable they are making purchases online and I promise you will receive a variety of responses:

  • the 100% “no fear” online shopper,
  • those that are “slightly concerned” buying things online, and finally…
  • the “highly reluctant to enter my credit card number anywhere” customer.

We know that this variety of comfort levels exist, so what can you do as an online merchant to appeal to the largest array of buyers?

You can offer multiple payment methods.


Offering PayPal as a Payment Method at Checkout

PayPal offers peace of mind to buyers that have concerns paying you directly.

PayPal gives consumers a layer of protection when making purchases online. They are a well known merchant with industry-leading security features beyond anything you can put in place for your own website. In addition, PayPal offers simple tools to allow consumers to manage who they have paid, communicate with issues about their purchases, cancel subscription payments linked to their account, and report fraudulent or unauthorized activity.

Our Add PayPal Express Add On adds PayPal as a payment method in addition to the primary payment gateway.

Offer PayPal as payment method at checkout

Note: to add the credit card and PayPal logos, follow the steps in this tutorial.

View the Add On Documentation

Add Check/Other Direct Payment Method at Checkout

When a majority of your target members fall into the “highly uncomfortable making purchases online” group, offering an offline payment method, such as mailing a check, can greatly improve conversions.

The “Pay by check” option is particularly important for “offline” membership groups or associations that are just getting started with an online system. In this case, some percentage of your members are already comfortable making payment by mail and wish to continue doing so. Moving to an online-only system can alienate the members who prefer the status quo (unless the overhead to do so is prohibitively expensive or labor-intensive).

Our Pay by Check Add On adds a “Pay by Check” method in addition to your primary gateway — and it doesn’t have to be a traditional “check” payment. Some sites use this add on to provide bank transfer instructions or to directly invoice members after checkout via other invoicing systems.

View the Add On Documentation

Want to offer Credit Card, PayPal and Check?

These add ons are all compatible, so you can activate and configure both the Add PayPal Express Add On and the Pay by Check Add On to offer three payment methods at checkout.

Note that if you are already using PayPal Website Payments Pro as the primary gateway, you will only need to install and activate the Pay by Check Add on to offer all three payment methods.


Now go give it a try!

These add ons are both simple to set up and will hopefully lead to a higher conversion rate (more $$$) for your membership program. Here are the links to the add on documentation pages for reference:

As always, if you are experiencing any issues with your payment methods or checkout page behavior, please post a topic on our members support forum.

How to Respond to a Chargeback or Dispute

This post covers some methods to deal with chargebacks – when a member disputes their charge for membership.

In some cases, a chargeback is actually fraud, whether it is a stolen credit card or PayPal account login. What I’d like to talk about now is a misuse of chargebacks: when a member is grumpy or lying about payment fraud just to get their money back.


What are chargebacks and disputes?

A chargeback or payment dispute is when a customer denies the payment.

Even if you offer a refund policy, there will be some number of customers that decide to simply call their bank and initiate a dispute. This could be because of (actual) fraud, dissatisfaction with their purchase, or they are just a despicable person who got their goods and don’t want to pay for it.

Your merchant account or payment gateway will let you know that someone is disputing a payment. You will then have a window of time to respond to the dispute and “make your case” for why the chargeback is not valid. If the chargeback is not ruled in your favor, the value of the disputed transaction as well as a merchant or gateway-imposed “fee” will be deducted from your account. See Chargeback Fees by Gateway »

First, locate the user’s membership account and disputed order.

My first step when dealing with a chargeback is to locate the user’s membership information and get some background.

  1. Go to Memberships > Orders in the WordPress admin.
  2. Search for the disputed order using the gateway’s “transaction ID”, or the “Invoice ID” on the order.
  3. If you don’t have a transaction ID, you can try searching for the user by Name or Email Address (the data you get about a dispute varies by gateway).
  4. Open the user’s profile in a new tab.
  5. Open the disputed order in the current tab.

Now, be an investigator.

In most cases, a membership site is a “virtual product”. This makes disputing a chargeback a bit more difficult—how do you prove you delivered what they have purchased?

  • Search your email program to see if the user had communicated anything with you directly, either prior to purchase or after.
  • If your membership site has any engagement methods, such as a forum or comment forms, see if the user has participated in these things.
  • Do you have an email newsletter? If so, access the user’s record in the email marketing tool you use to see if they have opened your messages.

    That’s a pretty high engagement rate for someone who “hasn’t received” my product.
  • You can also use the Visits, Views and Logins Report under Memberships > Reports to present activity for the individual user. Have they been logged in and using your site?
  • Better yet, if you are using the Better Login, View, Visits Report, you will have even more data about the user’s activity on your site.

    Wow, sure looks like you have been using your membership?!

Was it actual fraud?

If your investigating makes you 99% sure it was a stolen payment method used for purchase, just accept the dispute. It stinks. You’ll pay a fee. But it was actually fraud, and you don’t really have any recourse for this case.

You can prevent some fraudulent charges using the methods outlined in this post.


It isn’t fraud – I want to fight this dispute!

If your investigating leads you to believe this person just wants their money back, you should respond to the dispute and make a case for why it isn’t a fraudulent purchase.

 
Before I begin the process of fighting a dispute, I always email the member directly. I’ll ask them to withdraw the dispute and communicate that I will refund their money [how-to].

This never works. Most often I get no reply. But occasionally, I’ll get a weird reply like “I just didn’t have enough money so I said this was fraud.” Luckily, you can use this in fighting your dispute, so even if they don’t withdraw their dispute, you’ve gotten some more ammunition to win your case.


Responding to a Dispute

The method to respond to a dispute varies by gateway, but in general you will be asked to write a statement and provide supporting documents about the purchase. In the case of a physical good, they will ask for proof of shipment (and you may even have proof of delivery depending on the shipment method).

For all other purchases (digital goods, downloads, access, subscriptions, etc.), proving that the charge was not fraudulent is a little more involved.

First, write a statement that clearly describes the situation:

This user purchased a membership that includes access to a private forum. The user participated in several discussions as well as personal email communication with me. Please refer to the included documents with proof of these interactions.

Additionally, I am including files that show all details this user entered when creating their membership. Their name and email address as communicated to me matches that on the dispute and the payment method used.


Then, take screenshots and create PDFs of EVERYTHING

The supporting documents I generally include are:

  • A PDF “print” of the user record in the WordPress dashboard.
  • A copy of the membership confirmation email I receive as admin when they made purchase.
  • Copies of any direct communication they made with me.
  • Copies of any proof of participation on my site (comments, forum replies, contact form submissions, etc.)
  • A copy of the email marketing service’s details about their email opens.
  • A copy of your refund policy, if offered, that would show they had another method to get their money back.

Now you wait.

After submitting your evidence, the payment gateway or merchant will communicate with the user’s bank to make your case. This can take anywhere from a week to two months.

I hope the dispute is sided in your favor!


In most cases, the seller will lose the dispute.

The person filing the dispute has far more protections in place than you. And in most cases they are being defended by a credit card company fully motivated to make them happy. Even when your payment gateway does their part in presenting your evidence, more often then not the seller will lose the dispute, pay the fee, and have the funds returned to the buyer.

There is some comfort in knowing that you did your best to provide honest information about the charge and to defend yourself from this type of abuse. I’m sorry you didn’t win.


What’s next?

When you lose a dispute, make sure you remove the membership level for the user. And if you are feeling particularly upset about it, you can use one of these methods to block users from logging in, selecting or changing membership.

You can even write them a really nasty email. Just don’t send it. Just go read Jason’s post on dealing with hate.

Link to a User’s “User Page” in a Navigation Menu

The User Pages Add On creates a unique page for each Member after checkout, giving the Admin access to write and share customized content for each specific member. Version .5.3 of the add on now includes the option to add this page as a link in your menus.


Adding the Menu Item

All of the User Pages are created under one “Top Level Page” that is assigned under Memberships > User Pages. This “Top Level Page” is the item you will add to your WordPress Menu.

  1. Navigate to Appearance > Menus.
  2. Select the appropriate menu to edit.
  3. Locate your top level user page in the “Pages” box (you can see which page you have assigned under Memberships > User Pages).
  4. Add the page to your menu.
  5. Save the menu.

The add on will automatically detect the logged in user’s page and redirect them to that location when they attempt to access the “Top Level Page”.

If you navigate to this page as the administrator, however, you will be shown a list of all users with a link to their User Page for view and editing. To test the feature as a member, see this post for some methods to preview your site as a member.


What else can I do with User Pages?

Here’s a post that covers how to pre-populate the page created for the member with default content or a specific page template (determined by your theme or child theme).

View the Tutorial

Other uses for this page may be dashboard-like content, such as showing a member their latest topics on your bbPress forum, their member badge, or maybe a custom form to share data, files, or other information.

Show a Post, Page or Category’s Required Membership Levels in the Dashboard “All” Views

Below are three code recipes that will add a column to the All Posts, All Pages, or Categories screens in the WordPress Dashboard. This is an easy way to see how your content is being restricted for members.

Remember, you can lock posts and pages using the “Require Membership” meta box or lock a category under the Memberships > Membership Levels > Edit Level screen.

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

New Report to View Membership Level Changes (Upgrades or Downgrades)

Add a custom report to the Memberships > Reports dashboard that displays a report of your membership site’s upgrades/downgrades.

See this blog post on custom reports to learn how to add the custom code to your site.

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

Exporting Your Members List: Default Data and Adding New Columns

This post covers how to export your Members List to CSV. We’ll cover the default columns included in the export, as well as a method to add additional user data to the file.


Access the Members List Export

The “Export to CSV” feature of Paid Memberships Pro is located on the Memberships > Members List admin page. Here you will see your full Members List, which can be filtered based on several features, including Membership Level, Status, or via search. The exported CSV file is based on the active filter in the current view. If you would like to add additional data to this admin page or allow for more detailed filtering, see:


Default Fields Included in the Members List Export

The basic CSV export will include these fields:

  • id
  • username
  • firstname
  • lastname
  • email
  • billing firstname
  • billing lastname
  • address1

  • address2
  • city
  • state
  • zipcode
  • country
  • phone
  • membership
  • initial payment

  • fee
  • term
  • discount_code_id
  • discount_code
  • joined
  • expires


Adding Additional Data to the Export

There are a few methods to add data to your CSV export.

The easiest method applies to fields that are created via the Register Helper Add On. The code that adds your additional fields will simply need to be updated with attribute memberslistcsv => true. See detailed information on adding fields via Register Helper here.

If you need to add fields that were not created via Register Helper, you will need a custom function that uses the hook: pmpro_members_list_csv_extra_columns . For example, the code recipe below demonstrates how to add fields from the wp_users or wp_usermeta tables as well as fields added via BuddyPress. There may be other custom tables you need to pull in data from, in which case you’d need to access the user information in another way (dependent on the plugin you are trying to interact with).


The Code Recipe

This code recipe requires a PMPro Core Account or higher.

View Membership Options