Changelog

Welcome to the changelog section of Freemius, here you'll find our weekly technical update notes. You can subscribe to all posts via Newsletter or follow us on Twitter to stay updated.

Fixed expired exit-intent coupon showing negative countdown

Freemius supports Special Coupons & Discounts, the Exit Intent Coupon. This coupon helps in conversion by providing a coupon right when the user is about to abandon the checkout.

Incorrect expiration countdown Freemius Exit Intent Coupon

We noticed that the checkout was showing a negative countdown timer if the coupon had an expiration set from the Developer Dashboard and if the coupon had already expired.

Setting expiration date of a coupon Freemius Developer Dashboard

The expiration date of any coupon can be set from the Developer Dashboard as shown in the screenshot above.

In this deployment, we have fixed this. If the exit intent coupon expires, it will no longer be applied.

Also like before, if the coupon expires in the future, then the FOMO counter will count down to the expiration date of the coupon.

New feature to allow VAT Refunds

This has been one of the big feature requests from our partners. Being a merchant of record, Freemius handles taxes for  EU/UK customers on behalf of our partners.

Freemius checkout collecting tax

Sometimes a customer would purchase a product and forget to enter their VAT number. In such cases, the customer will not get any tax exemption. Later the customer could contact the developer asking for a VAT refund.

So far, the only way to do this is to cancel the original subscription or lifetime purchase and recreate it to ensure the customer properly puts their VAT number.

To ease the process, Freemius now supports VAT refunds against a valid VAT number, right out of the box.

Navigate to the “Payments” section of your Developer Dashboard and click on the “Refund” button. You will find a new option to do a “Tax refund”.

Doing tax refund from Freemius Developer Dashboard

Not only have we enhanced the user experience for buyers and simplified the process for you, but we’ve also devised a behind-the-scenes implementation that ensures you won’t lose the gateway fee for the entire transaction. Instead, you’ll only forfeit a partial percentage of the VAT. This not only streamlines the entire process but also saves you money.

Please note that

  1. Right now we support only EU/UK VAT refunds.
  2. You must supply a valid VAT number for the customer for a tax refund.
  3. If the payment is associated with a subscription, the subscription will be automatically updated to exempt taxes for renewals.

The option to do a tax refund will only show up if the associated payment has a tax. If you don’t see this option, it simply means Freemius did not collect any taxes for that payment.

It is worth mentioning that the process will

  1. Do a full refund of the original payment.
  2. Create a new payment, excluding the VAT.

Payment entities after doing a tax refund in Freemius Dveloper Dashboard

This will also be reflected in the Developer Dashboard after you’ve done a tax refund.

 

Added support for PHP 8.2 through Freemius deployment

Version Deployment is one of the powerful tools Freemius provides to our Software makers to ease their lives. The concept is simple; wrap your code in if ( my_fs()->is__premium_only() ) family of methods and Freemius will strip out the premium code to make a WordPress.org-compliant free version of your WordPress theme or plugin.

So far, this feature has been limited to parsing PHP 7.1 code. With today’s update, you can start using PHP syntax up to version 8.2 and our deployment mechanism will properly strip off premium codes.

Create deployment Freemius Developer Dashboard

We have also made subtle improvements to the prettifier. It will now output code closer to WordPress formatting standards.

Improving the 2FA UX with manual code

Not long ago, we introduced two-factor authentication to tighten the security of the Developer Dashboard. The 2FA UI shows a QR code for scanning from your favorite authenticator app.

Improved 2FA UX with manual code UI in Freemius Developer Dashboard

Following requests from our partners, we’ve added an enhancement so you can copy the code directly and put it in your authenticator app, without scanning the QR code. This is handy when the authenticator is on the same device from where the Developer Dashboard is opened.

Improvements to the Version Deployment system

