|
A mega-project deserves a mega-announcement!
The new Multi-store Dashboard is by far our biggest milestone and most complex deployment in 2022. More than a yearâs worth of hard work â scrutinizing, listening to feedback, making changes â has resulted in a brand new multi-store interface thatâs powered by super-fast, granular, and customizable analytics.
Whatâs under the hood is mind-blowing and like nothing else on the market at the moment. But before we dive into those technicalities, letâs take a look at the reasons weâve made such sweeping changes to our dashboard.
Our Initial Focus and Methodology
When we started Freemius, we focused specifically on free and freemium plugins because we identified â and believed in â the power of the WordPress.org economy (and still do).
We also wanted to help developers with products on the repository get rewarded for their efforts. That is, make money that could be reinvested in support, new features, and product improvements, instead of working for very little donation-based compensation.
As our focus was on helping developers of free plugins to monetize (who didnât have âstoresâ), we structured our entire system and dashboard to work on a âper productâ and freemium methodology.
While we had use cases of developers with several products using Freemius, we had no instances of developers running multiple stores. Besides, we didnât even have a User Dashboard back then and it didnât matter to us whether devs sold their products on one website or twenty websites.
Introducing the User Dashboard and Multiple Stores
At a certain point, however, we introduced the concept of a User Dashboard that could be embedded in our partnersâ websites.
For developers with multiple products belonging to different stores, this was a problem.
At the time, a common use case was theme shops, where there could be two websites (or more) with different branding and names that belonged to the same legal entity/company.
Letâs say there are two websites â Store 1 and Store 2. If you were to make a purchase from Store 1 and then log into its User Dashboard, it simply wouldnât make sense for products from Store 2 to appear there.
Admittedly, this was a confusing experience for users and one that made us realize we had to implement a âstore entityâ that aggregated products under a specific store.
From there, we automatically created a store for every developer and assigned their products to it. Technically, we still didnât have a way for developers to manage multiple stores using the same account, so we advised them to sign up with other accounts to receive new stores and then register the relevant products there.
This was annoying for a few reasons:
- Developers needed to manage multiple stores from different accounts using different email addresses.
- As revenue share is per account, and not per product, we needed to manually adjust it for developers who wanted to start another store.
In addition to the process being broken and unstructured, the âper productâ view wasnât optimal for developers with many products.
For example, if a customer reports an issue but doesnât specify which product theyâre talking about, a developer selling multiple products from a single website will need to reach out for further details or go to the dashboard and search for them in every product thatâs configured with Freemius, just to locate the customerâs account.
There was no organized, centralized place to see a user profile, or to see how they were using products.
Clearly, the navigation and product management needed work.
The Legacy Analytics Dashboard and the Need for Change
Back in the day, we were running queries on the database to pull data in real time. This worked well for us for a few years â until we had a period of rapid growth. This meant that the database grew exponentially and started to consume significantly more resources, which brought with it dashboard malfunctions and API timeouts.
At this point, we realized that we needed to build a robust analytics layer. This was a mega-project that took over a year to complete. And for it to work properly, a system needs to run in the background indexing raw data into warehouses so that itâs ready to be delivered when a developer wants to see it.
We built (and optimized) this based on more than seven years of learnings, specifically for the needs of our audience to run a sustainable subscription-first business. Also, over the years, we learned about the flaws of some of the metrics we used to show in the dashboard. Specifically, those which are prone to errors or inaccuracies, such as the conversion rate (which is inaccurate because we donât have full visibility of free installations and rely on voluntary opt-ins).
So, in addition to trimming inaccurate metrics, we also spent a ton of time considering what to show because we wanted to deliver data that developers really needed (and wanted) to see. A good example of this is a new chart that shows MRR growth over time, which is pretty complex and resource-heavy. With the new dashboard, weâre currently showing 95% of what developers need to see, and we have plans to add even more once weâre up and running.
Iâm pretty confident in saying that the new analytics dashboard is the most advanced, flexible, and versatile platform thatâs out there at the moment. Itâs pretty incredible and Iâm proud of what the team has accomplished.
Now that the history lesson is over, Iâd like to formally introduce you to:
The New Super-powered Sales and Audience Analytics Dashboards
What a difference!
On the left side, youâre seeing a familiar sight â static information that can be toggled via a date range, etc. While some of the data thatâs being presented is still valuable, the interface is pretty messy in places.
But this is all changing 🤠
Our legacy dashboard had sales and audience analytics in the same place. For the new dashboard, we decided to split these up, for two reasons:
- Weâve learned over time that developers who are monetizing their products prioritize sales performance over growth performance.
- We wanted to reduce the server’s load and make the experience faster, more efficient, and less overwhelming.
The New Sales Analytics Dashboard
Youâll see that there are several lifetime KPIs featured â sales, refunds, and chargebacks. These are there to give developers a snapshot of the success of their business over time using Freemius.
If you look at the other data points, youâll see that theyâre mostly made up of charts:
New Analytics Charts List 🤯
NET PAYMENTS & TRANSACTIONS
REVENUE
- Gross volume
- Refunds volume
- Chargebacks volume
- Payments count
- Refunds count
- Chargebacks count
PAYMENTS DISTRIBUTION byâŠ
- Plans
- Licenses
- Billing cycles
SUBSCRIPTIONS
- MRR
- Churned revenue
- MRR growth
- Active subscriptions
- Canceled subscriptions
- New subscriptions subscribers
- Subscription renewals volume
- Subscription renewals count
TRIAL WITH PAYMENT METHOD
- New trials
- Potential volume
- Converted count
- Converted volume
- Cancellation count
TRIAL WITHOUT PAYMENT METHOD
- New trials
- Converted count
- Converted volume
- Cancellation count
There are now two layers to the Sale Analytics Dashboard â filtering and date range selection.
Date Range, Comparison, and Charts Resolution
Weâve also implemented predefined periods which will help developers easily compare product performance or campaign performance. For example, BFCM 2022 versus BFCM 2021, or a campaign against a normal sales window.
Below you can see how the comparisons are visualized:
You can see (in real-time) how the performance metrics youâve selected compare to one another. In the above example, itâs shown as a weekly increment, but the new system is really flexible and you can swap it to daily resolution, plus you can even go deeper to the level of hourly resolution if you want to inspect the data in a more in-depth way.
Itâs a big upgrade from what weâve had before, and I really canât wait for you guys to start playing around with it!
Now, onto the next layer 😉
Granular Filtering and Insights
Not only is the filtering aspect super cool, but itâs also really helpful. Say youâre selling in multiple currencies, you can filter and change the entire dashboard to display whichever currency youâre wanting to see. And thatâs only one filter.
If youâre running multiple plans and want to see how a specific plan is performing (or a combination of them), you can tick the boxes and watch the data update in real time. Thereâs no loading here. You can also see how different licenses and plans are performing and filter by billing cycles with the touch of a button. This really lends itself to research, analysis, and experimentation to see whatâs working and whatâs not.
Every pricing-related experiment is now backed by real-time data.
Another thing we learned was that some data points werenât clear in the legacy dashboard. To remedy this, weâve implemented an âinfoâ button alongside each non-obvious metric that explains exactly what itâs measuring and why.
Stacked Charts
These features are ⊠well ⊠stacked!
Weâve implemented stacked charts to give you an overall view of performance from one centralized place.
This gives developers a complete breakdown of where sales are coming from, such as subscriptions, renewals, lifetime purchases, etc. Product makers can also see how new subscriptions are comparing to chargebacks â for example, subscriptions may have grown by 115% but thereâs also been a 200% increase in chargebacks.
Youâve got a lot of other options at your disposal too. For instance, you can analyze based on revenue or the number of transactions â itâs really up to you and what metrics you want to see.
And when you return to the dashboard at another time, the metrics youâve selected will be exactly as you left them. Itâs fully customizable and weâre not done â the engineering team wants to add new abilities in the future, but weâll wait on you guys to feedback on these new âstackedâ features.
Itâs a team effort 💪
Minimizing Real Estate for Better Insights and Efficiency
Previously, the payment distribution wasnât visualized very efficiently and it took up loads of real estate. To fix this, weâve created a table that you can slice & dice based on plans, licenses, and billing cycles. Check out the side-by-side comparison (much better, right?):
With this new visualization, you can see all of your plans, their volumes, and transactions, as well as compare them with whatever date range youâve selected. Thereâs a lot of flexibility here too, and you can add/change/remove licenses as you see fit.
You can also compare all of them, over different periods. Itâs really up to you and we really want to give you guys as much customizability/flexibility as possible.
An intention weâve carried over to the second analytics section:
The New Audience Analytics Dashboard
Pretty cool, right?
The concept of the Audience Analytics Dashboard is similar to its sales counterpart in that youâll see weâve included all-time users, active installs, and all-time installs at the top of the page. While thereâs no billing cycle filtering and similar options, youâll still have the new date range selection and the ability to compare data to whatever ranges you want, plus you get resolutions too.
Thereâs also a growth chart that lets you compare activations over a certain period and displays the effective growth during the time window youâve selected.
Real-time Charts Have Replaced Static KPIs
Just like with the new Sales Analytics Dashboard, weâve changed the static KPIs in the Audience Analytics Dashboard to charts. These also come with clickable info points to clarify exactly what each chart is displaying. On top of that, weâve changed the data points so that theyâre as accurate (and relevant) as possible.
With the overhauled charts, youâll know how many activations or opt ins there are, and whether theyâre license activations or opt-ins. Not to mention youâll know how many uninstalls and deactivations a product has had, at any period in time. Disclaimer: we only know this for websites that opted-in or activated a license.
Visualizing the Complexities of Version Breakdowns
One of the most challenging parts of the new analytics was trying to figure out how we could store and then visualize different versions. It was pretty complex, but Iâm happy with our eventual solution.
Someone in the team even joked that our new version breakdown chart looks like artwork â so bravo to our VP of Engineering, Swashata Ghosh, and CTO, Dror Yaakov, for turning something complicated into something visually appealing.
When you ask a Developer to create art 😌, coming soon to your @freemius Developer Dashboard 😉 pic.twitter.com/JOCNvFqPgE
â Swashata 🔥⚛️ (@swashata) September 12, 2022
The new version breakdown graph provides an aggregated distribution view of all versions at specific points in time. This allows you to see things like how a version adoption is performing, such as in this example:
A developer can literally move the date range in real-time to see where a version is growing or shrinking. And this functionality is not just for the plugin versions, weâve implemented it for WordPress, PHP, and SDK versions too.
Weâve also introduced a ton of flexibility in these charts, but there are too many to cover here and itâs probably best for you guys to get your hands dirty and discover them 😉
Suffice to say our engineers really enjoyed getting technically âcrazyâ with the options and the customizability.
Languages and Locations
Previously, languages and locations were combined, but the new dashboard splits these data points for deeper insights into your product distribution. Now, the languages and countries are aggregated and you can customize the table to show distribution by language and region, etc.
Again, weâve tried to bring a serious amount of customizability and flexibility to these metrics.
Itâs worth noting that we still donât store reasons for uninstallation in the new dashboard. This decision is not set in stone, and weâre open to adding this data point back if we see that thereâs a need for it.
Preserving the Old Dashboard
Weâre not saying goodbye to the old dashboard right away. Developers will still be able to access the previous version for a limited time in case weâve missed/forgotten something. That said, weâre hoping this wonât be the case as we ran the new dashboard in beta mode for at least 6 months, so there was a healthy period of testing, feedback, and scrutiny.
Now that weâve taken a close look at the new analytics features, Iâm excited to dive into:
The New Multi-store Management
As mentioned, a developer looking for a user of another product would need to switch the context and search for that user under that product. Itâs super time-consuming and inefficient.
With the new interface, product sellers can access different areas of the dashboard directly from the store. Now youâll be able to see every user associated with a specific product, as well as those users who have multiple products associated with them. From here, developers can go even deeper and see everything related to that user in the context of the store. For example, licenses, subscriptions, payments, etc.
This gives developers, marketers, or support reps a centralized place to view user data in the scope/context of an entire store.
And this holds true for websites too. You can easily search for a website in the store context and see which products are being used on that specific website.
Coupons Codes: One Action Instead of Twenty
In cases where it makes sense to create assets like coupons at store level, weâve introduced a layer that allows you to selectively choose which products and plans to attach assets to. Now, devs can go to the coupon section at store level and add the discount code to the products and plans they choose. In the past, you had to create a coupon for every product, even if it was using the same code.
The new store-level coupon section is a massive time-saver, and one thatâs even more beneficial for developers who have theme shops or WooCommerce extension stores with many products.
Sales Performance Overview
If you go to the Dashboard section at store level, youâll now see the sales performance for the entire store, i.e., how all of your products are performing together. Weâve implemented a consolidated view with powerful filtering and date range selection that still allows for choosing licenses and billing cycles, etc.
Basically, you are getting the same powerful sales analytics at store level that youâre used to getting per product.
Weâre also analyzing the above to get an understanding on what future actions to take on the entire store versus products. This is an iterative process and weâll be introducing more options that you can apply as we receive feedback.
Multiple Store Creation and Product Aggregation
Weâve mentioned the challenges of our previous dashboard and how stores were assigned by product, which meant developers had to create new accounts to add new products.
These problems are a thing of the past!
Like the name says, you can create multiple stores. In addition, you can move products between stores, plus you can manage multiple stores under the same account.
Itâs the convenience of doing everything from one intuitive place that has us so excited about the new dashboard â and we canât wait for you to try it out.
A Quick Tease of Whatâs to Come With Design
We canât let the engineering team have all the fun, can we? On top of the technical overhaul to our dashboard, the creative team is in the process of refreshing the dashboardâs design, from iconography and fonts to the entire look and feel.
Itâs fresh, modern, and gives a hint of whatâs to come for Freemiusâs brand identity too 😉 Massive kudos to our lead designer Vitalii Romaniuk on the progress:
Whatâs Next?
The dashboard is a powerhouse and itâs incredible depth and functionality is a testament to the skills and talent of the Freemius engineering team (we are hiring senior PHP devs and WordPress devs â join us!).
But you guys wants specifics, right? Here are a few of the plans we have in the pipeline:
- We also want to add a CLTV chart (Customer Lifetime Value). Itâs important for us to include this metric because it will help our partners evaluate if they capture more value from customers overtime, with upselling, etc.
- The new dashboard metrics are almost 1:1 with the unit economics evaluated during WordPress acquisitions, which weâve all seen massively growing in the past years. A vision I have is to include a button that exports all of the business data potential acquirers would need from sellers looking to exit.
- We are going to employ the power of our analytics layer for user-facing and affiliate analytics 💪
This is just the beginning â a mega-project like the Multi-store Dashboard and its analytics layer is ongoing and iterative, especially in the early days. We welcome any feedback that will help us develop and improve it for Freemius partners and the WordPress community as a whole.
Onwards and upwards, together 🚀


Great update! Much needed. Thank you.
“Weâre not saying goodbye to the old dashboard right away.”
How can we access the old dashboard?
A huge improvement! Thank you and great job, Freemius Team.