How to Track Free to Paid Plugins on

At the beginning of this year I started tracking users who visited my upsell page from my free coming soon plugin in to learn how many of my sales were coming from and to learn how long the conversion time was. I had been tracking this with campaign variables in Google Analytics but I felt it was not giving me an entirely accurate picture. Also Google Analytics only breaks down time to purchase by day. GA was saying 96% of my sales happened within one day. So adding my own tracking cookie would let me figure out exactly what was going on.

Here’s how I implemented it. First I add a cookie to the user as soon as they visited my upsell page from my free plugins on Since I don’t index my upsell page and the only way to get to it is via my upsell ad in my free plugin I knew this would only be users coming from the free version. I add this code in my functions.php on my theme.

// Set cookie of free user
add_action( 'wp', 'track_upsell' );
function track_upsell() {
if(!isset($_COOKIE['seedprod_source'])) {
setcookie( 'seedprod_source', 'free_plugin|'.time(), strtotime("+1 year"),"/","" );

view raw
hosted with ❤ by GitHub

So what I’m doing here is inserting a cookie on the user’s browser if not set with the source which is ”free_plugin’ and the datetime  with a pipe as a delimiter. When and if the user purchases my Pro Version I then check and read that cookie if it exists and add the info to the user’s order record. How you do this will depend on what you are using to sell your plugin. I have a custom system but I will provide the code so you can see how I’m reading the cookie.

// Record Source
try {
$seedprod_source = $_COOKIE['seedprod_source'];
$source = '';
$source = explode("|",$seedprod_source)[0];
$dt = date("Y-m-d H:i:s",explode("|",$seedprod_source)[1]);
$order = Order::find($data['order']->id);
$order->source = $source;
$order->source_datetime = $dt;
$data['source'] = $source;
}catch(\Exception $e){

view raw
hosted with ❤ by GitHub

So now I have the source and datetime on the order record. Now I can just use sql queries to figure out how long free to paid is and what percentage come from .org.

Here’s what I learned:

Time to purchase:
within 1 minute: 2%
within 2 minute: 14%
within 3 minute: 25%
within 4 minutes: 35%
within 5 minutes: 40%
within 10 minutes: 53%
within 20 minutes: 61%
within 30 minutes: 65%
within 1 hour: 70%
within 2 hours: 74%
within 3 hours: 76%
within 12 hours: 80%
within 1 day: 83%
within 2 days: 87%
within 1 week: 92%
within 2 weeks 95%
within 1 month: 98%
greater than 1 month 2%

Percent of sales from .org:

Hope this gives you some clearer insights into your sales funnel.

Do You Know Your WordPress Product Conversion Rate

Now that I have some historical data on my plugin business I have been going back and looking at the trends. I have a spreadsheet I created the first month after I launched to record sales. When I first started I was so green that’s the only thing I recorded. I had no idea my traffic much less my conversion rate. Now I know that conversion rate is one of the most important key performance indicators (KPI) when you sell your WordPress theme or plugin. Let me tell you why.

How Is Your Conversion Rate Calculated

Conversion rate measures the number of people who come to your site vs the number of people who purchase your product.

Number of Sales / Number of Visitors x 100 = Conversion Rate

This number is important because you can use it to measure and calculate lots of different interesting things. For example: As you make changes to your website you can use this number to see if those changes improved or hurt your sales. Hopefully you are A/B testing these changes but that’s for a different blog post. You can use it to tell whether that blog post or email blast had any effect on your sales.

I See The Future and It’s Bright

You can also predict the future with it 🙂 So say you have a product that sales for $50 and you currently make $1000 per month in sales with 1000 visitors per month. You current conversion rate would be 20(number of sales) / 1000(visitors) = (0.02 * 100)  2%

So just work the formula backwards to figure our how much more traffic you need to generate or how much more you need to convert your current traffic. So if I want to make $10,000 per month you would need to generate 200 sales at the current conversion rate and to get those 200 sales you need 10000 visitors.

200/10000 = 2%

But just what if you could optimize your site and increase your conversion rate to 4% then you’d only need 5000 visitors.

200/5000 = 4%

So as you can see conversion rate should be a key factor in your decision-making process. It’s a great indicator as to how your product is doing.

My Experience

I started tracking my conversion rate about 4 months after I launched my WordPress plugin for coming soon pages and I was converting around 3% of my traffic. I’ve manage to increase that number by 1.25% over that last year and a half by A/B testing my site and making other optimizations.

I use the Unique Visitors metric in Google Analytics to calculate my conversion rate because this try to measure people. You can also setup Google e-commerce Tracking and it will do it for you. Plus you get lots of other juicy metrics in relation to your e-commerce in all you other reports.


If your site has more than just your product like a blog then you need to account for those times when a post becomes popular or some other artificial spike in traffic. I ran a MightDeals campaign once it drove lots of people to my site but they were going back to MightDeals to purchase. You can use Google Analytics to segment out that traffic and find your true visitors that you’ve acquired through your marketing. Segmenting is another post as well but I recommend this course if you use Google Analytics and run a business. Understanding the numbers should be key factor for your decision-making and running your business.

The course is called Google Analytics Academy and it was one of my goals to take it this year. It was definitely worth my time.

What are some other key performance indicators you use?


Just Because You Can Do a Job Does Not Mean You Should

When you are a one person company you are kind of use to doing everything yourself. You wouldn’t have gotten to where you are at unless you could wear many hats. When you are first starting out this is fine but once you start to experience success this can be a downfall because you waste your time doing remedial task.

For example, I’m quite capable of running my own server and hosting WordPress, yet spending my time being a system admin does not help my business. If your business is making money and the cost of you using a service is less than what your time is worth than hire it out.

Another less obvious example is house work. I calculated how much time I spend doing things like cleaning bathrooms, kitchens etc… This valuable time adds up. Why not hire it out and use that extra time to spend with your family or work on your business.

You cannot and should not do everything yourself or you’ll quickly get overwhelmed. I’m still learning to let go of some task and hire it out but there’s a part of me that want to just do it myself. It’s the perfectionist in me I guess. I know though that ultimately to continue to grow I need to start delegating and learn to let go or else I’ll always be a one person company.

What are some things you do to save time and become more efficient?