Skip to content

V2.0.0

Choose a tag to compare

@daunampc daunampc released this 06 Jun 03:10
· 9 commits to main since this release

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-stats

3. 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
  • WhatsApp
  • 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_options capability 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

Dashboard tabs and URL tracking filters now update through AJAX where possible.


Fixed Noisy Tracking from Bots and Crawlers

Known bots, crawlers, and custom user agent keywords can now be excluded from tracking.

This helps prevent inflated visit counts and inaccurate conversion rates.


Fixed Internal / Admin Traffic Pollution

Specific IP addresses can now be excluded from plugin tracking.

This helps prevent owner, developer, or staff traffic from polluting funnel reports.


Fixed Limited Date Filtering

The dashboard now supports richer date ranges and comparison periods.

Admins can compare performance against:

  • Previous period
  • Previous year

Fixed Weak Import / Export Coverage

Import/export now supports more plugin-related data and includes metadata for safer restoration.


Fixed Inconsistent Tracking Decisions

Tracking write paths now use a shared request-checking flow so exclusions and settings are applied more consistently.


🔐 Security Notes

This release improves security around admin actions and data handling.

Added protection for:

  • Settings saves
  • AJAX report loading
  • Data refresh actions
  • Import actions
  • Export actions

All sensitive admin actions require proper permissions and nonce validation.


⚙️ Developer Notes

Important updated or added areas may include:

dn-burst-funnel-stats.php
includes/admin-menu.php
includes/dashboard.php
includes/settings.php
includes/import-export.php
includes/ajax.php
includes/tracking.php
includes/helpers.php
includes/date-ranges.php
assets/admin.js
assets/admin.css

New helper logic may include:

dn_bfs_should_track_request()
dn_bfs_is_ip_excluded()
dn_bfs_is_bot_request()

New or updated plugin options may include:

dn_burst_funnel_stats_schema_version
dn_bfs_excluded_ips
dn_bfs_exclude_bots
dn_bfs_custom_bot_user_agents
dn_bfs_page_tracking_mode
dn_bfs_selected_pages
dn_bfs_product_tracking_mode
dn_bfs_selected_products
dn_bfs_default_date_range
dn_bfs_default_comparison

✅ Upgrade Notes

Existing users should be able to upgrade without losing historical stats.

Recommended after upgrade:

  1. Open Funnel Stats → Settings
  2. Review page/product tracking settings
  3. Add internal IP addresses to the exclusion list
  4. Keep bot/crawler exclusion enabled
  5. Open the dashboard and click Update now
  6. Verify charts, tables, and date filters display correctly

📦 Version

2.0.0

Summary

Version 2.0.0 is a major feature release focused on turning DN Burst Funnel Stats into a cleaner, more accurate, and more professional WooCommerce funnel analytics dashboard.

Main highlights:

  • Standalone admin dashboard
  • AJAX reports
  • URL tracking table
  • Import/export
  • IP exclusions
  • Bot/crawler exclusions
  • WooCommerce-style date filtering
  • Dashboard charts
  • Data status refresh
  • Better security
  • Better compatibility
  • Cleaner tracking data