Version 5.1.0
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
activeCartDurationsetting) 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
totalPriceinstead oftotalPaidfor 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
totalPriceinstead oftotalPaidfor 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
Changed
- Icon to a new shiny (literally) icon
Version 5.0.0
Changed
- Craft 5 compatibility
Version 3.0.0
Changed
- Now requires PHP ^8.0.0.
- Now requires Craft CMS ^4.0.0
Version 2.0.21
Fixed
- GROUP_BY error in 5.7 on TopCustomers widget
Version 2.0.20
Fixed
- Namespace on asset bundle which is now case sensitive (Thanks to @matt-adigital)
Version 2.0.19
Changed
- Minor visual adjustment to make
TopCustomersandProductTopwidgets the same styling
Version 2.0.18
Fixed
- Added a default limit on
TopCustomerswidget to fix issue where it pulls all customers in if the widget already existed on the dashboard
Version 2.0.17
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.phpconfig 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
purgeInactiveCartsDurationsetting incommerce.phpfile in you config folder.
Changed
- Removed settings from CP and made it only available via a
commerce-widgets.phpconfig file.
Added
- Added
excludeEmailAddressesconfig setting to allow excluding of orders/customers via email across all widgets (#28) - Added limit option to
TopCustomerswidget
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
TopCustomerswidget, fixing an issue where duplicates appeared
Version 2.0.16
Fixed
- Completed carts value on
CartAbandonmentwidget 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
TotalRevenueOrderswidget
Changed
- Product titles now trim if they are above 40 characters
Version 2.0.15
Fixed
- Fixed step count issue by removing step value on
CartAbandonmentwidget
Version 2.0.14
Fixed
- Issue with MySQL 5.7 on
CartAbandonmentwidget
Added
- Added year to the 'Month' date on the
TotalRevenueOrderswidget
Version 2.0.13
Fixed
- Plural spelling on
CartAbandonmentwidget
Changed
- Step size to work better with large quantity of orders on
CartAbandonmentwidget
Version 2.0.12
Fixed
- Total data now outputs week and month correctly on
TotalRevenueOrderswidget - Issue with Verbb Gift Voucher on
ProductsTop(#20) - Graph now outputs the correct values on
CartAbandonmentwidget - Removed deprecated
round()function (#22) userIdByCustomerIdnot prefixed on customers table (#23)
Changed
- Column title on
ProductsTopwidget now Orders not Ordered (#17)
Added
- Subscription Plan URL added to the plans on
SubscriptionPlanswidget
Version 2.0.11
Added
- Added
Order Statussetting to the Top Products Widget.
Version 2.0.10
Fixed
groupByissue 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
Added
- New Widget Top Products Widget - See your top products ordered by Revenue or # Ordered
- Cache to queries to speed up the CMS
cacheDurationsetting in plugin settings.- Added FontAwesome to some widget templates
Changed
- Changed the class of the
RecentProductstoProductsRecentto 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
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
Fixed
- Fix prefixed tables on join queries #9
Version 2.0.6
Fixed
- Fix prefixed tables #9
Version 2.0.5
Fixed
- Fix for classes not loading on case sensitive environments
Version 2.0.4
Changed
- License from MIT to Craft
Version 2.0.3
Added
- Subscriptions widget
Fixed
- Show all products regardless of status
Changed
- Removed redundant code
- Removed settings from customers widget
Version 2.0.2
Changed
- Tidying up and updating the versions
Version 2.0.1
Fixed
- Minor bugs for stores that are empty (Initial installs)
Version 2.0.0
Added
- Initial release