This recipe and video tutorial will go through how to setup “Goals” within Google Analytics (GA) and connect them to your Paid Memberships Pro-powered website.

If you aren’t familiar with what Goals are within Google Analytics, here is a helpful video from the GA team.

So Goals are basically a way to log important activities on your site other than straight page views. With Google Analytics Goals, you can also:

  • Setup Goal Funnels, which will help you calculate conversion rates and figure out where people drop off during checkout.
  • Calculate the value of pages across your site based on how often they lead to Goals (paid checkouts).

Here are the steps for creating your Goals in Google Analytics:

Setting Up Your Goals

  1. If you don’t have a Google Analytics account, create one and setup a “profile” for your website.
  2. Add the Google Analytics JavaScript code to your WordPress site. We like the Google Analyticator plugin.
  3. Add all of your levels in Paid Memberships Pro with the pricing you want.
  4. From Google Analytics, click on the “Admin” button. Then click on “Goals” under the “View (Profile)” column.
    Finding Goals in Google Analytics
  5. Click on “Create a Goal”. Choose “Custom”. Click Next Step.
    Add a Custom Goal
  6. Enter a Goal Name matching your membership level’s name. Choose “Destination” for the “Type”. Click Next.
    Enter goal name and type.
  7. For the destination enter the relative URL to the confirmation page for this level. It should be something like “/membership-account/membership-confirmation/?level=1”. Choose “Begins With” in the dropdown next to Destination. This will allow for other plugins and customizations that might add parameters to the end of the confirmation URL.
    Goal destination, value, and funnel.
  8. Enter the value.
    1. For free levels, you can leve this off. Or you can set a low value equated with your expected return from a free user. For example, if on average 1 in 100 free users ends up paying you $100, your free members might have a value of $1. In general though, it’s good to leave value off for free levels so the reporting there doesn’t interfere with the reporting on your paid levels.
    2. For paid levels, you will want to enter either the one-time payment amount or your estimated Lifetime Value for members based on your monthly revenue and cancellation rates. The most important thing here is that the relative values of your membership levels are accurate. If your annual plan is 2x as profitable as your monthly plan, you want the annual plan goal to have a value 2x the value of the monthly plan goal.
  9. Turn on the Funnel feature. Set “Required” to “No”. Enter the following steps:*
    1. Name: Home. Screen/Page: /
    2. Name: Levels. Screen/Page: /membership-account/membership-levels/
    3. Name: Checkout (Level Name). Page: (URL to the checkout page) /membership-account/membership-checkout/?level=1
  10. Click Create Goal. Repeat steps 5-9 for each level.

* For your funnel, make sure to use the actual URLs for your levels page and checkout page. If you use PayPal Standard or another gateway that processes offsite, you don’t need to include steps for the offsite pages. If you are using PayPal Express, which adds a confirmation step at /membership-account/membership-checkout/?level=1&review=1 that you can add in.

That’s it for setup. It’s important to have this setup accurately, because any changes you make the the destination and funnel URLs or the value will only be applied going forward.

If you have multiple funnels to the same membership level, you may want to setup multiple goals for it, each with its own funnel. If so, you should set the “required” option to “Yes” for your funnel steps to avoid double counting the goal values. Be sure your goals support all paths to checking out.

After getting things setup, you’ll need to wait some time for conversions to come in. How long you wait will depend on how often you get customers. As you get member signups on your site, wait 24 hours then check that the goal conversion showed up in Google Analytics. If not, make sure that your URLs are setup correctly.

Once you get the settings and values worked out, be sure to ignore the dates when you had incorrect settings in your reporting. Sometimes people will make a Google Analytics profile for testing new goals and have another profile for the actual goal settings once they are worked out.

Viewing Goals in Your Reports

There are a few useful reports inside of Google Analytics with respect to goals.

Conversions –> Goals –> Overview

Will show you the basic stats across all of your goals including the number of goal completions, goal value, conversion rates, and abandonment rates. In the upper left is a dropdown to choose specific Goals/Levels or all completions.

Like other Google Analytics reports, you can change the timeframe and compare two timeframes together. I like to compare the past 30 days to the 30 days before that to make sure that my business is continuing to grow. For seasonal businesses, you’ll want to focus on the monthly rates compared across years.

Goal Conversions

Conversions –> Goals –> Goal URLs

