Dunning, New In-Dashboard Checkout & Site Trials! — March Product Release Notes

Release Notes is our monthly update that highlights the recent product improvements we’ve made, so you can easily stay up to date on what’s new. Here’s what we launched in March.

This product cycle was focused on three main objectives:
1. Increasing payments renewal rates
2. UX Improvements
3. Technical debt — making development on our end more efficient so we can move quicker

Dunning & Retention

There are many reasons for failed payments, the most common ones are credit card expiration, lack of sufficient funds, and credit card reported as stolen.

If you live in the US, I’m sure you have already experienced a stolen credit card. Since I moved to NYC in 2014, I replaced four cards (that’s more than a card a year!). If that’s the common case and you only offer annual plans, there’s a high chance that the annual plan renewal will fail.

What is Dunning?

How does Freemius’ Dunning mechanism work?

1st failed attempt:
* Send a failure email to the customer.
* Retry one day after the 1st failed attempt.

2nd failed attempt:
* Send a failure email to the customer.
* Retry three days after the previous failed attempt.

3rd failed attempt:
* Send a failure email to the customer.
* Retry five days after the previous failed attempt.

4th failed attempt and final:
* Cancel subscription.
* Cancel associated license.
* Send cancellation email to the customer.

Credit Card Subscriptions

Credit Card Subscriptions
Credit Card Subscriptions

Upon credit card update, Freemius will immediately attempt to process the outstanding payment, and will only update the card on success. If it fails, a corresponding error message will be shown to the customer.

PayPal Recurring Profiles

At the moment this process runs in the background. We plan to add some metrics to the dashboard so you can get some data about the recovered payments.

How much does it cost?

Manual License Renewal for Migrated Plugins & Themes

Our decision was to extend the checkout logic for license renewals (something we didn’t support before), and also adding a license renewals reminders mechanism that works according to the following schedule:

  • 30-days prior to license expiration
  • 7-days prior to license expiration
  • 48-hours prior to license expiration
  • 1-day after license expiration

The sent emails showcase the benefits of the renewal and provide a direct link to secure checkout form. Here’s one of the initial drafts:

email explaining the benefits of the renewal
email explaining the benefits of the renewal

Developers Dashboard:

  1. License Sites: Added the option to show all the sites that are currently utilizing a specific license. Simply click the link under the license’ Activations field, and you’ll get a filtered view of all the sites that are using that license:
filtered view
filtered view
  1. Monthly Effective Growth chart:
Monthly Effective Growth chart
Monthly Effective Growth chart
  1. This is a great indicator to measure the success of your product iterations. Your goal is to make the line go up all the time. If you release a version that triggers a drop, that’s a sign that something isn’t working as expected and you should dive into the uninstallation feedback from data for further investigation.
    At the moment this feature is not available to developers who are only using the Freemius Insights free tier.
  2. MRR (Monthly Recurring Revenues) Growth chart:
Monthly Recurring Revenues Growth chart
Monthly Recurring Revenues Growth chart
  1. MRR is one of the most important bottom line metrics for subscription businesses. Freemius’ MRR analytics will give you a clear view of the composition of MRR movements, providing insights into the health of your business — past, present, and future.
    Your Net MRR Growth is derived from:
    New Business MRR: New paid conversions
    Churn MRR: Paying customers that have canceled or downgraded to a free plan
    You want to make sure that your Net MRR (the line chart), is always in the positive section, which means that you added more value in subscriptions than what you’ve lost (churn).
  2. Plugin Icons: Plugins that have a free version on WordPress.org will now show the plugin icon:
Plugin Icons
Plugin Icons
  1. Besides the fact that it’s cool, for developers that are using Freemius on multiple plugins, it makes the experience slightly better when you can identify the plugin without even looking at the title.
  2. Contextual Integration Snippet Updates: When you now make changes within the dashboard that require changes in the integration code, a window will pop-up with the new code ready for your copy-paste :)
