Releases: daunampc/dn-burst-funnel-stats
Release list
V2.2.0
Timezone fixes for daily reporting
This release fixes incorrect chart data and conversion rates on sites running in a timezone other than UTC.
🐛 Bug fixes
Visit data bucketed into the wrong day
The daily statistics query used DATE(FROM_UNIXTIME(time)), which resolves against the MySQL server timezone rather than the timezone configured in WordPress. On a site set to UTC-4, every pageview between 20:00 and 23:59 local time was assigned to the following day.
This caused:
Wrong columns in the Sales / Orders and Conversion Rate charts.
Records pushed outside the selected date range disappearing entirely from the charts.
Conversion rate pairing one day's visits with another day's orders — wrong on both the numerator and the denominator.
Day boundaries are now computed in PHP using DateTimeImmutable with wp_timezone(), then passed to SQL as Unix timestamps. The MySQL timezone no longer affects results.
"Last updated" displayed with an offset
The value was stored using current_time( 'timestamp' ) — which already includes the site offset — and then passed through wp_date(), applying the offset a second time. On a UTC-4 site this made the line disagree with "Next update" directly beside it by four hours. It now stores a true UTC timestamp via time().
Order creation dates
Day-key calculation for orders was rewritten to resolve explicitly through wp_timezone(), guaranteeing it matches the day keys generated for visit data. It also no longer mutates the order's WC_DateTime object.
✨ Improvements
Added a Timezone check diagnostic page to the plugin menu, comparing WordPress, PHP, and MySQL timezones and counting how many stored records are actually affected.
Added current_start_gmt, current_end_gmt, previous_start_gmt, and previous_end_gmt to the date range data.
After updating, clear the dashboard cache so figures are recalculated:
Burst Funnel Stats → Data status → Update now
Recommended: in Settings → General, select a named timezone (for example America/New_York) rather than a fixed UTC offset such as UTC-4. Fixed offsets do not follow daylight saving time, which shifts reports by an additional hour after each transition.
Add To Cart data recorded before this release keeps its original day keys and cannot be recalculated. Figures will be consistent from the point of upgrade onward.
V2.1.1
Fixed
- Dashboard stats now count all WooCommerce order statuses except
cancelled. - Custom statuses such as
Fulfillmentare now included in Orders, Sales, Items, Conversion, charts, and report tabs. - Fixed Fulfillment Orders card showing incorrect totals caused by only counting
processingorders. - Kept the existing dashboard layout and stat display unchanged while correcting the underlying order calculations.
V2.1.0
v2.1.0 — WooCommerce-style Dashboard UI Refresh
This release improves the Funnel Stats admin dashboard with a cleaner WooCommerce Analytics-inspired interface and more readable reporting charts.
What's New
- Redesigned the Funnel Stats dashboard layout to better match the WooCommerce Analytics style.
- Updated the top header and toolbar layout for better spacing, alignment, and full-width presentation.
- Moved the Date Range and Data Status controls into a clearer secondary toolbar area.
- Improved stats card spacing, typography, alignment, and responsive behavior.
- Kept all existing stats and metric calculations unchanged.
Chart Improvements
- Improved line chart readability with clearer axes, grid lines, markers, labels, and spacing.
- Enhanced chart card layout for better visual hierarchy.
- Improved Funnel visualization so users can better understand the flow from visits to orders.
- Improved Conversion Rate chart formatting for clearer percentage display.
- Improved Top Campaigns by Sales presentation for easier reading.
Stability
- Preserved existing date range behavior.
- Preserved all dashboard tabs:
- Overview
- Brands
- Ad URLs
- Countries
- Devices
- Products
- Preserved existing data logic, stats calculations, and WooCommerce reporting behavior.
- Improved responsive layout across desktop, tablet, and mobile admin views.
Recommended
After updating, clear browser cache if the old admin CSS or JavaScript is still visible.
V2.0.1
Release v2.0.1 — Dashboard UI & Cache Fix Patch
Version 2.0.1 is a patch release for DN Burst Funnel Stats focused on improving dashboard UI quality, fixing LiteSpeed/cache-related dashboard freshness, and polishing analytics chart rendering after the 2.0.0 release.
✨ Improvements
Dashboard UI polish
Improved the main Funnel Stats dashboard layout to make it cleaner and closer to a WooCommerce Analytics-style interface.
Updated areas include:
- Cleaner dashboard header layout
- Better spacing between title, notices, tabs, and date range picker
- More professional card-based dashboard appearance
- Better responsive behavior on smaller screens
Improved date range control
Updated the date range selector UI.
Changes include:
- Added calendar icon
- Added dropdown arrow icon
- Improved button spacing
- Better alignment on the right side of the dashboard header
- Cleaner display for current range and comparison range
V2.0.0
Release v2.0.0 — Funnel Stats Dashboard Upgrade
This release introduces a major upgrade for DN Burst Funnel Stats, turning the plugin into a more complete WooCommerce funnel analytics dashboard with improved tracking controls, AJAX reporting, import/export support, date filtering, charts, and better admin UX.
🚀 New Features
1. Standalone Admin Menu
Added a dedicated top-level WordPress admin menu for the plugin.
New menu:
Funnel Stats- Dashboard page
- Settings page
- Import / Export page
- URL Tracking / Ad URLs reporting area
This makes the plugin easier to access and no longer dependent on being hidden inside another admin menu.
2. Full English Admin Dashboard
Updated the plugin admin interface so all visible dashboard content is now in English.
Updated UI text includes:
- Dashboard headings
- Tabs
- Buttons
- Table headers
- Empty states
- Admin notices
- Settings labels
- Import / export messages
- AJAX loading messages
- Error messages
All text is prepared for translation using the plugin text domain:
dn-burst-funnel-stats3. Dashboard and Settings Links on Plugin List Page
Added quick action links under the plugin name on the WordPress Plugins page.
New plugin action links:
- Dashboard
- Settings
This allows admins to open the plugin dashboard or settings directly from the Plugins screen.
4. Complete Funnel Analytics Dashboard
Added a fuller dashboard experience for funnel performance tracking.
Dashboard metrics include:
- Visits
- Add To Cart
- Checkout
- Orders
- Items
- Sales
- Profits
- Conversion Rate
The dashboard now provides a clearer overview of store performance and customer funnel movement.
5. AJAX Dashboard Tabs
Improved dashboard navigation with AJAX-powered tabs.
Tabs can now update smoothly without requiring a full page reload.
Supported dashboard tabs:
- Overview
- Brands
- Ad URLs
- Countries
- Devices
- Products
A fallback is preserved for environments where JavaScript is disabled.
6. AJAX Ad URLs / URL Tracking Table
Added and improved the Ad URLs table with AJAX updates.
The table now supports grouping URL parameter performance by:
- Campaign
- Source
- Medium
Supported URL parameters:
Campaign:
utm_campaign
campaign
Source:
utm_source
source
Medium:
utm_medium
medium
If a value is missing, the table displays:
N/A
Table columns:
- URL Param
- Visits
- Add To Cart
- Checkout
- Orders
- Items
- Sales
- Profits
- Conversion Rate
The table now updates smoothly when switching between Campaign, Source, and Medium.
7. Import / Export System
Added a new Import / Export page for backing up and restoring plugin data.
Export Includes
- Plugin settings
- Tracking settings
- Add-to-cart tracking data
- Page tracking configuration
- Product tracking configuration
- URL tracking configuration
- Plugin schema/version metadata
Export Metadata
The exported JSON includes:
- Plugin name
- Plugin version
- Export date
- Site URL
- Data schema version
Import Modes
Added two import modes:
- Merge with existing data
- Replace existing data
The import process validates JSON structure, checks permissions, uses nonces, sanitizes imported values, and avoids deleting existing data unless explicitly requested.
8. Page and Product Tracking Settings
Added settings to control which pages and products should be tracked.
Page Tracking Modes
- Track full site / full page tracking
- Track only selected pages
Product Tracking Modes
- Track all product pages
- Track only selected products
WooCommerce important pages are supported, including:
- Shop
- Cart
- Checkout
- My Account
- Product pages
This gives admins better control over what traffic should be included in funnel reports.
9. IP Exclusion Rules
Added IP exclusion support to prevent specific visitors from being tracked.
Admins can now add excluded IP addresses in plugin settings.
Supported input:
- IPv4
- IPv6
- One IP address per line
- Optional CIDR-style ranges if supported by the environment
When a visitor IP matches the exclusion list, the plugin no longer records tracking data for that request.
This applies to plugin tracking only and does not affect normal WooCommerce behavior.
10. Bot and Crawler Exclusion Rules
Added bot and crawler filtering to reduce polluted analytics data.
New settings include:
- Exclude known bots and crawlers
- Custom bot user agent keywords
Default bot detection includes common crawlers such as:
- Googlebot
- AdsBot-Google
- Bingbot
- DuckDuckBot
- Facebook External Hit
- TelegramBot
- DiscordBot
- AhrefsBot
- SemrushBot
- MJ12Bot
- DotBot
- PetalBot
- Generic bot/crawler/spider user agents
Matching is case-insensitive.
Bot traffic is ignored by the plugin tracking system and no longer creates unnecessary stats records.
11. Central Tracking Gate
Added a reusable tracking gate to prevent invalid tracking writes.
The plugin now checks whether a request should be tracked before writing stats.
Tracking can be skipped when:
- The visitor IP is excluded
- The request is detected as bot/crawler traffic
- Tracking is disabled
- The current page is not allowed by tracking settings
- The request is not suitable for frontend tracking
This improves data accuracy and keeps analytics cleaner.
12. WooCommerce-Style Date Range Picker
Added an improved date range selector similar to WooCommerce Analytics.
Supported preset ranges:
- Today
- Yesterday
- Week to date
- Last week
- Month to date
- Last month
- Quarter to date
- Last quarter
- Year to date
- Last year
Supported comparison modes:
- None
- Previous period
- Previous year
The date picker now supports AJAX updates so the dashboard can refresh without a full page reload.
13. Custom Date Range Support
Added custom date range selection.
Admins can now select:
- Custom start date
- Custom end date
- Comparison mode
Date values are validated server-side and use the WordPress timezone for consistency.
14. Dashboard Charts
Added chart support to make analytics easier to understand visually.
New chart sections include:
- Funnel chart
- Sales over time chart
- Orders over time chart
- Profits chart
- Conversion rate chart
- Optional top performers chart
Charts update when the date range or comparison mode changes.
The dashboard now has better visual reporting instead of relying only on tables.
15. Data Status Panel
Added a data status area for better visibility into report freshness.
The panel displays:
- Last updated time
- Next update time
- Update now action
The Update now button can refresh plugin report data through AJAX with nonce and permission checks.
16. Better Admin Assets
Moved admin JavaScript and CSS into proper asset files where possible.
Added or improved:
assets/admin.js
assets/admin.css
Assets are only loaded on plugin admin pages to avoid affecting other WordPress admin screens.
🛠 Improvements
Improved Admin UX
- Cleaner dashboard layout
- Better tab navigation
- Better loading states
- Better empty states
- More consistent formatting
- More WooCommerce-like reporting experience
Improved URL Parameter Reporting
URL tracking now handles common campaign/source/medium values more clearly.
Examples of supported values include:
google_ad
abandoned_email
ai_design
Product slug-style URL values are also kept compatible.
Improved Currency and Percentage Formatting
Money and percentage values are now formatted more consistently.
Examples:
- Sales and profits use WooCommerce currency formatting.
- Conversion rate uses percentage formatting.
- Empty values are displayed safely as zero values.
Improved Backward Compatibility
Existing plugin data and options are preserved.
The update adds safe default values for new settings instead of removing or replacing existing data.
New defaults include:
- Empty IP exclusion list
- Bot exclusion enabled by default
- Empty custom bot keyword list
- Default dashboard date range
- Default comparison mode
- Updated schema version option
Improved Security
Added stronger validation and permission checks across admin features.
Security improvements include:
- Nonce checks for settings forms
- Nonce checks for import/export actions
- Nonce checks for AJAX endpoints
manage_optionscapability checks- Sanitized settings input
- Sanitized import data
- Escaped output
- Safer handling of
$_GET,$_POST, and$_SERVER - Prepared SQL queries where dynamic SQL is required
Improved Performance
Added improvements to reduce unnecessary loading and tracking writes.
Performance improvements include:
- Admin assets load only on plugin pages
- Bot/crawler requests can be ignored
- Excluded IP requests can be ignored
- Dashboard data can be refreshed with AJAX
- Heavy updates are protected behind admin actions
- Tracking writes are skipped earlier when requests should not be tracked
🐛 Fixes
Fixed Dashboard Accessibility
The dashboard is now easier to access through a dedicated top-level admin menu and plugin action links.
Fixed Mixed or Incomplete Admin Language
Visible admin UI text has been standardized to English.
Fixed Full Page Reloads on Dashboard Navigation
Dashbo...
V1.0.7
fix: update plugin version and restore tracking counts
- Update plugin version to 1.0.6.1
- Fix Add to Cart tracking not recording real frontend users
- Allow WooCommerce AJAX add_to_cart requests
- Allow frontend GET/POST add-to-cart requests
- Fix quantity tracking to use actual cart quantity
- Improve Product Visits detection for custom product permalink bases
- Keep plugin behavior unchanged, no new features added
V1.0.6
V1.0.5
Version 1.0.5
Fixed
- Added bot detection for Add To Cart tracking.
- Prevented crawlers, cache preloaders, uptime monitors, and automated requests from inflating Add To Cart statistics.
- Added basic IP-based rate limiting to reduce repeated fake Add To Cart events.
- Improved Add To Cart tracking accuracy by ignoring suspicious non-human traffic.
- Reduced unnecessary writes to the WordPress
optionstable fordn_atc_hits_*anddn_atc_qty_*.
Notes
This update helps ensure that Add To Cart stats only reflect real customer behavior instead of automated bot or crawler traffic.
V1.0.3
v1.0.3
Fixed
- Fixed plugin activation being blocked when Burst Pro is installed instead of the free Burst Statistics plugin.
- Removed
burst-statisticsfrom the WordPressRequires Pluginsheader because WordPress does not support alternative plugin requirements. - Kept WooCommerce as the only hard dependency in the plugin header.
- Added manual dependency handling so the plugin now accepts either:
burst-statistics/burst.phpburst-pro/burst.php
Changed
- Dependency notice now correctly informs users that either Burst Statistics or Burst Pro is required.
- Improved compatibility for stores using the Pro version of Burst.
Notes
WooCommerce is still required.
Sites using Burst Pro no longer need to install or activate the free Burst Statistics plugin just to enable DN Burst Funnel Stats.