User Manual - Advanced Reports
- Installing Advanced Reports
- Updating to a New Version
- Set up cron
- Uninstalling Advanced Reports
- Introducing Advanced Reports
- Using Advanced Reports
- Extension Settings
- Report Indexes
Magento 2 Advanced Reports provides a comprehensive overview of a web store performance. The data reported comes via 10 report widgets and 13 reports made against a variety of metrics providing a comprehensive overview of your web store performance. The data reported can be compared/contrasted by various time periods, furthermore it can be sorted by specific customer segments. Each report reflects a specific aspect of performance of the store at a varying level of elaboration. The reports can be viewed and emailed, due mailing schedule arranged.
Compatibility: Magento Open Source 2.3.X -2.4.X, Magento Commerce 2.3.X -2.4.X
Installing Advanced Reports
Command Line Installation
- Backup your web directory and store database
- Download the Advanced Reports installation package
- Upload contents of the Advanced Reports installation package to your store root directory
- In SSH console of your server navigate to your store root folder:
run the following command:
php -f bin/magento module:enable Aheadworks_AdvancedReports
php -f bin/magento setup:upgrade
php -f bin/magento setup:static-content:deploy
5. Flush store cache; log out from the backend and log in again
Make sure the installation is done from the FTP Administrator account. Otherwise, set 775 permissions to the store root directory after the extension is deployed.
If you are installing an extension from Aheadworks for the first time, you need to add our composer repository to your Magento store:
1. Login to your ssh console and navigate to your store folder:
Run the following command:
composer config repositories.aheadworks composer https://dist.aheadworks.com/
On successful execution of the command you will be able to use the composer to install the extensions.
To install the extension:
2. Login to your ssh console and navigate to your store folder:
3. Run the following command to install the latest version of the extension:
composer require aheadworks/module-advanced-reports
if you need to install a specific version, run this command:
composer require aheadworks/module-advanced-reports:<version>
Specify the version of the extension in <version>
When prompted, enter Public Key (Username) and Private Key (Password):
Both Public Key (Username) and Private Key (Password) can be found in My Projects and Licenses in your personal account on our site:
4. Enable the extension:
php -f bin/magento module:enable Aheadworks_AdvancedReports
Next, register the extension:
Recompile your Magento store if you are in the Production mode:
To verify that the extension is enabled, run this command:
Clean store cache, by running the following command:
Log out and Log in the backend again.
To upgrade the extension:
5. To update or upgrade an extension:
Download the updated extension file. Take note of the module-name and version. Export the contents to your Magento root.
If a composer package exists for the extension, run one of the following.
Update per module name:
composer update aheadworks/module-advanced-reports
Updater per version:
composer require aheadworks/module-advanced-reports:<version>
Run the following commands to upgrade, deploy, and clean the cache.
php bin/magento setup:upgrade --keep-generated
Updating to a New Version
On updating to a newer version, reindex the Advanced Reports extension via the console. To do this, follow the steps below:
Reindexing will start. Note, that the command above doesn't reindex the whole store, but the reports tables only.
Reindexing is essential to have the new tables/columns filled with the relevant data on loading the newer version of the extension.
With the release of the version 2.7.0, the database is not blocked (as it was in the previous versions) when reindexing is run.
Set up cron
Skip this step if you have already configured cron or if you are familiar with the job. Otherwise, read the following instructions on setting cron job on your Magento store: Magento user guide.
Generally, it is enough to run the following command in the SSH console:
And insert the following lines:
*/3 * * * * php -c <ini-file-path> <your Magento install dir>/bin/magento cron:run
Confirm the Save request before exit.
Uninstalling Advanced Reports
Since Magento introduced declarative Database you need to be very carefull when uninstalling or disabling the module.
NOTE: Please be very careful when uninstalling/disabling this module. This module uses a declarative DB scheme. Once the module is uninstalled the DB tables will be lost.
1. Disable the module by executing the following commands:
php bin/magento module:disable Aheadworks_AdvancedReports
2. Remove the extension files from the following folder:
Automatic Removal (via Composer)
1. Disable the module by executing the following commands:
php bin/magento module:uninstall Aheadworks_AdvancedReports
|2.11.1 and earlier versions||
2.3.Х - 2.3.6
2.4.0 - 2.4.3
|7.4 and earlier versions|
|As of version 2.11.2||
2.4.0 - 2.4.4
Introducing Advanced Reports
To help reflect on the performance of a store Magento 2 Advanced Reports suggests 13 reports, 4 general and 8 detailed.
- Sales Overview shows cumulative essentials on orders placed within the given period;
- Traffic and Conversion lists conversion rates (ratios of unique visitors to orders they placed) against the given periods;
- Abandoned Carts introduces cart abandonment statistics;
- Customer Sales suggests details on purchases within the given sales ranges.
- Product Performance – a sales-per-product report;
- Sales Detailed - a sales-per-order report;
- Sales by Category – a sales-per-category report;
- Sales by Product Attributes - a sales-by-attribute (set of attributes) report (only attributes with the 'Use for Promo Rule Conditions' option enabled are processed);
- Sales by Location - a sales-by-location report (helps identify new promotional campaigns);
- Sales by Coupon Code – a sales-by-discount report;
- Sales by Payment Type – a sales-by-payment type report to tell the number of orders placed and items ordered per payment method;
- Sales by Manufacturer – a sales-by-manufacturer report to analyze sales perspectives per manufacturer;
- Sales by Hour – a “sales-by-hour” report to figure out which time intervals bring more sales.
Advanced Reports is totally a backend module. The module facilitates store admins with comprehensive statistics on various aspects of their store performance. Each aspect is reflected upon in a report. The reports are accessible from either the menu or dashboard. The dashboard furthermore allows for comparison and contrast of data with regard to the given time period. The period is set with the help of the advanced calendar.
The extension allows configuring reports both in bulk and individually. Configuration includes settings for scheduled emailing of reports or their parts. Emailing could be done to multiple addresses.
- Refer a Friend
- Gift Card
- Reward Points
- Store Credit and Refund
- Customer Segmentation
- Web API
- GraphQL support
The latest versions of the extension (2.11.0) enable the following:
- Speed up full reindex
- Previous/Next period button for Calendar
Using Advanced Reports
The dashboard shows 10 configurable widgets to reflect on the overall performance of the store.
The widgets come as 8 numeric and 2 chart ones. Each widget has the following elements:
- Name - performance indicator (clickable);
- Total (in bold) - the total $, # or % of the index as of the current period (see below for details);
- Total (faded out) - the total of the index as of the previous period (see below for details);
- Increment (green) - the ratio between the two totals / decrement (red);
- View Report - an active link to the full report.
The increment comes in % by default. Hover the mouse cursor over the increment to see absolute values.
In addition to the above, the chart widgets will show relevant trends (for example, conversion rate by time period) and legends telling the time periods in comparison. Hovering the cursor over the trend milestones will show a popup telling the value of the X time-line in that point of time (day, month or other augment).
Finally, the dashboard has a set of filters (see top of the page). You can track the performance of a selected customer group and/or store view.
Changing widget content
The module enables changing the content of the widgets. To do so, click on the name of the widget. A folding list will appear showing three categories of indices available for display. The indices and categories are as follows in the table below.
|Traffic and Conversions||Abandoned Carts|
On choice of an index the widget will update its data.
The content of the widgets is saved automatically, so you will not need to configure the widgets every time you enter the dashboard page.
You can save several dashboard views as bookmarks and later switch between them with the help of the View block in the top right.
Setting Comparison Period
The dashboard presents data in comparison and contrast. To set the periods for statistical comparison refer to the Comparison Period Block in the top right.
The block comes as a dropbox with the following options:
- Week to Date
- Last 7 Days
- Last Week (Sun - Sat)
- Last Business Week (Mon - Fri)
- Month to Date
- Last Month
- Last Quarter.
On choice of the current period the period for comparison will be set automatically one step back. For example, Today will be compared to Yesterday, Yesterday to the day before, and so on.
Advanced Reports also allows for setting custom periods for comparison. This feature is only available in the Calendar, which in turn is only available on the pages of the reports, not on the Dashboard page.
The Calendar features an additional option the list of options for comparison above - "Custom Date Range". On enabling this option, either type-in the dates in the date fields, or select the dates on the calendar tables to the left. To set a custom comparison period, activate the checkbox next to the "Compare to" feature and select 'Custom' in the drop list. The date range fields will then become active. Type-in the dates in the comparison date fields, or select the dates on the calendar tables to the left.
The choice of the time period will be saved automatically on page reload or when surfing to another page.
To get access to the reports go to Reports > Advanced Reports by Aheadworks. Alternatively, should you find yourself on the Dashboard page click the View Report active link on the widget (see Dashboard Layout above). Finally, you may employ the Navigation menu.
Generally, each report page has the following elements:
- Navigation menu – used for quick navigation within the extension. With the help of the navigation menu, you can switch to the required report.
- Calendar – used to set the period for reporting. It comes with the same predefined reporting periods as the report dashboard. Setting custom comparison periods is also possible.
- Report intervals – used to quickly group the data reported by the one of the four periods: day, week, month, quarter and year;
You can generate a report from a whole month's data (1st to 31st) and then group it by day (31 entry – day-by-day sales), week (5 entries – week total sales), or month (1 entry – month sales total).
- Report chart – used to present sales data in a visual form;
- Chart parameters - these represent the legend for the visualization;
- Dual Y-axis - two-axis charts present data against the two prearranged key-indices, thereby they are twice more informative;
- Totals block - represents the totals for quick examination;
- Report grid – represents the data built against the period defined in the calendar;
- Filters and report grid adjustments - represent a set of filters, including Customer Group, Segment, Store View, as well as some other tools for filtering and arranging reports
For more convenience, the generated reports can be later exported to *.csv or *.xml tables with the help of the 'Export' button above the report grid.
Generating a Report
The extension comes with 13 reports each covering a specific aspect of performance of the store. To generate a report, take the following steps:
Step 1 - Select the required report from the list (go to Reports > Advanced Reports by Aheadworks).
Step 2 - Use the calendar to select the required report date range and click the 'Apply' button.
Step 3 - The report is generated. Now, you can adjust the period for reporting and data grouping to get the required presentation. Adjust filters if necessary.
Step 4 - Once the required filters are selected, save the current view by expanding the 'Default View' box and clicking Save view as.
The saved view will be available on all Advanced Reports pages. It can be recalled anytime you make changes to the filters or the report grid.
All reports are interconnected. It means that you can consecutively get a deeper picture of the report subject matter.
Taking the 'Sales Overview' report as a starting point, you can navigate to a 'Product Performance' report by clicking on an entry in the report grid. Next, clicking on the entry in the 'Product Performance' report will take you to an 'Individual Product Performance' report page.
You can use the breadcrumb trail above each report chart to navigate the sequence of reports.
The available drill-down scenarios are as follows:
- Sales Overview > Product Performance;
- Product Performance > Product Variant Performance;
- Sales by Category > Product Performance;
- Sales by Coupon Code > Sales Overview;
- Sales by Payment Type > Sales Overview;
- Sales by Manufacturer > Product Performance;
- Traffic and Conversions > Product Conversion >
- Sales by Location > Sales by State/Region > Sales by City/Place.
To configure the report, click on the Report Settings option in the Grid Management Bar.
A popover will appear, suggesting two blocks for customization: Order Statuses and Report Configuration.
The former comes as a list of order statuses available for selection. Only orders of selected herein statuses will be the sources of data for the given report. By default the list is disabled, the values set for all reports on the Extension Settings page are used. Disable the checkbox next to the 'Use Default Value' to customize the list of statuses.
The Report Configuration block allows for columns customization. You can substitute the default names of the report columns with your text, and also to decide whether data in these columns are to be exported to emails (see the checkbox next to the column name).
The Customer Sales and Sales Detailed reports will also feature the Include Refunded Items toggle. This option is meaningful only for these two reports, and thereby is not available for other.
Allow filtering Advanced Reports by Customer Segments
When Filter by Customer Segments is enabled in Advanced Report configuration, store admin can select a particular customer segment, and apply it to certain reports. The sales data in the report are being related to a Customer segment list. When the user chooses the customer segment according to this the data in the report's grid are filtered.
The Customer Segments Filter is available for:
- Sales Overview
- Product Performance
- Product Variation Performance
- Sales by Category
- Sales by Coupon Code
- Sales by Payment Type
- Sales by Manufacturer reports.
If the filter has been applied to a report, its effect is saved on reports that available are drill-down scenarios.
The filter by Customer Segments will work along with Advanced Reports if both modules AW Customer Segmentation (1.2.3 or newer) and Advanced Reports are installed.
To activate the filter by Customer Segments you need set to "Yes" the Enable Filter by AW Customer Segments option from Stores > Configuration > AHEADWORKS EXTENSIONS > Advanced Reports tab.
After the Filter is enabled, the relevant data for filtering will be available as soon as the next Reindex of the Advanced Reports module is passed. Tasks for updating the Index of Advanced Reports and Customer Segmentation modules are automatically added to the list for updating.
If you enable the Customer Segment filter, Reindexing time and report’s performance will slow down. These performances also depend on the number of enabled and created segments and users in them. If the filter is disabled, there are no changes to the Reports performance and Reindex time.
Principal details of the applying Customer Segments filter for Advanced Reports are:
- Order and Segment are correlated when both belong to the same store level or have a one-to-many parent/child relationships structure.
- Customers who have made orders are on the list of “Matched Customers” in the “Customer Segments”. The information from Matched Customers grid is taken at the moment of the last Advanced Reports Reindex update.
- Orders made by guests will associate with certain segments through the “Store id” and “Email".
- Orders made by registered users will associate with certain segments through the “Store id” and “Customer id”.
Also, customer group id is taken into account for linking sales orders with customer segments.
The date and other conditions which are taken into account when creating a Customer Segment do not affect the application of filtering by Customer Segment in the reports except the store view setup.
The Customer Segments drop-down consists of the following items:
- Customer Segments - set by default and means that the filter is not applied.
- No Segments - the filter excludes all data that don't belong to the customer segments.
- Customer Segments - data in the grid will filter according to the list of customers belongs to the segment.
- If the status of Customer Segment is set to "disabled" then it will be marked as disabled in the dropdown filter. You can apply a filter to such a Customer Segment, but the data quality may not be relevant at the time of application.
All existing filters and settings can be applied together with the filter by Customer Segments.
Example: Sales by Hour report
Sales by Hour report detects the optimal time interval for marketing campaigns and lets you know when your store managers have the most workload.
The report shows stats data primarily based on the number of products sold (Quantity) or the Total sum paid by customers within a specific time period.
Overall it consists of the following columns:
- Number of Orders;
- Items Ordered;
The data in the report's grid is grouped by the following conditions:
If the order is made from 00.00 till 00.59 - it places to the span time - 00.00.
If the order is made from 01.00 till 01.59 - it places to the span time - 01.00.
If the order is made from 02.00 till 02.59 - it places to the span time - 02.00 etc.
The Sales by Hour report is configurable and has a set of filters, including Customer Group, Segment, Store View, as well as some other tools for filtering and arranging reports. The data in the report are formed according to the period in the calendar or by custom date range. The other standard settings such as those in the already existing reports.
The time format of the first report's column depends on the Interface Locale belonging to the Admin role and supports several options for time zones.
The chart for the Sales by Hour report allows to visually represent the data in the grid. The diagram is available for the whole time range and shows the dynamics of sales belongings to a certain time of span. The Y-axis is associated with the "Total" indicator. The X-axis is associated with the "Sales Time" indicator, starting from 00.00 and ending at 23:00.
The column "Other Discounts" appears in the report's grid if the one or more of the following: Store Credit, Reward Points, Gift Card (EE) and Store Credit, Reward Points, Gift Card, Raf (AW) modules installed.
The Other Discounts column consists of the sum applied totals of Store Credit, Reward Points, Gift Card (EE) and Store Credit, Reward Points, Gift Card, Raf (AW).
If the "Other Discount" column is available the Total is added up by the following formula: Total = Invoiced +Other discount.
The general settings of the extension can be accessed from Stores > Configuration > AHEADWORKS EXTENSIONS > Advanced Reports.
The Settings page comes in two blocks: General Settings and Scheduled Email Reports.
The General Settings block allows tweaking Order Statuses, Ranges, and Manufacturer Attribute.
- Order Statuses - select orders to provide data for the reports. By default, only 'Complete' orders will be processed.
If required, you can select multiple order statuses using either of the two hot-keys: press Shift, hold Right Button, select to select a group of orders or press CTR, click right button to select order statuses one by one.
Specifying order statuses herein will extend the selection over all the reports. See Configuring Reports above for individual configuration of reports.
- Enable Filter by AW Customer Segments - set to enable or disable Customer Segments Filter for the Sales Overview, Product Performance, Product Variation Performance, Sales by Category, Sales by Coupon Code, Sales by Payment Type, Sales by Manufacturer reports. By default filter is disabled;
- Price Ranges - set price ranges to be used by the 'Customer Sales' report;
- Manufacturer Attribute - the product attribute to be used as the key parameter within the 'Sales by Manufacturer' report. The dropbox lists the following options: 'Manufacturer', 'Color', 'Size', and 'Format';
- Google Maps API Key - set it up to provide the correct work of Geo chart Sales by Location report.
If you don’t have a valid Google Maps API Key follow the link to get detailed instructions on its creation.
There are two API's you have to enable in the APIs tab Google Cloud Platform for the correct work of the extension:
To verify these settings, please follow the link.
Once done, click Save Config in the top right of the page, or proceed to the next step.
As of version 2.9.0 Advanced Reports allows scheduling emails containing reports. It is possible to send full reports or parts of thereof. Furthermore, the extension supports multi-address mailing.
The Scheduled Email Reports block of the Settings page contains the following configuration options:
- Reports to export - a list of all available in the extension reports (multiselect is possible)
- Recipients - email addresses of the recipients (separate addresses with a comma)
- When to send - trigger event for email dispatch (select one of the three: first day of a week/month/quarter)
- Group by - grouping criteria (select one of the five: day/week/month/quarter/year)
- Email Template - selection of email templates (AW Advanced Reports - Scheduled Email Report by default)
- Report Format - a format of the attachment document to contain the report (Excel XML or CSV)
- Email sender - a selection of email senders as configured in the store.
Leave the Recipients field blank to disable scheduled emailing of reports.
Once done, click Save Config in the top right of the page.
Starting from version 2.0.0, the extension introduces report indexes which facilitate faster data load, a period for reporting specified.
Report indexing eliminates the need for report generation on demand. Basically, the reports are generated once a day (or more frequently depending on the cron settings). Post-generated results are loaded when you open a report.
Report indexing is particularly useful for busy stores processing large numbers of orders. For example, it should not take more than a couple of minutes to reindex ~200k orders on a decent server hardware. Considerable lags on reports generation may occur otherwise.
How to index reports?
As it was mentioned above, the reports are indexed automatically depending on your store cron setup. By default, cron runs once a day, meaning that the data reported will always be up-to-date.
You can always run reindexing manually, however, it involves console usage.
Once reindexing is done, the reports will feature latest data.
Will the Advanced Reports extension process those orders which were placed before the installation?
Yes, the Advanced Reports extension will index ALL orders which have been placed in the store.
With the release of version 2.7.0, the database is not blocked (as it used to be in the previous versions) when reindexation of the module is run.
I have deleted the product. Will it impact the reports?
If the product was deleted, the 'Product Performance' report will erase the SKUs of the product from the order table. It means that configurable products and products with custom options will have their SKUs marked as 'product was deleted'. The deleted products will not impact the report performance or the data generated.
I can't see the attribute in the 'Sales by Attributes' report!
Make sure you have enabled the 'Use for Promo Rule Conditions' option for the attribute you cannot find in the report. If required, refresh cache and reload the page.
Why can I not see some configurable and bundle products in the 'Sales by Attributes' report?
It depends on whether you have set a dynamic or fixed price for the corresponding configurable and/or bundle products.
- If you have set dynamic prices - only child products will be considered while building the report;
- If you have set fixed prices - both parent and child products will be considered while building the report.
Why does the Geo chart work incorrectly?
If the Geo Chart from Sales by Location report works incorrectly and there will be errors in the console such as “Geocoding Service: You must use an API key to authenticate each request to Google Maps Platform APIs.”
Verify the Google Maps API Key setting and if the key no valid or unset follow Stores > Configuration > Aheadworks Extensions >Advanced Reports > General Settings > Google Maps API Key to get and configured it.
Please use this page to get a detailed guide to creating a Google Maps API Key.
How are profit values calculated in the 'Product Performance' report?
Total revenue, cost, profit, and margin are calculated in accordance to the following formulae:
Total Revenue (excl. Tax)
Total Revenue (excl. Tax) = sum for each item (Item final price * Qty sold - Taxes - Total discount)
Taken from the order, not from the current product attribute value
Total Profit = Total Revenue (excl. Tax) - Total Cost
Total Margin = (Total Profit / Total Revenue (excl. Tax)) * 100