Contextual Integration Snippet Updates
Contextual Integration Snippet Updates
  1. Automatic Updates Bug Fix: After receiving a few complaints about customers that were not getting the latest release of the product, we investigated the updates mechanism and found out that the versions ordering mechanism was using “string type sort” which was causing versions like to1.1.8 be a newer version than 1.1.10. We fixed that!

Offering Trials Directly from Your Site

Unlike with an in-dashboard trial, since we can’t know where this trial is going to be utilized, the decision whether to allow the user a trial or not is based on the customer’s email. If the user had already utilized a trial for a certain plugin/theme using the same email, the trial won’t work. If the user tries to use a fake email address just to access the trial, since we only expose the download link and license in the after upgrade email, they won’t be able to abuse the trial.

Fix: A fix related to trials and the checkout, we now ignore trials when the user types in a 100% discount coupon code.

WordPress SDK — v.

New In-Dashboard Checkout

New In-Dashboard Checkout
New In-Dashboard Checkout

This also means that the new in-dashboard checkout is now fully responsive! With an optimized mobile UX enabling easy purchase experience from any mobile device.

optimized mobile UX
optimized mobile UX

Some of you customized the checkout page with custom CSS stylesheet. Before you update to the latest SDK, make sure to adjust the CSS rules to work with the new checkout.

The “legacy” checkout will continue to be fully functional for backward compatibility, but we won’t be extending its functionality anymore, nor fixing any future revealed bugs.

Security Fixes

  1. XSS fix. We received a report from a fellow developer (Marcus Skies from Events Manager plugin) about an unescaped string in the SDK. Indeed, we forgot to escape an optional error message on failed opt-in. The reason we didn’t contact anyone is that the opt-in page is only available to users who have permissions to the WP Admin settings page. So if the user already had login access to that admin page, they are able execute any JavaScript code anyway.


  1. The WP.org translations mechanism doesn’t support more than one text-domain. I won’t dive deep into the reason why we think it could be improved by supporting more than one, but what this means in practice is that even if you had only a few localized strings in your plugin or theme, by adding the Freemius SDK, the translations mechanism would automatically add hundreds of strings to your product.
    Since the translation of strings is made per product, they all would have to get translated (even if they were already fully translated on a different plugin or theme, ignoring the translations that the SDK came with).
    Joachim Jensen helped us solve that problem by wrapping all of the methods in new ones and enriching the Gulp script that extracts the text domain related strings. So from now on, the Freemius SDK strings won’t be extracted by WordPress.org and won’t affect your translations efforts. Thank you @intoxstudio!


debug mode
debug mode

How to access the debug page?

How to turn the debug mode on?

the Debugging switch
the Debugging switch

SDK Misc

  • We’ve added a new Change License button to the Account page for changing the currently active license:
currently activated license
currently activated license
  • This is helpful for developers who like to change the license key to the client’s key before handing the site over to the client.
    Always show the deactivation feedback form since we added automatic free version deactivation upon premium code activation.
  • Serviceware mode: We’ve adjusted the SDK to work for Serviceware products without a premium code version. This unique mode hides all labels related to the plugin’s code type and the download instructions after upgrading. This mode was originally developed for Replyable which has been using it for a few months already, and we hope to see more services start to use the Freemius Serviceware.
  • We improved the license key sender form to show the current’s WP Admin email address.
WP Admin email address
WP Admin email address
  • The reasoning behind it is that when a customer upgrades from within the dashboard, if they had already opted-in we auto populate their email address in the checkout form. Sometimes customers ignore that field and later forget which was the email address they’ve used for the upgrade. This should solve that!
  • Better mechanism to test product updates: When running the SDK in dev mode with the secret key — deployed and unreleased versions will now be available via the updates mechanism. That’s another step for making testing easier, so you can test the version update mode of your version before releasing it to your users.
    Following this feature, we can quite easily add a capability for beta testers. Users will be able to opt-in to become beta testers, and they will get the initial releases of your plugin (free or paid) before others. If that’s something that you’d want to see coming, do let us know in the comments.

SDK Version Contributors

Monetization & Insights platform for #WordPress #plugin #developers.