Good for comparing across goals/levels.

Conversions –> Goals –> Reverse Goal Path

Good for viewing the conversion % of each step along your goal funnels.

Conversions –> Goals –> Funnel Visualization

Great for viewing the conversion and dropoff rates for each step along your goal funnels, including which other pages on your site lead into the funnel most often.

Goal Funnel Visualization

Conversions –> Goals –> Goal Flow

Great for viewing conversion rates for traffic from specific sources entering the goal funnel.

Goal Flow

Behavior –> Site Content –> All Pages

When you have goals setup, you’ll get an extra column to your content report table showing the “Page Value” for each page. This stat is based on the Goal Value of all conversions involving that page divided by the total number of unique visits to that page.

Paid Value on Content Reports

There will be a lot of noise in this statistic, e.g. your confirmation pages will be valued very highly (duh) and there will be a few other random pages that someone might have stumbled into before making a purchase that won’t tell you very much.

However, if you sort by Unique Pageviews (descending) and then sort by Page Value (descending), you can look for pages with a statistically high number of conversions and page value.

So if you a certain page has 100 visits and resulted in 10 conversions for a $100 membership level, that page would have a page value of $10. So you basically know that any time you send someone to that page, you will get $10.

By finding pages with high page value, you know which content on your blog/etc is referring paying customers and you can put more focus into promoting specific pages or creating more content like that.

I hoped this has helped you setup Google Analytics Goals for your site and will help you gain some insight into how your site is converting and what you can do about it. You can do a whole lot more with Google Analytics, so this is only a beginning. Please share your tips and let me know if you have any questions.

This entry was posted by Jason Coleman in General and tagged . Bookmark the permalink. Last updated: October 14, 2013. Titled Google Analytics Goals with Paid Memberships Pro

Comments (15)

Just wanted to say THANK YOU! for this tutorial. Have always wanted to know which posts were generating the sign-ups and it looks like we may have this working now. Thanks for the detailed instructions! GA is one confusing beast.

Im stuck on how to add googe adwords conversion tracking code to the profile/membership-confirmation page – any idea? Can’t seem to find the file to add the code to 🙁

Where exactly do i add the tracking code when using the confirmation message filter or where on the confirmation page exactly ?

Thanks for this article! Really appreciate it. Will the goal funnel capture recurring payments made by subscribers – i.e., every month, a new goal completion will be triggered – or will it only capture the first time they pay?

The goal will NOT capture the recurring payments. That’s a good point.

If you know your average lifetime value, you could use that as the goal value instead of the initial payment. Otherwise, I’m not sure how to get Google to know about the new payments or if it would really make sense in that system.

Hi Jason –

This is an awesome overview. Question, is there a way to track the order value dynamically in Google Analytics? So that, for example if we offer a 10% off coupon, the adjusted value is recorded?

I’m familiar with the GA Data Layer concept, but I don’t see the PMP JS order value displayed as a variable that can be captured in GA.


Hi Jason thanks for the article.

Tiny fyi. It’s possible Google made a change since you wrote this, but now it looks like the goals require the page “index.php” to be spelled out in the URL. For example this doesn’t work for us:


but this does:


Thanks for this Jason – but I ran into a snag. My users seem to bookmark their Welcome pages, so my Goal #’s are way off from my join count. Is there a way we can make it only count once, not every time the Welcome page is loaded?

I don’t see a way for Google Analytics to track a destination goal once per user.

I had a thought that you could redirect away from the confirmation page (tracking the GA goal) via JavaScript and hope that people wait for that redirect before bookmarking. I think the JS redirect might be jarring.

I think we could use Google Analytics “Event” goals for this, but I don’t know enough about them to figure that out. It might be interesting to research that a bit and maybe build an addon/etc to push custom events to GA for checkouts.

I’m going to echo some of the other comments. It would be very valuable for PMPro to include GA data for how much the transaction is for, just like Woocommerce does. Without this data, it makes it very difficult to get accurate data from Adwords campaigns or to be able to make business decisions on which channels convert best, etc. Guesstimating without factoring in promo codes, etc. isn’t a great solution (especially since I think it makes more sense to create one goal for purchases, not a separate goal for every type of membership).

Leave a Reply

For faster support related to issues on your specific site please open a ticket in our members support area.

Your email address will not be published. Required fields are marked *