🌐 Justin's Blog

WordPress

If you are selling a WordPress product then you have some very good options available to you for e-commerce.

Most often I see people sell with either WooCommerce and build their own licensing mechanism, or Easy Digital Downloads (and use their software licensing add-on).

Absolutely nothing wrong with these two options. They get the job done and people have built their entire businesses on them.

Sales of LearnDash don’t use either solution, but instead a 3rd party hosted (off-WordPress) solution instead.

What LearnDash came from.

For a long time sales took place with Digital Product Delivery (DPD). When I first started LearnDash I was working a full-time consulting career so DPD was a good option for quick, no hassle set-up.

I didn’t have a need for licenses back then so it didn’t matter that this wasn’t a feature.

Well, it didn’t matter until it did eventually matter.

I had my devs build a unique licensing mechanism for DPD. It has become quite elaborate over time but the two main things that it did for us:

  1. Created licenses with various domain permissions

  2. Created an account for the customer on the support site

And as is common place the customer loses access to support & updates when the license expired without renewing.

I really liked DPD. In fact, I still like it. Their team is small but the support is always very friendly and responsive.

Their development on the other hand lagged behind many of the other platforms out there. They do about one or two major updates a year, but in all of the years with that platform these updates never really benefited the LearnDash use-case. Frustratingly, not a single update was for accepting subscription payments.

Selecting the new platform.

I knew a subscription platform was needed, but preferred a non-WordPress option (perhaps a post for another time). So I began researching some of the popular platforms built specifically for subscriptions. This brought me to Recurly, Chargify, ChargeBee, FastSpring, Paddle, and Zoho Subscriptions.

The better part of 2017 was spent going over all these platforms, and Chargify was a front-runner mainly because the popular form building plugin Gravity Forms transitioned to it for their own billing. But something bothered me about these platforms. Mainly is that they are quite expensive for doing something that is rather simple.

By way of example, Paddle charges 5% +.50 cents per sale. When you consider that PayPal and Stripe start at 2.9% +.30 cents per transaction it makes it hard to justify cutting into the per-sale profit just to add subscriptions. At least it was hard for me to justify, so that eliminated Paddle (and FastSpring for similar reasons).

Chargify, ChargeBee, and Recurly were intriguing options. All three platforms are well-known for their service. However, when you consider what I was currently paying for selling digital products and compared it to the pricing of these companies then you can understand my hesitation.

The company paid a whopping (wait for it)… $16/mo for DPD.

No transaction fees added to PayPal or Stripe. Just a flat $16. Predictable and (in my mind) under-priced. I would have paid more as it was quite reliable.

Knowing this, let’s consider Recurly.

Immediately it would cost multiple-hundreds of dollars per month more. Not a big deal. That’s the cost of doing business and using tech that aligns with business objectives. What kept us from pulling the trigger with Recurly (and the other platforms for that matter) was their expectation of getting a percentage of monthly revenue on top of the hundreds of monthly dollars.

Oh, and $0.10 fee per transaction, which literally makes me laugh… For real? Need that extra ten cents to get by, eh?

Truth told I could get over feeling trolled by the $0.10 per transaction, but I could not get over coughing up a percentage of monthly revenue “just because”. The subscription billing industry is really configured like private health insurance it seems. You pay for the right to pay more and you start to wonder what exactly it is you get in the first place.

Landing on Zoho Subscriptions.

I’ll admit. I initially wasn’t sure about Zoho Subscriptions.

I actually came across them in January 2017 but sort of wrote them off. They seemed like a third-tier option and I was early in my research. However, after months of digging I ultimately came back to them because of their cost structure.

Instead of paying hundreds of dollars a month, Zoho Subscriptions is just $60/mo. No additional transaction fees. And most important, no random requirement that a percentage of monthly revenue needs to be forked-over. A PayPal merchant account was needed to offer that payment option, so that brings the total to $89/mo. Still a far cry from the other options.

So for $89 each month I get pretty much everything a platform like Recurly offers without the major fiscal downsides. I spent the last couple months of last year re-building internal scripts to integrate with Zoho (which has a pretty solid API) and went live with it in 2018.

I would be lying if I said that Zoho Subscriptions was perfect. My biggest frustration is the support that they offer.

For some reason they don’t have a real ticketing system (despite selling a support desk solution…).

Instead, they have phone support but it’s not really that good for technical requests. If you call with technical issues, they raise an internal ticket. You don’t get a ticket number or anything. They just say that they will email you (eventually… and after you follow-up). This gets even more conveluted when you have multiple tickets with them. You don’t have a ticket number so you can’t reference it directly – so you end up having to describe the issue all over again when you call to check on a status.

Calling people for support takes me back to the Dell computer days. Seems antiquated to be honest and can be frustrating.

Another thing that I have noticed about Zoho Subscriptions is that there are so many dependencies that whenever you try to do any kind of “delete” action you are presented with an error message. Honestly, more than I have ever seen in any application… ever.

By way of example, my billing rep had to delete a customer record because they requested we remove all info we had because of GDPR. Okay, so delete the profile right?

