## 2.0.2
- CSV exports neutralize formula prefixes in free text so search terms are not executed as formulas in spreadsheet software
- Customer filters no longer use getQueryPart, which was removed in DBAL 4
- Scheduled report delivery errors are propagated so the message queue retries them
- Net profit converts revenue to net before subtracting net purchase costs
## 2.0.1
- Foreign currency: turnover is divided by the stored currency factor and converted into the system currency
- Tracking runs only after cookie consent; cookies are registered in Shopware consent and the merchant sets the legal classification
- Retention period with a daily cleanup of visitor, impression, search and funnel data
- Scheduled reports: errors are logged and rethrown so the message queue retries them
- Removed empty directories and unused export code
# Changelog
## 2.0.0
- Compatibility with Shopware 6.7 (dedicated plugin version for the 6.7 line)
- Administration: native Vue 3 (`$t`, `Shopware.Store`, `beforeUnmount`), Vite build
- Feature set matches 1.2.0 of the Shopware 6.6 line
## 1.2.0
- Drilldown: row → related orders/products
- Extended filters (tags, currency factor, avgDays, manufacturer, groupByEmail, product stream UI)
- New insights: critical stock, zero-result search, payment abandonment, profit drop
- Period comparison (vs previous period)
- Scheduled CSV reports by email
- Manual recovery dispatch from abandoned cart list
- Checkout funnel tracking + statistic
- Live refresh for “currently in shop”
- UTM tracking + statistics
- XLSX export and profit backfill in plugin settings
## 1.1.7
- Statistics content uses available width dynamically (left nav / right filter sidebar)
## 1.1.6
- Insights page centered like other dashboard content
- “Open statistic” deep-links to the matching statistic including the 7-day range
## 1.1.5
- Dashboard: compact Insights card (top 3) with link to the full Insights page
## 1.1.4
- Recovery links in plugin settings open in a new tab
## 1.1.3
- Plugin settings: direct links to abandoned-cart mail template and Flow
## 1.1.2
- Default abandoned-cart recovery Flow is inactive by default (enable after customizing the template)
## 1.1.1
- Default Flow and mail template for cart recovery are installed automatically (`axoli.statistics.abandoned_cart.detected`)
## 1.1.0
- New: Insights engine with 5 rules (conversion, abandoned spike, top abandoned product, traffic without revenue, mobile gap)
- Daily scheduled task + manual evaluation in admin
- Ack/snooze, deep links into statistics, abandoned-cart CSV export
- Optional alert mails and Flow trigger `axoli.statistics.abandoned_cart.detected`
## 1.0.11
- Category/manufacturer/product impressions show names or SEO URLs instead of technical `/navigation/{uuid}` paths
## 1.0.10
- Left navigation: collapsible category folders with Shopware tree look (chevrons, guide line, favorites)
## 1.0.9
- Abandoned carts: customer links open in a new tab
- Right-hand filters as collapsible Shopware sidebar (badge with active filter count)
## 1.0.8
- Sales channel filter applies to visitors, referrers, impressions, searches and conversion visitors
## 1.0.7
- Visitor tracking: stable visitor id (Shopware `session-*` cookie / fingerprint), IP-based dedupe
- Conversion/visitor stats count unique visitors via `COALESCE(ip_hash, session_id)` – fixes inflated values from rotating session ids
## 1.0.6
- Conversion and visitor statistics count unique sessions (`COUNT(DISTINCT session_id)`)
## 1.0.5
- Category revenue: show overview without category selection; selection remains an optional filter
## 1.0.4
- Abandoned carts: hide carts that were already converted to orders (same customer/email, amount or products)
## 1.0.3
- Abandoned carts: clickable customer name/email/number opens the customer detail page
## 1.0.2
- Abandoned carts: link and display customer name, email and customer number when available
- Migration: add `customer_id` column to `axoli_statistics_cart`
## 1.0.1
- Migration: add `axoli_statistics_cart` table for abandoned-cart sales channel mapping
- Abandoned-cart statistics respect the sales channel filter (Shopware 6.6 without `cart.sales_channel_id`)
## 1.0.0
- Initial release: Professional shop statistics for Shopware 6.6
- 60+ statistics across overview, revenue, orders, marketing, profit, products, customers, abandonment and visitors
- Admin module under Content > Statistics with navigation, charts, tables and filters
- Per-user favorites and dashboard widgets
- CSV export, ACL privileges, visitor tracking, search tracking and optional profit calculation
- Configuration for gross/net, status exclusions, CSV format and bot/IP blacklist
## 1.2.2
- CSV exports neutralize formula prefixes in free text so search terms are not executed as formulas in spreadsheet software
- Customer filters track the customer join without reading the query builder's internal join list
- Scheduled report delivery errors are propagated so the message queue retries them
- Net profit converts revenue to net before subtracting net purchase costs
## 1.2.1
- Foreign currency: revenue is divided by the stored currency factor and converted into the system currency
- Tracking only after cookie consent; cookies are registered in Shopware consent, the merchant chooses the legal classification
- Retention period with a daily cleanup of visitor, impression, search and funnel data
- Scheduled reports: errors are logged and rethrown so the message queue retries them
- Empty directories and unused export code removed
# Changelog
## 1.2.0
- Drilldown: row → related orders/products
- Extended filters (tags, currency factor, avgDays, manufacturer, groupByEmail, product stream UI)
- New insights: critical stock, zero-result search, payment abandonment, profit drop
- Period comparison (vs previous period)
- Scheduled CSV reports by email
- Manual recovery dispatch from abandoned cart list
- Checkout funnel tracking + statistic
- Live refresh for “currently in shop”
- UTM tracking + statistics
- XLSX export and profit backfill in plugin settings
## 1.1.7
- Statistics content uses available width dynamically (left nav / right filter sidebar)
## 1.1.6
- Insights page centered like other dashboard content
- “Open statistic” deep-links to the matching statistic including the 7-day range
## 1.1.5
- Dashboard: compact Insights card (top 3) with link to the full Insights page
## 1.1.4
- Recovery links in plugin settings open in a new tab
## 1.1.3
- Plugin settings: direct links to abandoned-cart mail template and Flow
## 1.1.2
- Default abandoned-cart recovery Flow is inactive by default (enable after customizing the template)
## 1.1.1
- Default Flow and mail template for cart recovery are installed automatically (`axoli.statistics.abandoned_cart.detected`)
## 1.1.0
- New: Insights engine with 5 rules (conversion, abandoned spike, top abandoned product, traffic without revenue, mobile gap)
- Daily scheduled task + manual evaluation in admin
- Ack/snooze, deep links into statistics, abandoned-cart CSV export
- Optional alert mails and Flow trigger `axoli.statistics.abandoned_cart.detected`
## 1.0.11
- Category/manufacturer/product impressions show names or SEO URLs instead of technical `/navigation/{uuid}` paths
## 1.0.10
- Left navigation: collapsible category folders with Shopware tree look (chevrons, guide line, favorites)
## 1.0.9
- Abandoned carts: customer links open in a new tab
- Right-hand filters as collapsible Shopware sidebar (badge with active filter count)
## 1.0.8
- Sales channel filter applies to visitors, referrers, impressions, searches and conversion visitors
## 1.0.7
- Visitor tracking: stable visitor id (Shopware `session-*` cookie / fingerprint), IP-based dedupe
- Conversion/visitor stats count unique visitors via `COALESCE(ip_hash, session_id)` – fixes inflated values from rotating session ids
## 1.0.6
- Conversion and visitor statistics count unique sessions (`COUNT(DISTINCT session_id)`)
## 1.0.5
- Category revenue: show overview without category selection; selection remains an optional filter
## 1.0.4
- Abandoned carts: hide carts that were already converted to orders (same customer/email, amount or products)
## 1.0.3
- Abandoned carts: clickable customer name/email/number opens the customer detail page
## 1.0.2
- Abandoned carts: link and display customer name, email and customer number when available
- Migration: add `customer_id` column to `axoli_statistics_cart`
## 1.0.1
- Migration: add `axoli_statistics_cart` table for abandoned-cart sales channel mapping
- Abandoned-cart statistics respect the sales channel filter (Shopware 6.6 without `cart.sales_channel_id`)
## 1.0.0
- Initial release: Professional shop statistics for Shopware 6.6
- 60+ statistics across overview, revenue, orders, marketing, profit, products, customers, abandonment and visitors
- Admin module under Content > Statistics with navigation, charts, tables and filters
- Per-user favorites and dashboard widgets
- CSV export, ACL privileges, visitor tracking, search tracking and optional profit calculation
- Configuration for gross/net, status exclusions, CSV format and bot/IP blacklist