Our Version Deployment feature is a powerful tool for developers. Recently, it came to our attention that the readme.txt processor was unintentionally adding extra line spaces while stripping codes in between [//]: # fs_{free|premium}_only_{begin|end} tags.

Improved readme.txt parser in Freemius Version Deployment system

We’ve fixed the issue and added improvements to handle both block and inline tags. As seen above, texts are properly stripped off and consistently maintain the space and new lines.

Improved UX while refunding a payment to cancel associated subscription

While refunding a payment, we’ve always had the option to cancel the associated subscription. But it was not selected by default.

Improved UX while refunding payments in the Freemius Developer Dashboard

Following feedback from our partners, we are now auto-selecting the checkbox while issuing a refund. You can of course still uncheck the box to keep the subscription going.

To further emphasize the action that will cancel the subscription, the button now says “Yes – Refund & Cancel” when the checkbox is selected.

New Average Order Value chart & improvements to the analytics

We’ve added tons of shiny new updates to the Freemius analytics. Starting today, you’ll see a new “Average Order Value” chart on the Sales Analytics page. We’ve also improved the categories of the “Total Installations” chart.

Average Order Value

Average Order Value (AOV) is the average revenue per order, including subscription renewals, lifetime purchases, and paid trials. On the Sales Analytics page, a new card displays the AOV since you first published your product with Freemius.

Average Order Value metric Card showing Lifetime value

Further down the page and under the Revenue section, a chart showing AOV changes for a selected period is displayed.

Average Order Value chart showing trend

Total Installations

New "Uninstalled Installs" category in the Total Installs chart

We’ve added a new category called “Uninstalled Installs” to make the Total Installations chart more useful. This new category displays the number of installs explicitly uninstalled or removed.

Made the Currency Selector persistent

This was a feature request from our partners.

The currency picker UI in Freemius Developer Dashboard under Sales Analytics

From now on, when you select a currency for a product or a store, the selection will persist in your browser.

Improved the legend of the Net Payments & Transactions chart

The first legend of the Net Payments & Transactions chart used to be labeled as “New Subscriptions”. This created some confusion as the metric was showing the first payment of a subscription. If you’re offering a paid trial, the first payment of a subscription can come weeks later.

To clear up the confusion, we’ve renamed the legend to Subscription 1st Payments. Thanks to our partners for reporting this!

Updated legend of the Net Payments chart

Various Checkout improvements

We’ve released several updates to our Checkout application:

Fixed VAT validation issues

We noticed some valid VAT IDs were being blocked by the Checkout app.

Improved VAT ID verification

We fixed this by rolling out a more robust VAT ID validation system for the front-end app.

Improved translations

Certain strings — especially those coming up as exceptions (for example, “Invalid coupon code”) — were not getting translated.

Improved translation in the Checkout

We’ve introduced fixes for them. You can also use the Freemius Checkout Buy Button API to load the Checkout in one of the supported languages.

Improved Country Selector search algorithm

Improved search algorithm in the country dropdown

We’ve improved the “fuzzy” logic of the Country Selector UI search feature. The search is now more natural and accurate.

Other bug fixes

  • In cases where a coupon is used, the correct discounted first payment price on the billing cycle UI is now displayed.
  • We’ve fixed an issue in the SDK Checkout mode, where the “Resend email” button was not working properly.
  • We’ve added ZIP code validation in the Dunning app and made general improvements to the form validation UX.
  • The responsiveness of the Checkout footer has also been fixed.

New geolocation-based payments distribution chart & Audience Analytics charts UX improvements

Geo Payments chart (Sales Analytics dashboard)

We are super happy to announce the immediate availability of a geolocation-based payments distribution chart. This chart shows the total distribution of payments by geolocation or country.

The chart helps determine the country of your major target audience.

The chart also shows the gross volume of payments that occurred per day distributed over countries by default. It can also show the payment count (instead of gross).

You can also customize the chart to show the total gross volume of payments that occurred from the beginning to the selected day, plotted over a stacked area chart or a simple area chart, along with a tabular view to see the total volume of payment gross and payment count until the end date.

Enhancements to the existing Audience Analytics charts

Following the development of the Geo Payments chart, we piggybacked the features to the existing charts in the Audience Analytics page.

As you can see, the charts can now be plotted as ‘Area’ or ‘Diff’, along with the already existing ‘Stacked Area’ visualization.

Data export permission-related improvements

We’ve improved the data export-related permissions in the Developer Dashboard. Only a Product Owner or an Admin can export data from the ‘Users’ page.

Freemius User Export

The rest of the roles can either have view-only permissions (for example Developer or Support) or be completely blocked from viewing Users (for example Accountant).

The ‘Download’ button will now be hidden for roles with view-only permission. The API will also block a request to the .csv endpoint.

Checkout improvements — better mobile UX

Mobile UX improvements

We noticed that our checkout’s footer was being cut off on some mobile devices.

In this iteration, we fixed this regression. Additionally, we also improved the native scrolling experience on mobile browsers. The mobile menu bar will now automatically be hidden when scrolling down, giving more real estate to the Checkout app.

Fixed a typo

We’d been using the term “Annually” in the billing cycle UI for a long time. While this was not technically incorrect, the term ‘Annual’ fits better (kudos to our Support Lead, Leo, and Digital Copywriter, Robert).

In this update, we changed the term.

Improvements to developer transactional emails

We’ve added a small enhancement to include the customer’s ‘Store Profile’ link in the transactional emails we send to developers.

Freemius transactional emails with "Store Profile" link.

This helps developers quickly view the customer’s profile in the context of the product’s store. Transactional emails are sent for new purchases, renewals, etc.

Load more