Version 5.1.0

February 18, 2026

This is a major overhal of the plugin, with a complete visual redesign of all widgets (+ New widgets) and a new page system. You may need to save some settings on each widget after updating. I've tried my best to keep these where possible.

CP "Pages" is now possible to create custom pages/subpages full of widgets, as well as still having widgets on the CP dashboard.

Added

  • NEW WIDGET Locations widget - Interactive 3D Mapbox globe showing order/customer locations by country
  • NEW WIDGET New vs Returning Customers widget with line chart tracking new and returning customers over time
  • NEW WIDGET Conversion Rate widget with funnel visualisation (Added to Cart, Checkout, Completed)
  • NEW Custom Pages - create multiple dashboard pages per user with drag-and-drop widget management
  • Comparison Mode setting ("Full Period" or "To Date") for fairer change indicators — "To Date" compares equivalent elapsed portions (e.g. Jan 1–Feb 18 2026 vs Jan 1–Feb 18 2025)
  • "Data last refreshed" timestamp label on custom pages when caching is enabled (#25)
  • Revenue tooltip on Top Products and Top Customers widgets explaining the total
  • Cancelled and Expired columns on Subscription Plans widget
  • Country flag and location on Top Customers widget
  • Mapbox Access Token plugin setting with environment variable support
  • "Enable Pages" plugin setting to toggle the pages feature
  • User permissions for viewing pages, managing pages, and accessing widgets
  • Fiscal Year option to widget target duration settings
  • Fiscal Year start/end day and month settings for granular fiscal year configuration (#24)
  • All Time option to widget target duration settings
  • Product Type filter on Recent Products widget with type name in title
  • Order Status filter on Recent Orders widget with status name in title
  • Plugin Name setting
  • Change indicator on Cart Abandonment widget comparing current vs previous period
  • Hover tooltip on change indicators describing the comparison period
  • Improved line graph styling with detailed/minimal options

Changed

  • Default target duration changed from monthly to yearly
  • Complete visual redesign of all widgets
  • Extracted widget query logic into specific services (Orders, Products, Customers, Carts, Subscriptions)
  • Shared date filtering across all services via applyDateFilter()
  • Recent Orders and Recent Products data now fetched in PHP services instead of Twig templates
  • Cart Abandonment widget now respects all target duration settings (daily, weekly, monthly, yearly, fiscal year, all time)
  • Cart Abandonment consolidated into a single getCartAnalytics() service call with 2 DB queries instead of 5 separate calls
  • Cart Abandonment only counts inactive carts (per Commerce's activeCartDuration setting) for abandoned stats
  • Chart legend hidden in simple graph style
  • Order Status dropdown in Top Products and Recent Orders now uses a standard select field
  • Updated config.php to match all current plugin settings
  • Improved tooltip positioning
  • Updated styling across Top Products and Top Customers widgets

Improved

  • Extracted fiscal year calculation into shared getFiscalYearDates() helper, removing duplication across 5 files
  • Extracted order status select into shared settings component used by Recent Orders and Top Products
  • Line chart JavaScript wrapped in IIFE to prevent global scope pollution with multiple widgets
  • Removed unused bar chart template

Fixed

  • All date calculations now respect Craft's configured timezone instead of using the server timezone (#32)
  • PostgreSQL compatibility by replacing MySQL-specific date functions (DATE_FORMAT, YEAR, MONTH, WEEK) with database-agnostic BETWEEN conditions (#58)
  • Error when adding Top Customers and Top Products widgets (#69)
  • Settings screen is no longer blank and has settings (#36)
  • Top customers error (#31)
  • Top Products & Cart Abandonment Graph trashed elements (#30)
  • SQL 5.7 error on Top Customers widget (#29)
  • SQL Error in Subscriptions Widget (#13)
  • Cart Abandonment direction arrow now reflects actual data direction with inverted colour sentiment (up + red = more abandons, down + green = fewer abandons)
  • Subscription Plans widget only counting active subscriptions, now correctly counts all subscription states
  • Widget refresh and resize behaviour
  • Top Customers widget using totalPrice instead of totalPaid for revenue calculation
  • Total Revenue & Orders widget filtering by cart creation date instead of payment date
  • Total Revenue & Orders widget missing orders on end-of-period boundaries (week/month)
  • Total Revenue & Orders widget using totalPrice instead of totalPaid for revenue
  • Total Revenue & Orders widget counting trashed orders in totals
  • Top Products widget returning no results due to MySQL strict GROUP BY mode
  • Cart Abandonment widget not respecting target duration settings
  • Cart Abandonment total price not displaying due to type casting from database
  • Duplicate customers in Top Customers widget caused by grouping on both email and customerId
  • Icon paths in Top Products widget
  • OrderStatus color error when status is null

Version 5.0.1

May 30, 2024

Changed

  • Icon to a new shiny (literally) icon

Version 5.0.0

May 30, 2024

Changed

  • Craft 5 compatibility

Version 3.0.0

June 17, 2022

Changed

  • Now requires PHP ^8.0.0.
  • Now requires Craft CMS ^4.0.0

Version 2.0.21

May 7, 2019

Fixed

  • GROUP_BY error in 5.7 on TopCustomers widget

Version 2.0.20

November 15, 2019

Fixed

  • Namespace on asset bundle which is now case sensitive (Thanks to @matt-adigital)

Version 2.0.19

September 10, 2019

Changed

  • Minor visual adjustment to make TopCustomers and ProductTop widgets the same styling

Version 2.0.18

August 9, 2019

Fixed

  • Added a default limit on TopCustomers widget to fix issue where it pulls all customers in if the widget already existed on the dashboard

Version 2.0.17

August 9, 2019

This plugin now requires Craft CMS 3.2.x or higher due to the way it now deals with trashed orders. It's also recommended to now use a commerce-widgets.php config file for the plugin settings since this version doesn't include the ability to modify settings via the CP.

Due to a change on the Cart Abandonment widget, it's recommended to increase the purgeInactiveCartsDuration setting in commerce.php file in you config folder.

Changed

  • Removed settings from CP and made it only available via a commerce-widgets.php config file.

Added

  • Added excludeEmailAddresses config setting to allow excluding of orders/customers via email across all widgets (#28)
  • Added limit option to TopCustomers widget

Fixed

  • Data totals were being pulled through even when orders were trashed (#27)
  • Order totals and revenue totals were being pulled through even if the order wasn't complete
  • Customers are now grouped by email address only on the TopCustomers widget, fixing an issue where duplicates appeared

Version 2.0.16

July 10, 2019

Fixed

  • Completed carts value on CartAbandonment widget not grouped by month and year, not just month
  • The 'Today' value now matches the current day, not the first day of the week on TotalRevenueOrders widget

Changed

  • Product titles now trim if they are above 40 characters

Version 2.0.15

June 3, 2019

Fixed

  • Fixed step count issue by removing step value on CartAbandonment widget

Version 2.0.14

May 14, 2019

Fixed

  • Issue with MySQL 5.7 on CartAbandonment widget

Added

  • Added year to the 'Month' date on the TotalRevenueOrders widget

Version 2.0.13

May 14, 2019

Fixed

  • Plural spelling on CartAbandonment widget

Changed

  • Step size to work better with large quantity of orders on CartAbandonment widget

Version 2.0.12

May 14, 2019

Fixed

  • Total data now outputs week and month correctly on TotalRevenueOrders widget
  • Issue with Verbb Gift Voucher on ProductsTop (#20)
  • Graph now outputs the correct values on CartAbandonment widget
  • Removed deprecated round() function (#22)
  • userIdByCustomerId not prefixed on customers table (#23)

Changed

  • Column title on ProductsTop widget now Orders not Ordered (#17)

Added

  • Subscription Plan URL added to the plans on SubscriptionPlans widget

Version 2.0.11

January 7, 2019

Added

  • Added Order Status setting to the Top Products Widget.

Version 2.0.10

January 4, 2019

Fixed

  • groupBy issue with MySQL 5.7 on some widgets
  • Week was showing incorrectly in the Goal widget
  • Installing the plugin now populates the cache setting by default

Changed

  • When no elements exist on a widget they now show a message

Version 2.0.9

October 30, 2018

Added

  • New Widget Top Products Widget - See your top products ordered by Revenue or # Ordered
  • Cache to queries to speed up the CMS
  • cacheDuration setting in plugin settings.
  • Added FontAwesome to some widget templates

Changed

  • Changed the class of the RecentProducts to ProductsRecent to keep widgets organised going forward.

Fixed

  • Number formatting across all widgets now formats when the value is more than 2 numbers

Version 2.0.8

October 15, 2018

Changed

  • Charts are now flexible to larger browsers
  • Altered the stepSize on the Cart Abandonment widget for stores that have large amounts of carts.

Version 2.0.7

October 15, 2018

Fixed

  • Fix prefixed tables on join queries #9

Version 2.0.6

October 14, 2018

Fixed

  • Fix prefixed tables #9

Version 2.0.5

October 11, 2018

Fixed

  • Fix for classes not loading on case sensitive environments

Version 2.0.4

October 10, 2018

Changed

  • License from MIT to Craft

Version 2.0.3

October 9, 2018

Added

  • Subscriptions widget

Fixed

  • Show all products regardless of status

Changed

  • Removed redundant code
  • Removed settings from customers widget

Version 2.0.2

October 8, 2018

Changed

  • Tidying up and updating the versions

Version 2.0.1

October 8, 2018

Fixed

  • Minor bugs for stores that are empty (Initial installs)

Version 2.0.0

October 8, 2018

Added

  • Initial release