Didn’t work.

First my rep had to remove all transactions. Okay, they went to that section and deleted the transactions. Then clicked delete on the profile.

Didn’t work.

Oh, my billing rep had refund credit notes associated with the account, so had to go back and remove those. Clicked delete on the profile.

Didn’t work.

I think you get the point. This kind of time wasting makes me livid. My billing rep had to go through and delete everything, and still it didn’t work. So, they had to call into Zoho support. Wasn’t solved on the phone of course, they had to raise an internal ticket. Turns out we stumbled across a bug in their system so they eventually worked it out so the info could be purged. Still, we would have needed to go through all those delete steps all the same.

After some initial growing pains, the team finally got Zoho Subscriptions working with the company’s internal systems. The interface isn’t going to win any awards, but now there are no problems accepting payment and managing subscriptions. And well, that was the main objective in the end.

So if you’re in the market for an off-WordPress subscription solution then I’d recommend taking a look at Zoho Subscriptions. You can create a development environment for free without the need to provide a credit card. This is a nice bonus as you can build everything out first before needing to invest into the system.

My Rating: 7/10

+Great API and docs

+Easy to set-up

+Best pricing on the market for subscription services

-Support is frustrating, at best

-Odd UX (quirky) for certain tasks

#WordPress

Just like “lifetime support & updates”, renewal discounts are becoming a thing of the past.

When LearnDash first started there were no renewal discounts because, well, there were no renewals.

It’s hard to believe but that was where the WordPress industry was at the time. You paid once for your products and you had lifetime support & updates.

Today you will be hard pressed to find any business running this kind of pyramid-scheme pricing.

Unless of course the business is a pyramid scheme.

Renewals are now common in the WordPress plugin & theme space, but for many years it was normal to provide a discount on the renewal purchase.

I will admit that I have never really questioned why this was the case. If I were to guess, I think that renewal discounts were implemented because the WordPress folks pioneering the renewal pricing structure weren’t sure how people would react to having to renew a license. So, they tried to “soften the blow” a bit by offering a discount.

But just as the WordPress industry needed to evolve away from “forever” pricing, it must also evolve to eliminate discounted renewals.

Discounting renewals unfairly devalues your offering.

When you really think about it, offering discounted renewals doesn’t make business sense.

What I realized is that the discount on our renewals was essentially devaluing our future work. That wasn’t fair to our team who worked so hard on creating and supporting the new functionality.

Now, one argument is that the support burden decreases in year two. I completely disagree with this sentiment for two reasons:

  1. New features elicit new support inquiries, no matter when someone purchases.

  2. There are people who will always ask for support whether it’s year one, two, or five.

I only speak from our experience but I suspect those of you with software products can attest to a similar trend. I think this trend is part of why WordPress oriented theme & plugin providers are shifting to standard annual renewals.

Full-priced renewals are necessary for WordPress products.

Today we see so many WordPress products shifting to the SaaS sector. I’ll admit that I too have been tempted.

Why?

Because support is far more difficult for WordPress plugins and themes than SaaS offerings.

The number of possible plugin and theme configurations coupled with hosting specifications means that troubleshooting can take a terribly long time for a support rep (and possibly developers should it require deeper investigation).

Just consider this (very common) scenario: you push out an update to your software. Person A updates and is super excited about the improvements. Person B updates and suddenly their theme’s CSS is no longer rendering properly on certain pages. They are mad.

Same update. Two different experiences. Two different reactions. This is common place for WordPress and a reminder of what life is like when you don’t control the technical environment.

To bypass this headache plugin and theme shops have decided that they want to control the environment by SaaS’ing their functionality. While this can be good for both the business and the consumer, it also takes away one of the most attractive things about WordPress in the first place: feature flexibility.

Plugins and themes need to remain non-hosted in order to preserve the core value proposition of WordPress. However, this means higher support costs to the business. The logical conclusion is that the renewals need to be full-priced to offset this burden.

This is a major reason why the discounted renewal program was retired.

Who is doing full-priced renewals?

Actually WordPress businesses of all sizes no longer offer renewal discounts. If anything LearnDash was late to the game…

Off the top of my head:

  • GravityForms
  • WooCommerce
  • WPForms
  • HeroThemes
  • ThriveThemes
  • WP SimplePay Pro
  • AffiliateWP
  • Restrict Content Pro
  • MemberPress

And many, many more.

If you are a plugin or theme provider then have a look around yourself and you may be surprised to see how many companies have shifted their policy. You won’t be alone. Quite the opposite. You will actually have some very visible company (see WooCommerce).

The company experienced practically zero friction in this change. In our case the new policy doesn’t impact existing customers. We honor the contract they agreed to upon purchase as long as they remain with us. Should they end their business relationship, then their legacy pricing expires as well.

I can also put your mind at ease on one thing: removing renewal discounts has had zero negative impact on new customer acquisition.

Not so long from now I suspect that we will all look at renewal discounts in the same light as we look at lifetime support & updates, as an unsustainable policy that hurts both consumers and providers.

#WordPress #entrepreneurship