First Setup
What You’ll See After Activation
After activating, navigate to Kascado → Customer Dashboard. What appears depends on whether the plugin can detect B2B customers automatically.
- If a B2B plugin is installed and active: Customer Dashboard automatically detects your wholesale customers from B2BKing, WholesaleX, Wholesale Suite, or WooCommerce Wholesale Pro by Barn2. You’ll see your customers classified into Active, At Risk, and Dormant immediately.
- If no B2B plugin is installed: Customer Dashboard falls back to detecting customers with two or more completed orders. This works on vanilla WooCommerce stores where retail-only customers won’t qualify, but legitimate B2B customers ordering multiple times will be detected.
- If the dashboard appears empty: Either no customers match the detection rules yet, or your B2B customer roles need to be configured manually. See the empty state section below.
Understanding the Empty State
An empty dashboard means Customer Dashboard couldn’t identify any B2B customers using its detection rules. This is the most common first-setup issue and is fixable in two ways.
Option 1: Verify your B2B plugin is creating expected roles or meta
If you use a B2B plugin, verify that your customers have the correct roles or user meta assigned. Customer Dashboard looks for:
- Wholesale Suite: Users with the
wholesale_customerrole - B2BKing: Users with the
b2bking_customerrole, or users withb2bking_customergroup/b2bking_b2busermeta - WholesaleX: Users with the
__wholesalex_rolemeta (note: double underscore prefix) - Barn2 WooCommerce Wholesale Pro: Users with the
wcwp_wholesalerole
Option 2: Configure custom B2B roles
If your store uses custom roles for wholesale customers, tell Customer Dashboard to recognize them.
- Navigate to Kascado → Customer Dashboard.
- Click the gear icon in the dashboard header to open settings.
- Scroll to the B2B Customer Detection section.
- Check the boxes next to any custom roles that represent your wholesale customers.
- Click Save Changes.
The dashboard will refresh and show customers with those roles.
Adjusting Classification Thresholds
Customer Dashboard ships with sensible defaults that work for most B2B stores. The two thresholds you might adjust on first setup are:
- Active days (default 30): Customers who placed an order within the last N days are Active. Lower this number if your B2B customers typically order more frequently. Raise it if your customers order less often.
- At-risk days (default 90): Customers who haven’t ordered for more than N days are Dormant. Customers between the active and at-risk thresholds are At Risk.
For example, if your typical B2B customer orders every 6–8 weeks, the default 30-day Active threshold might mark too many customers as At Risk unnecessarily. Try setting Active days to 45 or 60.
You can adjust thresholds anytime. The dashboard recalculates classification automatically. See the Activity Thresholds section below for full details on every threshold setting.
Verify B2B Detection Is Working
After configuring B2B detection, return to the dashboard and check:
- Customer count matches expectations. If you know your store has approximately 50 B2B customers, the dashboard should show roughly that many.
- Customers are classified into Active, At Risk, and Dormant. All three statuses should show counts. If everything is Dormant, your at-risk days threshold may need adjustment.
- Revenue numbers look correct. Revenue at risk and total revenue should align with your understanding of your B2B revenue.
If something looks wrong, see the Troubleshooting guide.
Accessing Settings
The Customer Dashboard settings page is accessed from the dashboard itself. There’s no separate menu entry — settings are scoped to the plugin.
- Navigate to Kascado → Customer Dashboard.
- Click the gear icon in the dashboard header (top right).
- The settings page opens with four sections: Activity Thresholds, Revenue Calculation, B2B Customer Detection, and Performance.
To return to the dashboard from settings, click the ← Back to Dashboard link at the top of the settings page.
Activity Thresholds
These three settings control how customers are classified as Active, At Risk, or Dormant, and when the Slipping alert triggers.
Active days
Default: 30 · Minimum: 1 · No upper limit
A customer is classified as Active if their most recent order matching the configured revenue statuses was placed within the last N days. Values below 1 are clamped to 1.
- 30 days — monthly ordering (default)
- 45–60 days — 6–8 week ordering cycles
- 90 days — quarterly ordering
At-risk days
Default: 90 · Minimum: active days + 1 · No upper limit
The boundary between At Risk and Dormant. At-risk days must always be greater than active days. If you enter a value less than or equal to active days, the plugin automatically clamps it to active_days + 1 and displays a notice explaining the adjustment. For example, if active days is 30 and you enter 25 for at-risk days, the saved value will be 31.
- 90 days — default
- 120 days — quarterly customers
- 180 days — conservative
Slipping percentage
Default: 50% · Range: 1–500%
The Slipping alert triggers when a customer’s most recent gap between orders exceeds their average gap by this percentage. Requires at least 2 orders. For example, a customer who historically orders every 30 days on average but whose latest gap is 50 days (67% longer) would trigger the Slipping alert at the default 50% threshold.
- Lower values (1–30%) — aggressive; flags small changes in ordering rhythm
- 50% (default) — balanced; catches meaningful slowdowns
- Higher values (100%+) — conservative; only flags dramatic changes
B2B Customer Detection
These settings control which customers Customer Dashboard includes in its analysis.
Built-in B2B roles (read-only)
Customer Dashboard automatically recognizes three built-in wholesale roles. These are always included and cannot be removed. Only roles that actually exist on the site are checked.
wholesale_customer— Wholesale Suiteb2bking_customer— B2BKingwcwp_wholesale— Barn2 WooCommerce Wholesale Pro
Custom B2B roles
If your store uses custom roles for B2B customers, select them here. The settings page shows all WordPress roles as checkboxes, excluding the three built-in B2B roles. Custom roles are detected in addition to built-in roles, not instead of them.
Minimum orders for fallback detection
Default: 2 · Range: 1–100
When role-based and meta-based detection find zero matching customers, Customer Dashboard falls back to detecting customers with at least N completed orders. This fallback only activates when role and meta detection find zero matches — it prevents retail repeat buyers from being folded into the B2B set on stores that have a B2B plugin installed.
Excluded accounts
Comma-separated list of user IDs or email addresses to exclude from the dashboard. Each entry must be either a numeric user ID or a valid email address. Useful for excluding owner accounts, test accounts, or internal staff.
Example: 42, owner@yourstore.com, 105, accounting@yourstore.com
Revenue Statuses
Default (new installs): Completed and Processing
Controls which WooCommerce order statuses count toward revenue in all dashboard calculations: headline metrics, customer table, CSV export, charts, and alerts.
The settings page shows checkboxes for every registered WooCommerce order status. Select the statuses that represent real revenue for your store.
New installs vs. upgrades
- New installs default to
CompletedandProcessing. - Stores upgrading from a version before this setting existed have
Completed,Processing, andOn Holdselected automatically, preserving prior behavior.
If you upgraded and see on-hold revenue included when you don’t want it, uncheck On Hold in settings.
Empty selection fallback
At least one status must be selected. If all statuses are unchecked, the plugin falls back to Completed only.
Performance
Cache refresh interval
Default: 1 hour
How often Customer Dashboard recalculates customer data from scratch. Available intervals:
- 5 minutes, 15 minutes, 30 minutes
- 1 hour (default)
- 6 hours, 12 hours, 24 hours
The cache is also invalidated automatically when orders are created, updated, or change status, when user profiles or roles change, when a user is deleted, or when plugin settings are saved.
You can manually refresh anytime by clicking the “Last updated: X minutes ago” link in the dashboard header.
Order history window
Default: 2 years
How many years of order history to scan when calculating customer metrics. Available options:
- 1 year, 2 years (default), 3 years
- 5 years, 10 years, All time
For most B2B stores, 2 years captures the relevant ordering pattern without scanning unnecessary historical data.
History window and the All Time range
When the history window is set to a value other than All Time, the “All Time” range pill on the dashboard shows all data within the configured window, not truly all historical data. The dashboard displays a notice indicating the effective date range.
To see truly all revenue, set the order history window to All Time in settings, then select the All Time range pill on the dashboard.
Dashboard Notices
Guest order notice
Orders placed by guest checkout (no registered account) are excluded from all dashboard calculations. When guest orders exist in the selected date range, the dashboard displays a notice showing how many guest orders were excluded.
For accurate B2B analytics, ensure wholesale customers create accounts at checkout. Most B2B plugins enforce account creation.
History window notice
When the order history window constrains the selected range, a notice appears showing the effective date boundaries. See History window and the All Time range above.
Saving Settings
After making changes, click Save Changes. Customer Dashboard validates all inputs, invalidates the data cache, and returns you to the settings page with a confirmation message. If any value was automatically adjusted (such as at-risk days being clamped above active days), a notice explains the adjustment.