{"id":226093,"date":"2025-03-26T20:51:33","date_gmt":"2025-03-26T20:51:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/brikpanel-admin-panel-dashboard-for-woocommerce\/"},"modified":"2026-05-24T17:35:11","modified_gmt":"2026-05-24T17:35:11","slug":"brikpanel-admin-panel-dashboard-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/lv.wordpress.org\/plugins\/brikpanel-admin-panel-dashboard-for-woocommerce\/","author":21214773,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.1.0","stable_tag":"3.1.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"BrikPanel: WooCommerce Admin Dashboard Theme","header_author":"Brksoft","header_description":"Beautiful and modern admin panel dashboard for WooCommerce","assets_banners_color":"d3d3d3","last_updated":"2026-05-24 17:35:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/brksoft.com\/","rating":5,"author_block_rating":0,"active_installs":100,"downloads":6657,"num_ratings":14,"support_threads":11,"support_threads_resolved":11,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.5":{"tag":"1.1.5","author":"brksoft","date":"2025-03-26 20:51:12"},"1.1.6":{"tag":"1.1.6","author":"brksoft","date":"2025-03-27 14:36:46"},"1.1.7":{"tag":"1.1.7","author":"brksoft","date":"2025-03-27 14:46:41"},"1.1.8":{"tag":"1.1.8","author":"brksoft","date":"2025-03-28 06:46:44"},"1.1.9":{"tag":"1.1.9","author":"brksoft","date":"2025-03-31 11:36:00"},"1.2.0":{"tag":"1.2.0","author":"brksoft","date":"2025-04-03 10:54:12"},"1.2.1":{"tag":"1.2.1","author":"brksoft","date":"2025-04-06 19:08:18"},"1.2.2":{"tag":"1.2.2","author":"brksoft","date":"2025-04-14 00:16:27"},"1.2.3":{"tag":"1.2.3","author":"brksoft","date":"2025-05-02 11:03:13"},"1.2.4":{"tag":"1.2.4","author":"brksoft","date":"2025-05-06 09:55:52"},"1.2.5":{"tag":"1.2.5","author":"brksoft","date":"2025-05-06 10:03:56"},"1.2.6":{"tag":"1.2.6","author":"brksoft","date":"2025-05-12 15:58:13"},"1.2.7":{"tag":"1.2.7","author":"brksoft","date":"2025-05-27 16:52:20"},"1.2.8":{"tag":"1.2.8","author":"brksoft","date":"2025-05-27 17:03:06"},"1.2.9":{"tag":"1.2.9","author":"brksoft","date":"2025-06-04 11:00:59"},"1.3.0":{"tag":"1.3.0","author":"brksoft","date":"2025-06-25 16:27:59"},"1.3.1":{"tag":"1.3.1","author":"brksoft","date":"2025-07-08 09:03:38"},"1.3.2":{"tag":"1.3.2","author":"brksoft","date":"2025-07-09 08:11:49"},"1.3.3":{"tag":"1.3.3","author":"brksoft","date":"2025-10-14 11:15:15"},"1.4.2":{"tag":"1.4.2","author":"brksoft","date":"2026-01-13 05:54:20"},"1.4.3":{"tag":"1.4.3","author":"brksoft","date":"2026-01-13 06:07:33"},"1.4.5":{"tag":"1.4.5","author":"brksoft","date":"2026-01-13 11:41:16"},"1.4.6":{"tag":"1.4.6","author":"brksoft","date":"2026-03-14 13:57:33"},"1.5.1":{"tag":"1.5.1","author":"brksoft","date":"2026-04-02 16:01:47"},"2.0.0":{"tag":"2.0.0","author":"brksoft","date":"2026-04-08 18:39:28"},"2.0.1":{"tag":"2.0.1","author":"brksoft","date":"2026-04-08 19:22:22"},"2.0.2":{"tag":"2.0.2","author":"brksoft","date":"2026-04-09 11:07:04"},"2.0.3":{"tag":"2.0.3","author":"brksoft","date":"2026-04-10 14:34:11"},"2.0.4":{"tag":"2.0.4","author":"brksoft","date":"2026-04-10 16:28:51"},"2.0.5":{"tag":"2.0.5","author":"brksoft","date":"2026-04-12 09:15:16"},"2.0.6":{"tag":"2.0.6","author":"brksoft","date":"2026-04-13 11:56:34"},"2.0.7":{"tag":"2.0.7","author":"brksoft","date":"2026-04-13 11:56:34"},"2.1.0":{"tag":"2.1.0","author":"brksoft","date":"2026-04-16 14:33:55"},"2.1.1":{"tag":"2.1.1","author":"brksoft","date":"2026-04-17 07:39:15"},"2.1.2":{"tag":"2.1.2","author":"brksoft","date":"2026-04-17 19:46:56"},"2.1.3":{"tag":"2.1.3","author":"brksoft","date":"2026-04-18 15:34:29"},"2.1.4":{"tag":"2.1.4","author":"brksoft","date":"2026-04-18 16:39:39"},"2.1.5":{"tag":"2.1.5","author":"brksoft","date":"2026-04-19 19:44:18"},"2.1.6":{"tag":"2.1.6","author":"brksoft","date":"2026-04-20 14:00:14"},"2.1.7":{"tag":"2.1.7","author":"brksoft","date":"2026-04-20 17:01:47"},"2.1.8":{"tag":"2.1.8","author":"brksoft","date":"2026-04-22 09:03:25"},"2.5.0":{"tag":"2.5.0","author":"brksoft","date":"2026-04-25 21:03:55"},"2.5.2":{"tag":"2.5.2","author":"brksoft","date":"2026-04-27 18:54:32"},"2.5.3":{"tag":"2.5.3","author":"brksoft","date":"2026-04-28 10:14:43"},"2.6.0":{"tag":"2.6.0","author":"brksoft","date":"2026-04-28 17:41:24"},"2.6.1":{"tag":"2.6.1","author":"brksoft","date":"2026-04-29 12:46:23"},"2.7.0":{"tag":"2.7.0","author":"brksoft","date":"2026-05-04 14:15:02"},"2.7.1":{"tag":"2.7.1","author":"brksoft","date":"2026-05-04 16:29:05"},"2.8.0":{"tag":"2.8.0","author":"brksoft","date":"2026-05-07 16:42:37"},"2.8.1":{"tag":"2.8.1","author":"brksoft","date":"2026-05-07 17:12:57"},"2.8.2":{"tag":"2.8.2","author":"brksoft","date":"2026-05-08 16:28:44"},"2.8.3":{"tag":"2.8.3","author":"brksoft","date":"2026-05-09 13:46:45"},"2.8.4":{"tag":"2.8.4","author":"brksoft","date":"2026-05-09 20:28:39"},"2.8.5":{"tag":"2.8.5","author":"brksoft","date":"2026-05-10 07:52:04"},"2.8.6":{"tag":"2.8.6","author":"brksoft","date":"2026-05-11 18:01:49"},"2.9.2":{"tag":"2.9.2","author":"brksoft","date":"2026-05-13 19:01:50"},"2.9.3":{"tag":"2.9.3","author":"brksoft","date":"2026-05-13 19:01:50"},"2.9.4":{"tag":"2.9.4","author":"brksoft","date":"2026-05-13 19:01:50"},"3.0.0":{"tag":"3.0.0","author":"brksoft","date":"2026-05-15 11:28:10"},"3.0.1":{"tag":"3.0.1","author":"brksoft","date":"2026-05-17 14:53:09"},"3.0.2":{"tag":"3.0.2","author":"brksoft","date":"2026-05-17 19:16:49"},"3.0.3":{"tag":"3.0.3","author":"brksoft","date":"2026-05-18 06:29:27"},"3.0.4":{"tag":"3.0.4","author":"brksoft","date":"2026-05-18 20:21:14"},"3.0.5":{"tag":"3.0.5","author":"brksoft","date":"2026-05-19 07:02:45"},"3.0.6":{"tag":"3.0.6","author":"brksoft","date":"2026-05-19 16:24:56"},"3.0.7":{"tag":"3.0.7","author":"brksoft","date":"2026-05-20 18:26:13"},"3.0.8":{"tag":"3.0.8","author":"brksoft","date":"2026-05-21 17:18:57"},"3.0.9":{"tag":"3.0.9","author":"brksoft","date":"2026-05-22 14:25:27"},"3.1.0":{"tag":"3.1.0","author":"brksoft","date":"2026-05-24 17:35:11"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":14},"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3501915,"resolution":"128x128","location":"assets","locale":"","width":1280,"height":1280},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3501915,"resolution":"256x256","location":"assets","locale":"","width":1280,"height":1280}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3534620,"resolution":"772x250","location":"assets","locale":"","width":2316,"height":750}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.3.2","1.3.3","1.4.2","1.4.3","1.4.5","1.4.6","1.5.1","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.5.0","2.5.2","2.5.3","2.6.0","2.6.1","2.7.0","2.7.1","2.8.0","2.8.1","2.8.2","2.8.3","2.8.4","2.8.5","2.8.6","2.9.2","2.9.3","2.9.4","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3534620,"resolution":"1","location":"assets","locale":"","width":1320,"height":1480},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3534620,"resolution":"10","location":"assets","locale":"","width":1320,"height":980},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3534620,"resolution":"11","location":"assets","locale":"","width":1320,"height":920},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3534620,"resolution":"12","location":"assets","locale":"","width":1320,"height":1040},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3534620,"resolution":"13","location":"assets","locale":"","width":1320,"height":1040},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3534620,"resolution":"14","location":"assets","locale":"","width":1320,"height":1080},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3534620,"resolution":"15","location":"assets","locale":"","width":1320,"height":1080},"screenshot-16.png":{"filename":"screenshot-16.png","revision":3534620,"resolution":"16","location":"assets","locale":"","width":1320,"height":1080},"screenshot-17.png":{"filename":"screenshot-17.png","revision":3534620,"resolution":"17","location":"assets","locale":"","width":1919,"height":1079},"screenshot-18.png":{"filename":"screenshot-18.png","revision":3534620,"resolution":"18","location":"assets","locale":"","width":1320,"height":760},"screenshot-19.png":{"filename":"screenshot-19.png","revision":3534620,"resolution":"19","location":"assets","locale":"","width":1320,"height":760},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3534620,"resolution":"2","location":"assets","locale":"","width":1320,"height":600},"screenshot-20.png":{"filename":"screenshot-20.png","revision":3534620,"resolution":"20","location":"assets","locale":"","width":1280,"height":860},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3534620,"resolution":"3","location":"assets","locale":"","width":1320,"height":880},"screenshot-4.gif":{"filename":"screenshot-4.gif","revision":3534620,"resolution":"4","location":"assets","locale":"","width":1920,"height":1080},"screenshot-5.gif":{"filename":"screenshot-5.gif","revision":3534620,"resolution":"5","location":"assets","locale":"","width":1920,"height":1080},"screenshot-6.gif":{"filename":"screenshot-6.gif","revision":3534620,"resolution":"6","location":"assets","locale":"","width":1920,"height":1080},"screenshot-7.gif":{"filename":"screenshot-7.gif","revision":3534620,"resolution":"7","location":"assets","locale":"","width":1920,"height":1080},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3534620,"resolution":"8","location":"assets","locale":"","width":1320,"height":1180},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3534620,"resolution":"9","location":"assets","locale":"","width":1320,"height":740}},"screenshots":{"1":"<strong>Modern WooCommerce Dashboard<\/strong> \u2014 a real-time WooCommerce sales report and admin panel: Total Sales, Orders, AOV, Visitors and Conversion Rate with period-over-period deltas, an interactive sales chart, Net Profit, ROAS and a live visitors widget","2":"<strong>Real ROAS &amp; Net Profit with Google Ads + Meta Ads<\/strong> \u2014 native Google Ads and Meta (Facebook \/ Instagram) Ads integration that pulls daily ad spend into the dashboard so you see true return on ad spend and net profit next to store revenue","3":"<strong>WooCommerce Google Sheets Sync<\/strong> \u2014 real-time order sync to a Google Sheet, scheduled bulk export, per-status filters and reorderable columns \u2014 a free GSheetConnector alternative","4":"<strong>WooCommerce Inventory Management &amp; Product List<\/strong> \u2014 clean product table with thumbnails, SKU, regular\/sale price, color-coded stock badges, category and a one-click publish toggle, for both simple and variable products","5":"<strong>Quick Edit Sidebar<\/strong> \u2014 a slide-in panel to edit name, prices, SKU, stock and category without ever leaving the product list","6":"<strong>Bulk Edit WooCommerce Products<\/strong> \u2014 bulk update prices, sale prices and stock for the whole catalog, by category or by selection, with full variation support (e.g. only \"Size: XL\")","7":"<strong>Simplified WooCommerce Product Editor<\/strong> \u2014 drag-and-drop image gallery, clean pricing and an inline variation builder for simple and variable products","8":"<strong>WooCommerce Customer Analytics \u2014 Lifetime Value (LTV)<\/strong> \u2014 total customers, average and top customer lifetime value, the full LTV distribution histogram, and a sortable top-customers table","9":"<strong>WooCommerce Customer Analytics \u2014 RFM Segmentation<\/strong> \u2014 every customer scored on Recency, Frequency and Monetary and grouped into Champions, Loyal, At Risk, Hibernating, About to Sleep and Lost, with revenue per segment","10":"<strong>WooCommerce Customer Analytics \u2014 Cohort Retention<\/strong> \u2014 a month-by-month cohort retention grid plus an average retention by month-offset trend","11":"<strong>Geographic Analytics \u2014 WooCommerce Sales by Country<\/strong> \u2014 a 3D globe of order locations with Top Countries and Top Cities by orders and revenue","12":"<strong>Live Visitors &amp; Conversion Funnel<\/strong> \u2014 real-time WooCommerce live visitors with cart status, plus the Visitors \u2192 Add to Cart \u2192 Checkout \u2192 Orders conversion funnel and order-status breakdown","13":"<strong>Lightning-Fast Order Search (Cmd\/Ctrl + K)<\/strong> \u2014 an instant order search overlay across order ID, customer name, email, phone and product SKU from anywhere in wp-admin","14":"<strong>Segments \u2014 Orders Explorer<\/strong> \u2014 saved segments and quick filters with totals (orders, revenue, AOV) and a clean order list with location, payment method and status","15":"<strong>Segments \u2014 Customers Explorer<\/strong> \u2014 a segmentable customer list (new, repeat, VIP, dormant, high value) with total spent, AOV and first\/last order","16":"<strong>Modern WooCommerce Order Management<\/strong> \u2014 a redesigned orders page with a 30-day overview bar, color-coded status tabs and inline status change","17":"<strong>WooCommerce Categories Page<\/strong> \u2014 drag-and-drop parent\/child category and tag management with circular-reference protection","18":"<strong>WooCommerce Coupon Manager<\/strong> \u2014 a clean coupon table with discount-type badges, usage stats, revenue and expiry highlighting","19":"<strong>Add Coupon Slide-Over Panel<\/strong> \u2014 create or edit coupons with all WooCommerce coupon options without leaving the page","20":"<strong>Custom WP Login Page<\/strong> \u2014 a modern, branded login screen that replaces the default WordPress login"}},"plugin_section":[],"plugin_tags":[25296,257359,230338,76265,156984],"plugin_category":[],"plugin_contributors":[232895],"plugin_business_model":[],"class_list":["post-226093","plugin","type-plugin","status-publish","hentry","plugin_tags-google-sheets","plugin_tags-roas","plugin_tags-woocommerce-bulk-editor","plugin_tags-woocommerce-dashboard","plugin_tags-woocommerce-inventory-management","plugin_contributors-brksoft","plugin_committers-brksoft","plugin_support_reps-niyht"],"banners":{"banner":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/banner-772x250.png?rev=3534620","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/icon-128x128.gif?rev=3501915","icon_2x":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/icon-256x256.gif?rev=3501915","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-1.png?rev=3534620","caption":"<strong>Modern WooCommerce Dashboard<\/strong> \u2014 a real-time WooCommerce sales report and admin panel: Total Sales, Orders, AOV, Visitors and Conversion Rate with period-over-period deltas, an interactive sales chart, Net Profit, ROAS and a live visitors widget"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-2.png?rev=3534620","caption":"<strong>Real ROAS &amp; Net Profit with Google Ads + Meta Ads<\/strong> \u2014 native Google Ads and Meta (Facebook \/ Instagram) Ads integration that pulls daily ad spend into the dashboard so you see true return on ad spend and net profit next to store revenue"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-3.png?rev=3534620","caption":"<strong>WooCommerce Google Sheets Sync<\/strong> \u2014 real-time order sync to a Google Sheet, scheduled bulk export, per-status filters and reorderable columns \u2014 a free GSheetConnector alternative"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-4.gif?rev=3534620","caption":"<strong>WooCommerce Inventory Management &amp; Product List<\/strong> \u2014 clean product table with thumbnails, SKU, regular\/sale price, color-coded stock badges, category and a one-click publish toggle, for both simple and variable products"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-5.gif?rev=3534620","caption":"<strong>Quick Edit Sidebar<\/strong> \u2014 a slide-in panel to edit name, prices, SKU, stock and category without ever leaving the product list"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-6.gif?rev=3534620","caption":"<strong>Bulk Edit WooCommerce Products<\/strong> \u2014 bulk update prices, sale prices and stock for the whole catalog, by category or by selection, with full variation support (e.g. only \"Size: XL\")"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-7.gif?rev=3534620","caption":"<strong>Simplified WooCommerce Product Editor<\/strong> \u2014 drag-and-drop image gallery, clean pricing and an inline variation builder for simple and variable products"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-8.png?rev=3534620","caption":"<strong>WooCommerce Customer Analytics \u2014 Lifetime Value (LTV)<\/strong> \u2014 total customers, average and top customer lifetime value, the full LTV distribution histogram, and a sortable top-customers table"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-9.png?rev=3534620","caption":"<strong>WooCommerce Customer Analytics \u2014 RFM Segmentation<\/strong> \u2014 every customer scored on Recency, Frequency and Monetary and grouped into Champions, Loyal, At Risk, Hibernating, About to Sleep and Lost, with revenue per segment"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-10.png?rev=3534620","caption":"<strong>WooCommerce Customer Analytics \u2014 Cohort Retention<\/strong> \u2014 a month-by-month cohort retention grid plus an average retention by month-offset trend"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-11.png?rev=3534620","caption":"<strong>Geographic Analytics \u2014 WooCommerce Sales by Country<\/strong> \u2014 a 3D globe of order locations with Top Countries and Top Cities by orders and revenue"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-12.png?rev=3534620","caption":"<strong>Live Visitors &amp; Conversion Funnel<\/strong> \u2014 real-time WooCommerce live visitors with cart status, plus the Visitors \u2192 Add to Cart \u2192 Checkout \u2192 Orders conversion funnel and order-status breakdown"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-13.png?rev=3534620","caption":"<strong>Lightning-Fast Order Search (Cmd\/Ctrl + K)<\/strong> \u2014 an instant order search overlay across order ID, customer name, email, phone and product SKU from anywhere in wp-admin"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-14.png?rev=3534620","caption":"<strong>Segments \u2014 Orders Explorer<\/strong> \u2014 saved segments and quick filters with totals (orders, revenue, AOV) and a clean order list with location, payment method and status"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-15.png?rev=3534620","caption":"<strong>Segments \u2014 Customers Explorer<\/strong> \u2014 a segmentable customer list (new, repeat, VIP, dormant, high value) with total spent, AOV and first\/last order"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-16.png?rev=3534620","caption":"<strong>Modern WooCommerce Order Management<\/strong> \u2014 a redesigned orders page with a 30-day overview bar, color-coded status tabs and inline status change"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-17.png?rev=3534620","caption":"<strong>WooCommerce Categories Page<\/strong> \u2014 drag-and-drop parent\/child category and tag management with circular-reference protection"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-18.png?rev=3534620","caption":"<strong>WooCommerce Coupon Manager<\/strong> \u2014 a clean coupon table with discount-type badges, usage stats, revenue and expiry highlighting"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-19.png?rev=3534620","caption":"<strong>Add Coupon Slide-Over Panel<\/strong> \u2014 create or edit coupons with all WooCommerce coupon options without leaving the page"},{"src":"https:\/\/ps.w.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/assets\/screenshot-20.png?rev=3534620","caption":"<strong>Custom WP Login Page<\/strong> \u2014 a modern, branded login screen that replaces the default WordPress login"}],"raw_content":"<!--section=description-->\n<p>https:\/\/www.youtube.com\/watch?v=cBJYPE1akJk<\/p>\n\n<p><strong>BrikPanel turns the default WooCommerce admin panel into a clean, fast, all-in-one cockpit<\/strong> \u2014 a modern WooCommerce dashboard, a powerful WooCommerce bulk editor, an inventory management workspace, an order management center, a coupon manager, a custom WP login page, and a real-time conversion tracking suite. Everything is free. Forever. No premium tier, no feature locks, no monthly subscriptions. A self-hosted <strong>Shopify alternative for WooCommerce<\/strong> \u2014 own your data, your products, and your customer list, with no monthly platform fee and no transaction fee.<\/p>\n\n<p>Built by a developer who shipped 1000+ WooCommerce stores and got tired of every workflow taking five extra clicks.<\/p>\n\n<h4>Who is BrikPanel for?<\/h4>\n\n<ul>\n<li>Store owners who want a <strong>modern WooCommerce dashboard<\/strong> with real numbers, not the slow built-in reports \u2014 and a <strong>self-hosted WooCommerce analytics<\/strong> solution instead of paying monthly fees to external SaaS tools<\/li>\n<li>Stores that want a lighter <strong>woocommerce inventory management<\/strong> workspace built into a complete admin redesign<\/li>\n<li>Anyone who needs to <strong>bulk edit WooCommerce products<\/strong> \u2014 including variations \u2014 without a premium plugin<\/li>\n<li>Agencies handing off stores to non-technical clients who need a <strong>simplified WooCommerce admin<\/strong><\/li>\n<li>Shop owners migrating from Shopify who want a familiar, modern admin for their WooCommerce store \u2014 a free, self-hosted <strong>Shopify alternative<\/strong><\/li>\n<\/ul>\n\n<h3>What you get (all free)<\/h3>\n\n<h4>Modern WooCommerce Dashboard with Real-Time Sales Analytics<\/h4>\n\n<p>The heart of BrikPanel is a <strong>modern WooCommerce dashboard<\/strong> \u2014 a true <strong>woocommerce admin panel plugin<\/strong>, not a styling layer.<\/p>\n\n<ul>\n<li><strong>Total Sales, Total Orders, Average Order Value (AOV)<\/strong> \u2014 today, yesterday, last 7\/30 days, or any custom range, with <strong>\u00b1% period-over-period delta<\/strong> on every metric<\/li>\n<li><strong>Visitors<\/strong> counted from your own database (admins excluded), and <strong>Conversion Rate<\/strong> computed live from real visitors and real orders<\/li>\n<li><strong>Beautiful sales chart<\/strong> powered by Chart.js, plus an <strong>order status donut<\/strong> (Completed, Processing, Cancelled, Refunded, Failed)<\/li>\n<li><strong>WooCommerce conversion funnel<\/strong> \u2014 Visitors \u2192 Add to Cart \u2192 Checkout \u2192 Orders, with the conversion percentage at every step<\/li>\n<\/ul>\n\n<p>This is the <strong>best WooCommerce dashboard<\/strong> and a complete <strong>WooCommerce sales report<\/strong> for stores that need a <strong>modern WooCommerce admin<\/strong> and a <strong>woocommerce custom dashboard<\/strong> without paying for a SaaS.<\/p>\n\n<h4>Customer Analytics \u2014 LTV, RFM Segmentation &amp; Cohort Retention<\/h4>\n\n<p>BrikPanel ships a complete <strong>WooCommerce customer analytics<\/strong> suite, calculated from your store data and visualized in the dashboard \u2014 no external service.<\/p>\n\n<ul>\n<li><strong>Customer Lifetime Value (LTV)<\/strong> \u2014 total customers, average and top LTV, full LTV distribution histogram, and a sortable top-customers table<\/li>\n<li><strong>RFM segmentation<\/strong> \u2014 every customer scored on Recency, Frequency, and Monetary, then bucketed into Champions, Loyal, At Risk, About to Sleep, Hibernating, and Lost, with revenue per segment<\/li>\n<li><strong>Cohort retention<\/strong> \u2014 month-by-month cohort retention grid plus an average retention by month-offset trend line<\/li>\n<li><strong>Advanced filtering and segmentation<\/strong> \u2014 combine spend range, product, location, date and more to build saved segments for both customers and orders<\/li>\n<\/ul>\n\n<p>A free <strong>woocommerce LTV plugin<\/strong>, <strong>woocommerce RFM<\/strong> tool, and <strong>woocommerce cohort retention<\/strong> report rolled into the same dashboard you already use for sales.<\/p>\n\n<h4>Live Visitors &amp; Real-Time Conversion Tracking<\/h4>\n\n<p>BrikPanel ships a built-in <strong>WooCommerce live visitors<\/strong> widget \u2014 see who is on your store right now, what page they are on, and whether they have items in the cart. Refreshes every 30 seconds. No external service, no Hotjar, no monthly fee.<\/p>\n\n<ul>\n<li><strong>WooCommerce real time visitors<\/strong> widget with cart status (<em>Browsing \/ Has items in cart \/ On thank-you page<\/em>), current page, and customer info<\/li>\n<li><strong>WooCommerce conversion tracking<\/strong> in the same database that powers the dashboard<\/li>\n<li>IP addresses SHA-256 hashed for privacy<\/li>\n<li>Most-viewed pages and most added-to-cart products reports<\/li>\n<\/ul>\n\n<p>A free <strong>woocommerce statistics plugin<\/strong> and <strong>woocommerce sales tracker<\/strong> without any external SaaS.<\/p>\n\n<h4>Geographic Analytics \u2014 WooCommerce Sales by Country<\/h4>\n\n<p>A 3D rotating globe (Cobe.js) plots every order on its real location \u2014 see <strong>WooCommerce sales by country<\/strong> and city without exporting a CSV, with <strong>Top 10 Countries<\/strong> and <strong>Top 10 Cities<\/strong> tables. Works with both HPOS and legacy order storage.<\/p>\n\n<h4>Lightning-Fast Order Search \u2014 Cmd\/Ctrl + K from Anywhere<\/h4>\n\n<p>Hit <code>Ctrl + K<\/code> (or <code>Cmd + K<\/code> on Mac) anywhere in wp-admin and a beautiful order search overlay opens \u2014 the free <strong>woocommerce order search plugin<\/strong> every store owner has been asking for. Searches across order ID, customer first\/last name, email, phone, and product SKU inside order line items at once. True <strong>woocommerce quick search<\/strong> with results as you type, color-coded status badges, totals, and dates.<\/p>\n\n<h4>Modern WooCommerce Order Management<\/h4>\n\n<p>BrikPanel replaces the cluttered default orders page with a clean <strong>woocommerce order list plugin<\/strong> screen.<\/p>\n\n<ul>\n<li><strong>30-day overview bar<\/strong>: total orders, completed, refunded, cancelled, revenue<\/li>\n<li><strong>Inline status change<\/strong> without opening the edit page<\/li>\n<li>HPOS (<code>wc_get_orders<\/code>) and legacy storage (<code>WP_Query<\/code>) both supported<\/li>\n<li>Two new statuses: <strong>Return Draft<\/strong> and <strong>Change<\/strong><\/li>\n<li>Reskinned order edit page with copy-to-clipboard for billing\/shipping<\/li>\n<li><strong>Sold downloadable products column<\/strong> on the order edit page<\/li>\n<li>Optional BrikMarket marketplace stats integration<\/li>\n<\/ul>\n\n<p>A real <strong>woocommerce order management plugin<\/strong>, not a reskin. Disable from settings anytime.<\/p>\n\n<h4>WooCommerce Product List Plugin \u2014 Built for People Who Actually Edit Products<\/h4>\n\n<p>The default <strong>WooCommerce product list<\/strong> is fine for browsing, painful for editing. BrikPanel ships a complete <strong>woocommerce product list plugin<\/strong> that fixes it.<\/p>\n\n<ul>\n<li>Thumbnail, name, SKU, regular\/sale price, stock badge, category<\/li>\n<li><strong>Publish status toggle<\/strong> \u2014 flip draft \u2194 published with one click, no reload<\/li>\n<li>Edit, Duplicate, Delete actions; bulk publish, draft, delete<\/li>\n<li>Status tabs (All \/ Published \/ Draft \/ Trash), live search by name or SKU<\/li>\n<li>Configurable per-page (5\u2013100, default 20), AJAX pagination<\/li>\n<li><strong>Per-user toggles for any third-party \/ SEO column<\/strong> added by Yoast, Rank Math, ASE and other plugins<\/li>\n<li><strong>Admin and Site Enhancements (ASE) custom columns<\/strong> are respected in the BrikPanel product, order and customer lists<\/li>\n<\/ul>\n\n<h4>Quick Edit Sidebar \u2014 Edit Without Leaving the List<\/h4>\n\n<p>A slide-in panel from any product row to edit name, SKU, regular\/sale price, stock, and category \u2014 save without leaving the list. The <strong>woocommerce quick edit<\/strong> experience WooCommerce should have shipped years ago. Update <strong>woocommerce quick edit price<\/strong>, stock, or category in two clicks.<\/p>\n\n<h4>Bulk Edit WooCommerce Products with the Variation Editor \u2014 Full Variation Support<\/h4>\n\n<p>This is where BrikPanel pulls ahead of every other free <strong>woocommerce bulk editor<\/strong>. Most free plugins only handle simple products and only let you \"increase price by X%\". BrikPanel does much more \u2014 and does it for variable products too.<\/p>\n\n<ul>\n<li><strong>WooCommerce bulk price update<\/strong> (regular and sale) \u2014 percentage, fixed amount, or absolute value, across the whole catalog or filtered by category<\/li>\n<li><strong>Bulk update WooCommerce products<\/strong> stock quantities (in\/out of stock, set quantity, add\/subtract)<\/li>\n<li><strong>WooCommerce bulk price by category<\/strong> \u2014 pick a category, set a rule, every product updates<\/li>\n<li><strong>WooCommerce bulk sale price<\/strong> updates with a date range<\/li>\n<li>Confirmation dialog on every bulk action<\/li>\n<\/ul>\n\n<p>Now the part nobody else does for free: <strong>variation support<\/strong>.<\/p>\n\n<ul>\n<li><strong>WooCommerce variation editor<\/strong> \u2014 open any variable product and edit every variation in one modal (regular price, sale price, stock, SKU)<\/li>\n<li><strong>Bulk edit variation prices WooCommerce<\/strong> \u2014 set the same price for all variations of an attribute (every \"Red\" variation, every \"L\" size), or apply a percentage rule<\/li>\n<li><strong>Bulk update variation stock<\/strong> \u2014 set or adjust the stock of every variation in one click<\/li>\n<li>Attribute filter to narrow visible variations when a product has 50+ combinations<\/li>\n<\/ul>\n\n<p><strong>How to bulk edit WooCommerce products<\/strong> including variations without buying a $79\/year plugin? BrikPanel handles both simple and variable products for free.<\/p>\n\n<h4>Simplified WooCommerce Product Editor<\/h4>\n\n<p>The default WooCommerce add-product screen has 11 metaboxes, 3 tabs, and 40+ fields. New owners give up before finishing their first product. BrikPanel ships a complete <strong>woocommerce product editor plugin<\/strong> with the noise removed.<\/p>\n\n<ul>\n<li><strong>Featured image + product gallery<\/strong> with drag-and-drop upload, unlimited images, drag-to-reorder<\/li>\n<li>Regular price, sale price with decimal validation<\/li>\n<li><strong>Searchable category picker<\/strong> with multi-select + <strong>quick create category<\/strong> without leaving the page<\/li>\n<li><strong>Brand field<\/strong> \u2014 the WooCommerce <code>product_brand<\/code> taxonomy is now first-class alongside categories and tags<\/li>\n<li>Short description + full rich-text description (wp_editor)<\/li>\n<li><strong>SEO fields<\/strong> \u2014 custom slug, meta title, meta description, live Google SERP preview<\/li>\n<li><strong>Full SEO plugin compatibility<\/strong> \u2014 Yoast SEO, Rank Math, All in One SEO and SEOPress metaboxes (including the SEO score panel) render and save inside the BrikPanel product editor<\/li>\n<li>Product type (Simple, Variable), <strong>attribute management<\/strong> with inline create<\/li>\n<li><strong>Auto-generate variations<\/strong> from attribute combinations, per-variation price\/sale\/SKU\/stock<\/li>\n<li>Duplicate any product in one click<\/li>\n<\/ul>\n\n<p>Opt-in. Keep the default WooCommerce product page if you prefer.<\/p>\n\n<h4>WooCommerce Variation Gallery<\/h4>\n\n<p>Attach a separate image gallery to each product variation \u2014 the frontend swaps gallery automatically when a customer picks a variation. Image metadata (srcset, sizes, alt text) is fully preserved.<\/p>\n\n<h4>WooCommerce Categories Page \u2014 Drag-and-Drop Parent\/Child Management<\/h4>\n\n<p>The default WooCommerce category screen has not been redesigned in a decade. BrikPanel rebuilds it with per-page settings (5\u2013200), <strong>drag-and-drop parent\/child nesting<\/strong> with circular reference prevention, for both <code>product_cat<\/code> and <code>product_tag<\/code>.<\/p>\n\n<h4>Best WooCommerce Coupon Plugin \u2014 Free Coupon Manager<\/h4>\n\n<p>A complete <strong>WooCommerce coupon manager<\/strong> that makes coupons a first-class part of the admin \u2014 we honestly think this is the <strong>best WooCommerce coupon plugin<\/strong> in the free repository.<\/p>\n\n<ul>\n<li>Coupon table with code copy-to-clipboard, discount type icon, amount, usage count, expiry highlighting, and status<\/li>\n<li>Status tabs, AJAX pagination, <strong>slide-over coupon panel<\/strong> \u2014 create\/edit without a reload<\/li>\n<li>Auto-generate random coupon codes; one-click duplicate<\/li>\n<li>Discount types: percentage, fixed cart, fixed product + free shipping toggle<\/li>\n<li>Expiry date picker, total + per-customer usage limits, min\/max spend, individual use toggle, product\/category include\/exclude rules<\/li>\n<\/ul>\n\n<h4>Custom WordPress Login Page \u2014 Custom WP Login Page for WooCommerce<\/h4>\n\n<p>BrikPanel ships a <strong>custom WP login page<\/strong> that fully replaces the default <code>wp-login.php<\/code> look \u2014 a real <strong>WordPress login customizer<\/strong> built for WooCommerce stores.<\/p>\n\n<ul>\n<li>Centered card layout with your site name as logo<\/li>\n<li>Minimal, distraction-free fields, AJAX submission (no reload)<\/li>\n<li>Toast notification on errors, footer site branding<\/li>\n<li>Default WordPress login styles fully hidden<\/li>\n<\/ul>\n\n<h4>WooCommerce Inventory Management<\/h4>\n\n<p>BrikPanel includes a complete <strong>woocommerce inventory management<\/strong> workspace. The product list, bulk editor, variation editor, and quick edit sidebar work together as one inventory workflow.<\/p>\n\n<ul>\n<li>Current stock for every product and variation in one place, with stock badges in the product list (in stock \/ low stock \/ out of stock)<\/li>\n<li>Update stock inline from the quick edit sidebar, or bulk update across categories and variations<\/li>\n<li>HPOS-enabled stores supported<\/li>\n<\/ul>\n\n<p>A free <strong>woocommerce inventory management plugin<\/strong> that covers the daily workflow without installing another heavy stock control plugin.<\/p>\n\n<h4>Custom Top Admin Bar &amp; Notifications<\/h4>\n\n<p>A <strong>Custom BrikPanel-styled top admin bar<\/strong> replaces the default WordPress toolbar across the entire admin with a larger, e-commerce-focused notification bell and quick links \u2014 toggleable from settings. Notification sound, confetti animation and a top-right popup the moment a new completed order arrives, with no external services.<\/p>\n\n<h4>Google Sheets Sync \u2014 Real-Time WooCommerce Google Sheets Integration<\/h4>\n\n<p>BrikPanel ships a free <strong>WooCommerce Google Sheets sync<\/strong> \u2014 a fully native <strong>WooCommerce to Google Sheets<\/strong> integration that streams orders, customers and analytics into a Google Sheet you control. The free <strong>GSheetConnector alternative<\/strong> with no Zapier, no Make, no monthly fee.<\/p>\n\n<ul>\n<li><strong>Real-time order sync<\/strong> \u2014 every new WooCommerce order is appended within seconds, one row per line item so variations get their own columns. Free <strong>woocommerce order sync to google sheets<\/strong> with no external automation tool<\/li>\n<li><strong>Scheduled WooCommerce Google Sheets export<\/strong> \u2014 hourly, every 4h or daily catch-up; idempotent so re-runs never duplicate rows<\/li>\n<li><strong>Analytics report snapshots<\/strong> \u2014 Sales Summary, Daily KPIs, Top Products and Funnel tabs refreshed on an interval for pivots and dashboards in Sheets<\/li>\n<li><strong>Customer + RFM snapshot<\/strong> \u2014 chained to the nightly RFM recompute<\/li>\n<\/ul>\n\n<p>HPOS-compatible. A real <strong>google sheets woocommerce sync<\/strong> for stores that want orders, customers and analytics in Sheets without paying a monthly fee.<\/p>\n\n<h4>WooCommerce ROAS, Net Profit &amp; Ad Spend \u2014 Google Ads + Meta Ads<\/h4>\n\n<p>BrikPanel pulls daily spend from <strong>Google Ads<\/strong> and <strong>Meta Ads<\/strong> (Facebook \/ Instagram) so you see real <strong>WooCommerce ROAS<\/strong>, <strong>Net Profit<\/strong> and <strong>ad spend<\/strong> next to revenue. Multi-currency aware. A free <strong>Triple Whale alternative<\/strong> and <strong>woocommerce profit tracking<\/strong> dashboard with no monthly fee.<\/p>\n\n<h4>BrikMarket Marketplace Analytics<\/h4>\n\n<p>When BrikMarket is active, marketplace orders are excluded from the storefront conversion rate and a dedicated dashboard block breaks down orders, share and top categories per marketplace.<\/p>\n\n<h4>Subscription &amp; Membership Plugin Compatibility<\/h4>\n\n<p>Compatible with major subscription and membership plugins (WooCommerce Subscriptions, MemberPress, Paid Memberships Pro and more) \u2014 subscription products and member orders show up in the same product list, order screens and customer analytics.<\/p>\n\n<h4>Developer Hooks &amp; Filters<\/h4>\n\n<p>A <strong>developer hooks and filters system<\/strong> for agencies \u2014 actions and filters like <code>brikpanel_after_product_save<\/code>, plus a built-in docs popup in settings with one-click copy buttons.<\/p>\n\n<h4>Navigation &amp; Admin UI Cleanup<\/h4>\n\n<ul>\n<li>BrikPanel dashboard becomes the first WordPress admin menu item; admin bar gains quick links, footer rebranded<\/li>\n<li>Optional <strong>simplified mode<\/strong> hides the full WordPress menu, showing only BrikPanel + WooCommerce for non-technical clients<\/li>\n<\/ul>\n\n<h3>A Free, Self-Hosted WooCommerce Analytics &amp; Inventory Suite<\/h3>\n\n<p>Store owners pay monthly SaaS fees for parts of what BrikPanel does free:<\/p>\n\n<ul>\n<li><strong>Self-hosted WooCommerce analytics<\/strong> \u2014 sales, AOV, conversion, funnels, geo data, customer LTV, RFM, cohort retention, no third-party<\/li>\n<li>A simpler inventory workspace for stores that only need stock-level visibility and bulk updates<\/li>\n<li>A free Metorik and Triple Whale alternative \u2014 analytics, ROAS and profit on your own server<\/li>\n<li><strong>Shopify alternative for WooCommerce<\/strong> \u2014 the clean admin experience of Shopify with your storefront, customer data and orders on your own server<\/li>\n<\/ul>\n\n<p>Your data stays on your server \u2014 no external account, no monthly fee.<\/p>\n\n<h3>Why BrikPanel and not the default WooCommerce admin?<\/h3>\n\n<p>WooCommerce's built-in analytics are slow, refresh hourly, and have no live visitor tracking, conversion funnel, geographic data, customer LTV \/ RFM \/ cohort reports, Cmd+K order search, quick edit sidebar, variation bulk editor, custom login or coupon manager. BrikPanel fixes every one of those gaps inside a single <strong>free WooCommerce admin plugin<\/strong> \u2014 built across 1000+ WooCommerce stores.<\/p>\n\n<h3>WooCommerce HPOS Compatibility &amp; Performance<\/h3>\n\n<ul>\n<li><strong>Zero impact on storefront speed<\/strong> \u2014 only loads inside wp-admin<\/li>\n<li><strong>Hardened performance for low-resource hosting<\/strong> \u2014 heavy queries are batched, cached and run through Action Scheduler so the dashboard, customer analytics and bulk editor stay responsive on shared hosting<\/li>\n<li><strong>HPOS (High-Performance Order Storage)<\/strong> fully supported with dual code paths<\/li>\n<li>WooCommerce 7.x, 8.x, and newer; works alongside Admin Menu Editor, Slider Revolution, Yoast SEO, RankMath, WPML, Polylang<\/li>\n<li>Translation-ready (<code>.pot<\/code> file included), with all JavaScript \/ jQuery strings routed through <code>wp_localize_script<\/code><\/li>\n<li>All AJAX actions verify nonces and <code>manage_woocommerce<\/code> capability; DB writes use prepared statements; IPs SHA-256 hashed; admin activity excluded from analytics<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/brikpanel<\/code>, or install via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Open <strong>BrikPanel<\/strong> in the admin sidebar \u2014 the dashboard loads immediately.<\/li>\n<li>(Optional) Visit <strong>WooCommerce \u2192 Settings \u2192 BrikPanel<\/strong> to enable or disable specific modules.<\/li>\n<\/ol>\n\n<p>That is it. No license key, no email signup, no external account.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20brikpanel%20really%20100%25%20free%3F\"><h3>Is BrikPanel really 100% free?<\/h3><\/dt>\n<dd><p>Yes. Every feature on this page is in the free version. There is no premium tier, no feature lock, no trial period, no upsell. We built this because we needed it for our own 1000+ WooCommerce stores and decided to release it.<\/p><\/dd>\n<dt id=\"is%20brikpanel%20a%20self-hosted%20woocommerce%20analytics%20solution%3F\"><h3>Is BrikPanel a self-hosted WooCommerce analytics solution?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel gives you a complete WooCommerce analytics suite that runs entirely on your own server with no external dependencies. Sales analytics, product reports, conversion tracking, customer LTV, RFM segmentation, cohort retention and customer data are all included \u2014 nothing is sent to any third-party SaaS.<\/p><\/dd>\n<dt id=\"does%20brikpanel%20include%20a%20woocommerce%20sales%20report%3F\"><h3>Does BrikPanel include a WooCommerce sales report?<\/h3><\/dt>\n<dd><p>Yes. The BrikPanel dashboard ships a complete <strong>WooCommerce sales report<\/strong> out of the box \u2014 total sales, total orders, average order value (AOV), refunds, and net revenue, each with a \u00b1% period-over-period delta. Filter the sales report by today, yesterday, last 7 days, last 30 days, or any custom date range. The sales chart is rendered with Chart.js and pairs with the order status donut and conversion funnel for a full sales report you can read at a glance, without ever leaving wp-admin and without paying for an external analytics service.<\/p><\/dd>\n<dt id=\"does%20brikpanel%20show%20customer%20ltv%2C%20rfm%20segments%20and%20cohort%20retention%3F\"><h3>Does BrikPanel show customer LTV, RFM segments and cohort retention?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel ships a full <strong>WooCommerce customer analytics<\/strong> suite directly in the dashboard. Customer Lifetime Value (LTV) is calculated for every customer with average, top, and full distribution histogram. RFM segmentation scores every customer on Recency, Frequency and Monetary and groups them into Champions, Loyal, At Risk, About to Sleep, Hibernating and Lost. Cohort retention shows a month-by-month grid plus an average retention trend line. All three are computed from your own store data \u2014 no external service involved.<\/p><\/dd>\n<dt id=\"is%20brikpanel%20a%20free%20shopify%20alternative%20for%20woocommerce%3F\"><h3>Is BrikPanel a free Shopify alternative for WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, for store owners who want to stay self-hosted. BrikPanel gives your WooCommerce store the clean, modern admin experience of Shopify \u2014 product list with inline editing, bulk price and stock updates, live visitors, conversion tracking, geographic analytics, customer LTV \/ RFM \/ cohort reports, a branded login page \u2014 but your storefront, your customer data, and your orders stay on your own server. No monthly platform fee, no transaction fee, no vendor lock-in. If you were evaluating Shopify but want to own your stack, this is the <strong>Shopify alternative for WooCommerce<\/strong> we built for that exact use case.<\/p><\/dd>\n<dt id=\"is%20brikpanel%20an%20atum%20alternative%20for%20inventory%20management%3F\"><h3>Is BrikPanel an ATUM alternative for inventory management?<\/h3><\/dt>\n<dd><p>For most stores, yes. BrikPanel includes complete <strong>woocommerce inventory management<\/strong> \u2014 stock levels, low stock badges, bulk stock updates, variation stock updates \u2014 all integrated into the same dashboard you use for sales and orders. If you only need daily stock work without advanced supplier or purchase order features, BrikPanel is a much lighter <strong>ATUM alternative<\/strong>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20a%20faster%20woocommerce%20product%20list%20with%20bulk%20actions%20and%20quick%20edit%3F\"><h3>How do I get a faster WooCommerce product list with bulk actions and quick edit?<\/h3><\/dt>\n<dd><p>The default <strong>WooCommerce product list<\/strong> is built for browsing \u2014 searching, sorting and editing it is slow. BrikPanel ships a complete <strong>woocommerce product list plugin<\/strong> with thumbnail, SKU, regular and sale price, stock badge, category, AJAX pagination, live search, status tabs, one-click publish toggle and a slide-in quick edit panel for every row. Works on both simple and variable products, and the same <strong>woocommerce product list<\/strong> screen powers the bulk price and bulk stock updates so you never leave the page to edit your catalog.<\/p><\/dd>\n<dt id=\"how%20do%20i%20bulk%20edit%20woocommerce%20products%20including%20variations%3F\"><h3>How do I bulk edit WooCommerce products including variations?<\/h3><\/dt>\n<dd><p>Open <strong>BrikPanel \u2192 Products<\/strong> and click the <strong>Bulk Update<\/strong> button in the toolbar. You can update prices, sale prices, and stock for all products, by category, or for selected products. For variable products, open any product, click <strong>Edit Variations<\/strong>, and bulk update prices and stock across every variation in one modal. This is the part most free <strong>WooCommerce bulk editor<\/strong> plugins do not handle \u2014 BrikPanel does.<\/p><\/dd>\n<dt id=\"can%20i%20bulk%20edit%20variation%20prices%20in%20woocommerce%20with%20the%20free%20version%3F\"><h3>Can I bulk edit variation prices in WooCommerce with the free version?<\/h3><\/dt>\n<dd><p>Yes. <strong>Bulk edit variation prices WooCommerce<\/strong> is a core BrikPanel feature, and it is free. Set a percentage rule, set a fixed price, or update by attribute (every \"Red\" variation, every \"Large\" size). The same modal handles <strong>bulk update variation stock<\/strong> for the same products.<\/p><\/dd>\n<dt id=\"does%20brikpanel%20slow%20down%20my%20woocommerce%20store%3F\"><h3>Does BrikPanel slow down my WooCommerce store?<\/h3><\/dt>\n<dd><p>No. BrikPanel only loads inside wp-admin. It has zero impact on your storefront speed, customer experience, page weight, or Core Web Vitals. The frontend never loads any BrikPanel code.<\/p><\/dd>\n<dt id=\"is%20brikpanel%20compatible%20with%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Is BrikPanel compatible with HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. Every order query has dual code paths \u2014 <code>wc_get_orders()<\/code> for HPOS, <code>WP_Query<\/code> for legacy. BrikPanel declares HPOS compatibility via <code>FeaturesUtil::declare_compatibility('custom_order_tables', ...)<\/code> and is tested on stores running both modes.<\/p><\/dd>\n<dt id=\"how%20do%20i%20see%20woocommerce%20sales%20by%20country%3F\"><h3>How do I see WooCommerce sales by country?<\/h3><\/dt>\n<dd><p>Open the BrikPanel dashboard. Scroll to the geographic analytics section. The 3D globe shows every order on its real geographic location, and the <strong>Top 10 Countries<\/strong> and <strong>Top 10 Cities<\/strong> tables update in real time. BrikPanel extracts country and city from the billing or shipping address of every order, so this works with no extra setup.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customize%20the%20wordpress%20login%20page%20for%20my%20woocommerce%20store%3F\"><h3>How do I customize the WordPress login page for my WooCommerce store?<\/h3><\/dt>\n<dd><p>BrikPanel includes a built-in <strong>wordpress login customizer<\/strong>. Enable the <strong>custom wp login page<\/strong> module from BrikPanel settings and the default <code>wp-login.php<\/code> is replaced with a clean, branded login form that matches the rest of the BrikPanel admin. No CSS knowledge required.<\/p><\/dd>\n<dt id=\"how%20do%20i%20search%20woocommerce%20orders%20by%20customer%20name%20or%20phone%20number%3F\"><h3>How do I search WooCommerce orders by customer name or phone number?<\/h3><\/dt>\n<dd><p>Press <code>Ctrl + K<\/code> (or <code>Cmd + K<\/code> on Mac) anywhere inside wp-admin. The BrikPanel quick search overlay opens and searches across order ID, customer name, email, phone, and product SKU at the same time. This is the <strong>woocommerce search orders<\/strong> experience the WooCommerce admin should ship with by default.<\/p><\/dd>\n<dt id=\"can%20i%20see%20who%20is%20on%20my%20woocommerce%20store%20right%20now%3F\"><h3>Can I see who is on my WooCommerce store right now?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel includes a <strong>woocommerce live visitors<\/strong> widget on the dashboard that updates every 30 seconds. You can see what page each visitor is on, whether they have items in the cart, and whether they are an existing customer. This is real <strong>woocommerce real time visitors<\/strong> tracking, not estimates.<\/p><\/dd>\n<dt id=\"does%20brikpanel%20track%20woocommerce%20conversion%20rate%20and%20conversion%20funnel%3F\"><h3>Does BrikPanel track WooCommerce conversion rate and conversion funnel?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel includes a complete <strong>woocommerce conversion tracking<\/strong> system that records visitors, add-to-cart events, checkout starts, and completed orders. The dashboard shows your <strong>woocommerce conversion funnel<\/strong> as a four-step visual: Visitors \u2192 Add to Cart \u2192 Checkout \u2192 Orders, with the conversion percentage at every step.<\/p><\/dd>\n<dt id=\"is%20there%20a%20free%20woocommerce%20conversion%20tracking%20plugin%20built%20into%20brikpanel%3F\"><h3>Is there a free WooCommerce conversion tracking plugin built into BrikPanel?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel ships a free <strong>WooCommerce conversion tracking plugin<\/strong> that records every visitor, add-to-cart, checkout start and completed order in your own database \u2014 no Google Analytics setup, no Hotjar, no monthly fee. The funnel and conversion-rate widgets on the dashboard are computed from this same dataset in real time.<\/p><\/dd>\n<dt id=\"how%20do%20i%20sync%20woocommerce%20orders%20to%20google%20sheets%20for%20free%3F\"><h3>How do I sync WooCommerce orders to Google Sheets for free?<\/h3><\/dt>\n<dd><p>Open <strong>WooCommerce \u2192 BrikPanel \u2192 Google Sheets<\/strong>, click \"Connect Google account\", pick or create a target spreadsheet, and toggle \"Real-time order sync\" on. Every new WooCommerce order is then appended to your Sheet within seconds, with one row per line item so variations land in their own columns. Status changes update the existing row in place. No Zapier, no Make, no monthly fee \u2014 a real <strong>woocommerce google sheets sync<\/strong> built into BrikPanel.<\/p><\/dd>\n<dt id=\"does%20brikpanel%20work%20as%20a%20free%20gsheetconnector%20or%20wpsyncsheets%20alternative%3F\"><h3>Does BrikPanel work as a free GSheetConnector or WPSyncSheets alternative?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel includes a complete <strong>WooCommerce to Google Sheets<\/strong> integration in the free version \u2014 real-time order sync, scheduled bulk export, analytics snapshot tabs (Sales Summary, Daily KPIs, Top Products, Funnel) and a customer + RFM snapshot. All four flows ship free with no row limit, no premium tier, and OAuth-based authentication that requests minimum scopes only (<code>drive.file<\/code> \u2014 never full Drive access).<\/p><\/dd>\n<dt id=\"how%20do%20i%20see%20real%20roas%20and%20net%20profit%20in%20woocommerce%3F\"><h3>How do I see real ROAS and net profit in WooCommerce?<\/h3><\/dt>\n<dd><p>Connect <strong>Google Ads<\/strong> and\/or <strong>Meta Ads<\/strong> from the BrikPanel Ad Platforms page. BrikPanel then pulls your daily ad spend and shows three new dashboard cards: <strong>Ad Spend<\/strong> (summed across every connected platform for the active date range), <strong>WooCommerce ROAS<\/strong> (store revenue \u00f7 ad spend), and <strong>Net Profit<\/strong> (revenue \u2212 COGS \u2212 ad spend \u2212 manual expenses). COGS comes from WooCommerce's native order cost meta and expenses from the BrikPanel expenses table, so the <strong>woocommerce roas<\/strong> and net profit numbers are real, not estimates. The cards are multi-currency aware \u2014 if an ad account reports in a different currency than the store, spend is shown split and ROAS \/ Net Profit are omitted instead of printing a misleading converted number.<\/p><\/dd>\n<dt id=\"is%20brikpanel%20a%20free%20triple%20whale%20alternative%20for%20woocommerce%3F\"><h3>Is BrikPanel a free Triple Whale alternative for WooCommerce?<\/h3><\/dt>\n<dd><p>For self-hosted stores, yes. BrikPanel gives you the <strong>WooCommerce ROAS<\/strong> and <strong>net profit<\/strong> view store owners buy Triple Whale, TrueProfit or BeProfit for \u2014 daily <strong>Google Ads<\/strong> and <strong>Meta Ads<\/strong> spend pulled in next to store revenue, COGS and expenses \u2014 but it runs entirely on your own server with no monthly fee and no data sent to a third party. If you only need true ROAS and profit (not full multi-touch ad attribution), this is the free <strong>Triple Whale alternative<\/strong> built for that exact use case.<\/p><\/dd>\n<dt id=\"does%20brikpanel%20connect%20to%20google%20ads%20and%20meta%20%28facebook%20%2F%20instagram%29%20ads%3F\"><h3>Does BrikPanel connect to Google Ads and Meta (Facebook \/ Instagram) Ads?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel connects to both <strong>Google Ads<\/strong> and <strong>Meta Ads<\/strong> through a secure OAuth proxy (the plugin only ever stores encrypted tokens, never your password). It pulls daily spend per platform, backfills history, and re-syncs recent days automatically so the dashboard ROAS and net profit stay accurate. The integration is spend-and-profit focused \u2014 it does not install a Facebook pixel or do multi-touch attribution; it gives you true <strong>woocommerce roas<\/strong> and net profit without a paid SaaS.<\/p><\/dd>\n<dt id=\"is%20there%20a%20free%20woocommerce%20variation%20editor%20for%20bulk%20price%20and%20stock%20updates%3F\"><h3>Is there a free WooCommerce variation editor for bulk price and stock updates?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel includes a complete <strong>WooCommerce variation editor<\/strong> in the free version. Open any variable product, click \"Edit Variations\", and you can bulk update every variation's price, sale price, stock and SKU in one modal \u2014 with attribute filtering when a product has 50+ combinations. The same <strong>woocommerce variation editor<\/strong> also supports per-attribute rules (\"set every Red variation to $X\").<\/p><\/dd>\n<dt id=\"what%20makes%20brikpanel%20different%20from%20the%20built-in%20woocommerce%20analytics%3F\"><h3>What makes BrikPanel different from the built-in WooCommerce analytics?<\/h3><\/dt>\n<dd><p>The built-in WooCommerce analytics are slow, refresh on a delay, only show historical data, and have no live visitor tracking, no conversion funnel, no geographic globe, no customer LTV \/ RFM \/ cohort reports, no Cmd+K order search, no quick edit sidebar, no variation bulk editor, no custom login page, and no coupon manager. BrikPanel adds every one of those features inside a single free plugin.<\/p><\/dd>\n<dt id=\"is%20brikpanel%20just%20a%20css%20reskin%20of%20the%20woocommerce%20admin%3F\"><h3>Is BrikPanel just a CSS reskin of the WooCommerce admin?<\/h3><\/dt>\n<dd><p>No. BrikPanel is a real <strong>woocommerce admin dashboard plugin<\/strong> with custom database tables for visitor tracking, custom AJAX endpoints for every interaction, real conversion analytics, a working bulk editor, a real product editor, a real coupon manager, and a real custom login system. Other plugins (Dashify, UiPress) only restyle the admin. BrikPanel rebuilds the parts of WooCommerce that needed to be rebuilt.<\/p><\/dd>\n<dt id=\"does%20brikpanel%20work%20with%20yoast%20seo%2C%20rankmath%2C%20elementor%2C%20wpml%2C%20and%20polylang%3F\"><h3>Does BrikPanel work with Yoast SEO, RankMath, Elementor, WPML, and Polylang?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel does not interfere with frontend rendering, so it works with every page builder and SEO plugin we have tested. Yoast SEO, Rank Math, All in One SEO and SEOPress metaboxes (including their SEO score panels) render and save inside the BrikPanel product editor. It also has its own translation files and is fully compatible with WPML and Polylang for multilingual stores.<\/p><\/dd>\n<dt id=\"does%20brikpanel%20work%20with%20woocommerce%20subscriptions%20and%20membership%20plugins%3F\"><h3>Does BrikPanel work with WooCommerce Subscriptions and membership plugins?<\/h3><\/dt>\n<dd><p>Yes. BrikPanel is compatible with WooCommerce Subscriptions, Subscriptions for WooCommerce (WP Swings), MemberPress, Paid Memberships Pro, WooCommerce Memberships, YITH WooCommerce Subscription, SUMO Subscriptions, WebToffee Subscriptions for WooCommerce and Restrict Content Pro. Subscription products and member orders show up in the same product list, order screens and customer analytics as the rest of your catalog.<\/p><\/dd>\n<dt id=\"where%20does%20brikpanel%20store%20data%3F\"><h3>Where does BrikPanel store data?<\/h3><\/dt>\n<dd><p>Everything stays in your WordPress database. BrikPanel creates three custom tables: <code>wp_brikpanel_visitors<\/code>, <code>wp_brikpanel_cart_tracking<\/code>, and <code>wp_brikpanel_visited_pages<\/code>. Live visitor data is stored in a transient that auto-expires every 2 minutes. No data is sent to any external server, ever.<\/p><\/dd>\n<dt id=\"will%20brikpanel%20always%20be%20free%3F\"><h3>Will BrikPanel always be free?<\/h3><\/dt>\n<dd><p>Yes. The dashboard, the bulk editor, the inventory tools, the order management, the coupon manager, the custom login, the conversion tracking, the customer analytics suite, and every other feature listed above will remain free forever. We may release a separate paid product (BrikMentor) on top of BrikPanel in the future, but it will be additive \u2014 BrikPanel itself stays 100% free.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.1.0 (2026-05-24)<\/h4>\n\n<ul>\n<li>New: <strong>Google Sheets two-way sync \u2014 Sheets edits now flow back into WooCommerce<\/strong>. The Sheets integration is no longer push-only. Two new flows ship alongside the existing one-way pushes: (1) <strong>Orders pull<\/strong> \u2014 the Orders tab is polled every 2 \/ 5 \/ 15 minutes (your pick), and any change to the <strong>Order status<\/strong> column is applied to the matching <code>WC_Order<\/code> via <code>update_status()<\/code> with a \"Status changed via Google Sheets sync.\" order note; status text is normalised so \"Processing\", \"wc-processing\" and the localised label all map back to the right WC key. (2) <strong>Products pull<\/strong> \u2014 a new dedicated <strong>Products<\/strong> tab pushes every simple product and every variation (variations get their own row, parent_id column points to the parent) with id \/ SKU \/ name \/ price \/ <strong>stock<\/strong> \/ status; the Stock column is the only writable cell and changes flow back into WooCommerce on the next poll. Last-write-wins conflict resolution compares each cell against a sha256 snapshot stored on product\/order meta AND against <code>_date_modified<\/code>, so a stale poll cannot clobber a fresh Woo edit (a 10s grace window absorbs same-second push\/save races); divergence detected mid-poll is logged and the row is re-pushed instead. Push side is event-driven (<code>woocommerce_product_set_stock<\/code>, <code>woocommerce_variation_set_stock_status<\/code>, <code>woocommerce_new_product<\/code>, etc.) with a 5-second debounce so bulk inventory updates coalesce into one Sheets API call; a \"Pull now\" button next to \"Sync now\" runs the reverse direction synchronously and a structured toast reports <code>checked \/ applied \/ conflicts<\/code>. Tabs are dropdown-validated with the real WC status set on first push so merchants pick from a list instead of free-typing a status that would be silently skipped. Off by default per flow (the toggles say \"Two-way sync: apply status \/ stock edits from Sheets\") \u2014 the existing one-way push behaviour is unchanged for stores that don't opt in. Works identically on simple and variable stores<\/li>\n<li>New: <strong>ACF (Advanced Custom Fields) field groups now auto-render in the BrikPanel product editor<\/strong> \u2014 reported by a user who created ACF fields targeting <code>product<\/code> and never saw them appear. Root cause: BrikPanel relied on the merchant to hand-pick every metabox via the \"Third-party plugin metaboxes\" multiselect, but the multiselect was built from <code>add_meta_boxes<\/code> snapshots that fire only on <code>load-post.php<\/code> \/ <code>load-post-new.php<\/code>, neither of which runs on the BrikPanel editor page, so ACF's per-group metaboxes were never even registered to be picked. The editor now bootstraps ACF metaboxes directly (<code>ACF_Form_Post::add_meta_boxes()<\/code>) when rendering, AND auto-resolves every ACF field group whose Location Rules match the current product via <code>acf_get_field_groups( [ 'post_type' =&gt; 'product', 'post_id' =&gt; $id ] )<\/code> so the matching groups appear without the merchant touching the multiselect. A new <strong>\"Auto-include ACF field groups\"<\/strong> toggle (default on) lives directly above the metaboxes multiselect under WooCommerce \u2192 Settings \u2192 BrikPanel \u2192 Products; a <code>brikpanel_pe_auto_include_acf<\/code> filter lets developers gate it programmatically per product. Save round-trips already work because the editor emits ACF's hidden <code>_acf_nonce<\/code> \/ <code>_acf_post_id<\/code> \/ <code>_acf_screen<\/code> \/ <code>_acf_changed<\/code> block. Applies to both simple and variable products<\/li>\n<li>New: <strong>Eight popular-language translations bundled in the plugin<\/strong> \u2014 fully translated UI for German (<code>de_DE<\/code>), Spanish (<code>es_ES<\/code>), French (<code>fr_FR<\/code>), Italian (<code>it_IT<\/code>), Dutch (<code>nl_NL<\/code>), Polish (<code>pl_PL<\/code>), Brazilian Portuguese (<code>pt_BR<\/code>) and Russian (<code>ru_RU<\/code>), shipped alongside the existing Turkish (<code>tr_TR<\/code>) and refreshed to cover every string introduced in this release (Two-way sync UI, ACF auto-include toggle, Pull now \/ Poll interval controls, conflict toasts, etc.). PO + MO + WP 6.5+ <code>.l10n.php<\/code> files are all included so stores using any of these locales get a localised admin out of the box, no manual <code>wp i18n<\/code> step required<\/li>\n<\/ul>\n\n<h4>3.0.9 (2026-05-22)<\/h4>\n\n<ul>\n<li>Fix: <strong>Foreign-plugin icons rendered as empty squares when a non-default Interface font was selected<\/strong> \u2014 the Appearance feature applied the chosen typeface with <code>[class*=\"brikpanel-\"] *<\/code>, and the topbar feature tags both <code>&lt;body&gt;<\/code> and <code>&lt;html&gt;<\/code> with <code>brikpanel-has-topbar<\/code> so its layout offsets can apply. Together those two facts made the broad selector match every descendant of <code>&lt;body&gt;<\/code> on every admin page that rendered the topbar, including third-party plugin screens. Icon-font glyphs (Font Awesome, Material Icons, etc.) lost their <code>font-family<\/code> to the Interface font and rendered as tofu boxes. The selector now excludes <code>body<\/code> and <code>html<\/code> so real BrikPanel wrappers like <code>.brikpanel-dashboard<\/code> and <code>.brikpanel-topbar-*<\/code> still receive the font while foreign plugin UIs are no longer touched. Reported on a WP Mobile Bottom Menu (WP BNav) icon picker; the same root cause affected any third-party admin screen using icon fonts. No change at the default \"System default\" font setting<\/li>\n<\/ul>\n\n<h4>3.0.9 (2026-05-19)<\/h4>\n\n<ul>\n<li>New: <strong>Site-wide Cmd\/Ctrl + K command palette<\/strong>. The palette no longer scans only orders; it now searches four sources in one place: <strong>Orders<\/strong> (customer name, email, phone, order ID, or a product SKU inside the order), <strong>Products<\/strong> (simple and variable, by name or SKU, variations included), <strong>Customers<\/strong> (registered users by name, email, or username), and <strong>Navigation<\/strong> (jump to any admin page, including screens added by third-party plugins). Every source has its own on\/off toggle under a new WooCommerce \u2192 Settings \u2192 BrikPanel \u2192 \"Search\" section, so the palette can stay orders-only or open up to a full admin-wide search, and a <code>brikpanel_search_sources<\/code> filter lets developers add, remove, or reorder sources. The admin menu is indexed per user on real page loads (admin-ajax never builds the menu, so it is read back from a per-user transient during the search request), every source is independently capability-checked, and the placeholder stays \"Search orders\" while orders is the only active source so existing users see no change. Resolves the report that Cmd\/Ctrl + K only found orders and could not reach the rest of the site or third-party plugin pages<\/li>\n<\/ul>\n\n<h4>3.0.5 (2026-05-19)<\/h4>\n\n<ul>\n<li>New: <strong>GTIN column on the products list<\/strong> \u2014 the BrikPanel product list can now show a <strong>GTIN<\/strong> column reading WooCommerce's native <code>_global_unique_id<\/code> field (<code>WC_Product::get_global_unique_id()<\/code>). Off by default; flip it on per-user from the <strong>Columns<\/strong> popover (persisted in user meta, like every other column). Variable products show the parent GTIN, or the aggregated variation GTINs when the parent has none \u2014 so it works for both simple and variable products<\/li>\n<li>New: <strong>Search products by SKU<\/strong> \u2014 the product list live-search box now matches on SKU as well as title. A <code>posts_search<\/code> filter rewrites the query so a search term hits a product's own <code>_sku<\/code> <strong>and<\/strong> surfaces a parent product whenever one of its variation SKUs matches, with <code>$wpdb-&gt;esc_like()<\/code> escaping throughout. Resolves the user report that SKU search did not work on the product list<\/li>\n<li>New: <strong>Yoast SEO for WooCommerce compatibility<\/strong> \u2014 the WooCommerce-specific Yoast addon (detected via <code>WPSEO_WOO_VERSION<\/code>) ran its identifier\/GTIN analysis against <code>#product-type<\/code> and <code>#_sku<\/code> DOM nodes that the simplified BrikPanel editor never rendered, so it errored out. The editor now emits hidden shim nodes mirroring the real product type and SKU and keeps the hidden <code>#product-type<\/code> in sync when the BrikPanel type selector changes, so the Yoast Woo SEO analysis and score panel run correctly inside the BrikPanel product editor for both simple and variable products<\/li>\n<li>New: <strong>Dashboard export button<\/strong> \u2014 a new export button next to the dashboard date-range presets downloads the full dashboard as a multi-sheet Excel workbook (Summary, conversion funnel, order status, devices, customer segments, top products, most-viewed, most added-to-cart, sales-over-time, countries, cities, low stock, subscriptions and full order records) for the active date range. Built from the exact payload the dashboard renders so the file can never drift from the screen; streamed via <code>admin-post.php<\/code> (<code>brikpanel_dashboard_export<\/code>, nonce-checked, <code>manage_woocommerce<\/code>-gated) with real numeric cells so the spreadsheet can sum and sort<\/li>\n<li>New: <strong>Shipping class in the product editor<\/strong> \u2014 WooCommerce's <code>product_shipping_class<\/code> taxonomy is now selectable in the simplified product editor as an opt-in <strong>Shipping class<\/strong> section (enable it from WooCommerce \u2192 Settings \u2192 BrikPanel via the editor section list; hidden by default). Simple products get one selector; variable products additionally get a per-variation shipping class column with a \"Same as parent\" inherit option, so every variation can override individually. Closes the migration gap reported by users who relied on WooCommerce shipping classes<\/li>\n<li>Fix: <strong>Bullet points now render in the product editor and on the storefront<\/strong> \u2014 bulleted and numbered lists created in the editor were being wrapped in an invalid <code>&lt;p&gt; &gt; &lt;ul&gt;<\/code> structure so they did not display as a list. After an insert-list command the editor now unwraps the list from its surrounding paragraph, and explicit <code>list-style<\/code> \/ <code>display:list-item<\/code> CSS for nested <code>ul<\/code>\/<code>ol<\/code>\/<code>li<\/code> (disc \u2192 circle \u2192 square) makes lists render correctly in both the editor and the front-end product description<\/li>\n<li>Improvement: <strong>Richer product description editor<\/strong> \u2014 the description and short-description editors gained a block-format dropdown (Paragraph, Heading 2, Heading 3, Heading 4) that reflects and applies the current selection's block, plus heading CSS so the formatting is visible while editing. Combined with the existing visual \u21c4 HTML source toggle, content pasted from a website (which keeps its markup) can now be retagged with proper headings from the toolbar instead of only being fixable in the code editor<\/li>\n<li>Fix: <strong>Google Sheets \"Choose existing spreadsheet\" 403 right after connecting<\/strong>: Google's consent screen presents the Drive permission as an optional checkbox, so a user could complete OAuth with a perfectly valid token while the <code>drive.file<\/code> scope was never actually granted. The connection then showed a green \"Connected\", but the Picker, \"Create new spreadsheet\" and every sync failed with a raw Google 403 until the user disconnected and reconnected. BrikPanel now verifies the granted scope after consent and refuses a connection that is missing Drive access with a clear, actionable message; surfaces a prominent warning on an already broken connection; and blocks the Picker and create-sheet actions with a fix-it prompt instead of leaking a scope-less token to a raw Google 403. Behaves identically on simple and variable stores<\/li>\n<\/ul>\n\n<h4>3.0.4 (2026-05-18)<\/h4>\n\n<ul>\n<li>New: <strong>Access control<\/strong> \u2014 a new WooCommerce \u2192 Settings \u2192 BrikPanel \u2192 \"Access control\" section lets you keep the BrikPanel interface for some users while leaving others on the stock WordPress \/ WooCommerce admin. Disable for <strong>administrators<\/strong> with one toggle (the common agency setup: clients who are shop managers get BrikPanel, the agency's own administrator account stays vanilla), and\/or for any <strong>roles<\/strong> or hand-picked <strong>individual users<\/strong>. Disabled users get the native admin menu, dashboard, product\/order\/coupon screens and zero BrikPanel styling; everyone else is unaffected. Enforced in two layers \u2014 every interface toggle is short-circuited to \"off\" so each module renders the native screen, and all always-on BrikPanel assets, the extra order-list columns and the font\/accent\/brand-logo theming are swept \u2014 so the result is pixel-for-pixel the default experience. BrikPanel analytics, tracking and background jobs keep running for the store regardless. The BrikPanel settings tab is always reachable (with the real toggle states) even for an excluded administrator, so you can never lock yourself out<\/li>\n<\/ul>\n\n<h4>3.0.2 (2026-05-16)<\/h4>\n\n<ul>\n<li>Security: <strong>Signed proxy responses<\/strong> \u2014 every reply from the brksoft.com proxy (Google Ads, Meta Ads and Google Sheets OAuth) is now HMAC-SHA256 signed with a freshness timestamp. The plugin verifies the signature on every successful response and refuses to act on any unsigned, tampered, replayed or stale body instead of trusting it \u2014 closing cache-poisoning \/ transport-tampering \/ log-only attack paths<\/li>\n<li>Security: <strong>Remote kill-switch<\/strong> \u2014 a signed <code>revoke<\/code> directive lets the proxy operator make all installs immediately wipe their stored Google \/ Meta \/ Sheets tokens and stop calling the proxy until the user reconnects, so a suspected proxy compromise can be contained without a plugin update<\/li>\n<li>Security: <strong>Google Ads query allow-list<\/strong> on the proxy \u2014 only the exact daily-spend query is accepted; any attempt to pull search terms, PII or other resources through a connected account is rejected<\/li>\n<li>Security: <strong>Hostile <code>raw_data<\/code> handling<\/strong> \u2014 ad-spend API payloads are depth-, size- and charset-capped before they are stored, so a malicious response cannot bloat the table or smuggle content to later consumers<\/li>\n<li>Security: Proxy global off-switch, <code>no-store<\/code> \/ <code>noindex<\/code> response headers, and operational hardening notes for the brksoft.com proxy<\/li>\n<li>Tweak: Version bump to 3.0.2; no functional changes to the dashboard, sync or UI<\/li>\n<\/ul>\n\n<h4>3.0.0 (2026-05-15)<\/h4>\n\n<ul>\n<li>New: <strong>Google Ads &amp; Meta Ads integration<\/strong> \u2014 BrikPanel now pulls daily ad spend from Google Ads and Meta (Facebook \/ Instagram) Ads into a local table so the dashboard can show <strong>real ROAS and Net Profit<\/strong> next to store revenue. Three new KPI cards render under the existing dashboard metrics: <strong>Ad Spend<\/strong> (summed across every connected platform for the active date range), <strong>ROAS<\/strong> (store revenue \u00f7 ad spend), and <strong>Net Profit<\/strong> (revenue \u2212 COGS \u2212 ad spend \u2212 manual expenses). The cards are multi-currency aware \u2014 when an ad account reports in a different currency than the store, spend is shown split as \"\u20baX + $Y\" and ROAS \/ Net Profit are intentionally omitted (UI shows \"\u2014\") instead of printing a misleading converted number. COGS is read from WooCommerce's native order COGS meta through a dedicated HPOS-compatible query; manual expenses come from the existing BrikPanel expenses table. The cards only appear once the first sync has written real data<\/li>\n<li>New: One-click OAuth connect per platform through the same brksoft.com proxy pattern as Google Sheets \u2014 PKCE-protected handoff, and the Google <strong>developer token<\/strong> \/ Meta <strong>app secret<\/strong> \/ OAuth client secret never ship inside the plugin (the proxy injects them server-side). Tokens are kept in a single encrypted multi-platform vault (<code>sodium_crypto_secretbox<\/code>, AES-256-GCM fallback, key HKDF-derived from the site's WP salts) with platform-aware refresh: Google uses the standard <code>refresh_token<\/code> grant, Meta uses the <code>fb_exchange_token<\/code> long-lived-token swap. A revoked \/ <code>invalid_grant<\/code> connection auto-clears so the UI shows a clean \"reconnect\" state instead of looping on errors<\/li>\n<li>New: Per-platform <strong>primary account picker<\/strong> \u2014 Google enumerates accounts via <code>listAccessibleCustomers<\/code> with manager-account (MCC) <code>login-customer-id<\/code> support; Meta lists <code>\/me\/adaccounts<\/code> including accounts under a Business Manager. On first account selection BrikPanel backfills <strong>3 years of history<\/strong>, split into 90-day Action Scheduler chunks scheduled most-recent-first so today's spend appears on the dashboard within minutes while the full history fills in behind it. A daily sync re-pulls the trailing 7 days to absorb the late revisions ad platforms apply to recent-day numbers; every write is an idempotent UPSERT so re-syncing or overlapping windows never duplicate a day<\/li>\n<li>New: Dedicated <strong>Ad Platforms<\/strong> page under the WooCommerce menu (Beta badge), a \"Connect ad accounts\" call-to-action on the dashboard, a per-platform manual <strong>Sync now<\/strong> button, backfill progress, and a token-redacted error log viewer. A master toggle under WooCommerce \u2192 Settings \u2192 BrikPanel \u2192 <strong>Ad Platforms<\/strong> (default on) makes the whole module dormant when off \u2014 no admin page, no scheduled sync, no dashboard cards \u2014 while saved connections are kept. Google Ads stays locked behind a switch until its Google-approved developer token is live so users never hit a dead \"Connect\" button; Meta is unaffected. A new <code>wp_brikpanel_ad_spend<\/code> table is created on activation alongside the other BrikPanel tables, and the raw API payload is retained per row for the planned BrikMentor analysis<\/li>\n<li>Developer: New proxy-tunnelled <strong>Google Ads API<\/strong> and <strong>Meta Marketing API<\/strong> clients (<code>Brikpanel_Ads_Google_Client<\/code>, <code>Brikpanel_Ads_Meta_Client<\/code>) built on <code>wp_remote_*<\/code> with one-shot 401 refresh-and-retry, infrastructure-only backoff (HTTP 429 \/ 502 \/ 503 \/ 504 plus Meta rate-limit codes 4 \/ 17 \/ 32 \/ 613) and no retry on application-level 500s so a misconfigured proxy fails fast instead of hanging the settings UI \u2014 no Composer dependency added, reusing the foundation laid by the 2.9.0 Sheets client<\/li>\n<\/ul>\n\n<h4>2.9.5 (2026-05-13)<\/h4>\n\n<ul>\n<li>New: Multisite network access rules \u2014 when BrikPanel is network-activated, every subsite admin used to inherit full visibility of the WooCommerce \u2192 BrikPanel settings tab; a new \"BrikPanel Access\" page under Network Admin \u2192 Settings now lets the Super Admin enforce a role allowlist (<code>brikpanel_network_access<\/code> site-option). When enforcement is on, only users whose role is in the allowlist see the settings tab, the BrikPanel sidebar menus, and can hit any <code>brikpanel_*<\/code> AJAX endpoint \u2014 gated centrally through <code>brikpanel_user_can_access()<\/code> so a single check applies across surfaces and the <code>administrator<\/code> role can never be removed from the allowlist (defense-in-depth)<\/li>\n<li>New: <strong>Delete individual variations<\/strong> from inside the BrikPanel product editor \u2014 every row in the variation table now has a per-row trash button with an in-place confirmation, and the deletion is finalized when the parent product is saved. Combined with the existing <strong>Generate variations<\/strong> button this closes the last gap users hit when migrating away from the default WooCommerce variations tab. Works on both brand-new variable products and existing ones with attribute combinations already generated<\/li>\n<li>New: Unsaved-changes guard on the product editor \u2014 clicking the top-left \"Back to Products\" arrow (or closing the tab \/ reloading) while any field is dirty now triggers the browser's native <code>beforeunload<\/code> confirmation instead of silently discarding edits. Dirty state is tracked on every input \/ textarea \/ select \/ contenteditable inside the editor body<\/li>\n<li>New: Quick-edit drawer <strong>featured product star<\/strong> \u2014 the slide-in quick edit panel from the products list now exposes the same featured-product star that lives in the row and the full product editor, so a product can be flipped in\/out of WooCommerce's featured pool without opening either screen. Backed by the same <code>brikpanel_toggle_featured<\/code> AJAX endpoint as the row icon; row + drawer star sync via a shared <code>applyQeFeaturedState()<\/code> so toggling either surface updates the other instantly. Works for both simple and variable products<\/li>\n<li>New: Optional advanced coupon restriction fields \u2014 the slide-over coupon editor stays minimal by default, but six WC-native restriction fields can now be enabled individually under WooCommerce \u2192 Settings \u2192 BrikPanel \u2192 Coupons: <strong>Products<\/strong>, <strong>Exclude products<\/strong>, <strong>Product categories<\/strong>, <strong>Exclude categories<\/strong>, <strong>Allowed billing emails<\/strong> and <strong>Limit usage to X items<\/strong>. Each toggle is checked both on the editor render side AND inside the AJAX save handler so a hostile payload cannot write to a field that an admin has not enabled. Closes the migration gap reported by users moving from heavy WC coupon workflows<\/li>\n<li>New: Drag-free <strong>dashboard section ordering<\/strong> \u2014 the existing \"Visible dashboard sections\" multiselect is now an ordered list with per-row visibility checkbox and up\/down arrow buttons (same pattern as the product editor section ordering), so dashboard cards can be both hidden and reordered without touching the drag-and-drop API. Order persists as <code>brikpanel_dashboard_section_order<\/code> JSON, and the dashboard renderer resolves the final order through a <code>brikpanel_dashboard_section_order<\/code> filter so developers can override programmatically<\/li>\n<li>New: \"Copy everything\" help tooltip \u2014 the previously-cryptic dashboard \"Copy everything\" button now ships with a question-mark icon next to it whose hover\/focus tooltip explains exactly what it does: bundles every dashboard metric (KPIs, top products, recent orders, customers, settings) into a single Markdown report and copies it to the clipboard, ready to paste into ChatGPT \/ Claude for instant store analysis. CSS-only popover, repositions right-aligned on screens under 900px<\/li>\n<li>New: <strong>Google Sheets<\/strong> integration ships with a \"Beta\" badge on its menu item and page header, and can now be fully disabled from WooCommerce \u2192 Settings \u2192 BrikPanel \u2192 \"Google Sheets integration\" with a single checkbox (<code>brikpanel_gs_module_enabled<\/code>, default on). When disabled, no admin page, no sync classes, no OAuth handlers and no <code>woocommerce_new_order<\/code> listener are registered \u2014 zero overhead on stores that do not use the connector<\/li>\n<li>Fix: Third-party <strong>brand \/ taxonomy columns<\/strong> in the products list now render as comma-separated, locale-aware brand labels instead of dumping the raw array (<code>Array<\/code> or <code>[\"Brand1\",\"Brand2\"]<\/code>). The ASE bridge routes any column whose source is a taxonomy through <code>get_the_terms()<\/code> + <code>sanitize_term_field()<\/code> + <code>wp_get_list_item_separator()<\/code> before output, with per-term escaping \u2014 fixes brand columns added by WooCommerce Brands, Perfect WooCommerce Brands, YITH Brands and any plugin that registers a taxonomy column on the products list<\/li>\n<li>Fix: Variable products created through the BrikPanel editor sometimes lost their variation selector on the storefront (notably reported on stores running the Blocksy Pro theme). Root cause: an in-flight <code>save_post<\/code> hook reloaded the parent product through WC's poisoned factory cache and silently flipped the <code>product_type<\/code> term back to \"simple\". <code>save_variations()<\/code> now reasserts the <code>variable<\/code> term with <code>wp_set_object_terms()<\/code>, clears WC's per-product <code>_type_<\/code> cache via <code>WC_Cache_Helper::get_cache_prefix()<\/code>, calls <code>clean_post_cache()<\/code>, and finally calls <code>WC_Product_Variable::sync()<\/code> on a freshly-instantiated parent so the frontend always recognizes the product as variable<\/li>\n<\/ul>\n\n<h4>2.9.1 (2026-05-12)<\/h4>\n\n<ul>\n<li>Critical fix: Google Sheets sync handlers were registered only inside the <code>is_admin()<\/code> gate, so Action Scheduler workers (WP-Cron \/ CLI) and the front-end <code>woocommerce_new_order<\/code> hook never saw them \u2014 real-time sync silently dropped new orders and bulk export failed with \"no callbacks registered\". Bootstrap now loads outside the admin gate (same pattern as BrikControl); admin menu \/ AJAX endpoints still self-gate to admin context<\/li>\n<li>Critical fix: \"Sync now\" was queueing an Action Scheduler job and returning immediately, leaving the user with no progress, no row count, and no completion signal. Now runs inline with a spinner, sticky \"Syncing\u2026\" toast, and a final success toast reporting actual rows + duration. Bulk export still paginates in the background via Action Scheduler when more rows remain<\/li>\n<li>New: \"Reset &amp; re-push everything\" button on the Orders tab \u2014 clears the <code>_brikpanel_gs_synced_at<\/code> flag from every order so the next Sync re-pushes the full history to the currently configured tab. Useful when renaming the target tab so the old history appears in the new tab<\/li>\n<li>New: switching the target spreadsheet now automatically resets sync state \u2014 every order is re-pushed to the new sheet on the next sync (was: silently kept the old \"synced\" flags so new sheet stayed empty)<\/li>\n<li>Improvement: Sync now feedback is data-driven \u2014 when nothing new was synced, the toast explains \"every order is already marked synced\" and points to the Reset button instead of returning silent zero<\/li>\n<li>Improvement: Reports \/ Customers \/ Orders sync handlers return structured stats (<code>rows<\/code>, <code>orders<\/code>, <code>more<\/code>) so manual sync can report exact numbers and the JS UI can refresh the \"Last successful sync\" stamp inline without a page reload<\/li>\n<li>Improvement: <code>ensure_tab<\/code> now detects pre-seeded empty tabs (created via the \"Create new spreadsheet\" flow) and writes their header on first sync instead of leaving them headerless. Existing tabs with non-empty headers are never overwritten<\/li>\n<li>Improvement: Reports analytics helpers (<code>brikpanel_get_total_revenue<\/code>, <code>brikpanel_get_visitor_count<\/code>, etc.) are now explicitly loaded by the reports-sync handler, so Sales Summary \/ Daily KPIs \/ Top Products \/ Funnel tabs work when running inside Action Scheduler workers (previously silently emitted zero rows)<\/li>\n<li>Improvement: Token refresh stays robust when <code>expires_at<\/code> has already lapsed \u2014 the lazy refresh path runs synchronously through the brksoft.com proxy and surfaces auth errors clearly<\/li>\n<\/ul>\n\n<h4>2.9.0 (2026-05-12)<\/h4>\n\n<ul>\n<li>New: <strong>Google Sheets integration<\/strong> \u2014 a fully native, one-click connector that streams BrikPanel data into a Google Sheet of your choice. Four flows ship in V1: (1) <strong>Real-time order sync<\/strong> \u2014 every new WooCommerce order is appended to a dedicated tab within seconds, with one row per line item so variations get their own row and attribute columns; status changes update the existing row in place via stored row indices kept in order meta. (2) <strong>Scheduled bulk export<\/strong> \u2014 Action Scheduler-backed hourly\/4h\/daily job that catches up historical orders matching a configurable date range and status set; same idempotency guarantee, so manually re-running \"Sync now\" never duplicates rows. (3) <strong>Analytics report snapshots<\/strong> \u2014 four overwrite-mode tabs (Sales Summary, Daily KPIs, Top Products, Funnel) are refreshed on an interval, exposing total-sales, conversion, AOV, refund\/conversion rates and the visitor \u2192 checkout funnel directly in Sheets for formulas and pivots. (4) <strong>Customer + RFM snapshot<\/strong> \u2014 chained to the nightly RFM recompute so the segments tab refreshes the moment the metrics table does. Authentication uses an OAuth proxy that BrikPanel hosts on brksoft.com (PKCE-protected handoff token, never sends the auth code through the browser URL); the plugin stores only encrypted access\/refresh tokens locally (sodium_crypto_secretbox keyed off AUTH_KEY + SECURE_AUTH_KEY) and requests minimum scopes \u2014 <code>spreadsheets<\/code> + <code>drive.file<\/code> (NOT full Drive). HPOS-compatible queries throughout, custom error log with bearer\/token redaction, exponential backoff on 429\/5xx, and full re-pin into the modern sidebar. Top-level menu page (Google Sheets) under WooCommerce \u2192 BrikPanel<\/li>\n<li>Developer: New WP-CLI-compatible Sheets API client (<code>Brikpanel_Sheets_Client<\/code>) using <code>wp_remote_*<\/code> with built-in 401-refresh, 429 exponential backoff, and 403 rateLimitExceeded handling \u2014 no Composer dependency added. Reusable foundation for the planned Google Ads integration in 3.0<\/li>\n<\/ul>\n\n<p>For the full release history of older versions, see <a href=\"https:\/\/plugins.svn.wordpress.org\/brikpanel-admin-panel-dashboard-for-woocommerce\/trunk\/changelog.txt\">changelog.txt<\/a> bundled with the plugin.<\/p>","raw_excerpt":"Free WooCommerce dashboard &amp; sales report: Google Sheets sync, ROAS, bulk editor, inventory management &amp; live visitors","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/226093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=226093"}],"author":[{"embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brksoft"}],"wp:attachment":[{"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=226093"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=226093"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=226093"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=226093"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=226093"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=226093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}