Kowal Analytics for Magento 2
- SKU
- M2-ANALIZA
Description / Kowal Analytics for Magento 2
MAGENTO 2 · ATTRIBUTION · REVENUE
See which store elements lead to sales.
Kowal Analytics
Connect impressions and clicks with the cart, order, and revenue. Evaluate related products, blog content, banners, and custom sections based on the sales attributed to them.
Area and object · Source context · Sales reports
HOW IT WORKS IN PRACTICE
01 · The customer sees and clicks
The tracker records the interaction with the measured area and object.
02 · The product becomes part of the order
The analytics session connects events with the cart and the purchased SKU.
03 · You evaluate attributed revenue
The dashboard and reports show results according to the attribution model.
What does your store gain?
Check the impact of merchandising, content, and store layout on orders and revenue.
What this module is
Kowal Analytics is a sales attribution module for Magento 2. Its purpose is to show which store elements have a real impact on the cart, order, and revenue.
It is not a simple pixel that collects page views. The module analyzes the full sales context:
- which area was displayed,
- which object in that area was clicked,
- from which page or product the user interacted,
- which product was added to the cart,
- which SKU was ultimately purchased,
- which revenue should be attributed to this path.
As a result, the store can answer questions that standard analytics usually do not answer:
- Which
related productssections truly sell? - Which
upsellandcross-sellblocks generate revenue? - Which blog posts lead to product sales?
- Which banners, widgets, or CMS sections are clicked but do not convert?
- Which page elements take up space but have no impact on sales?
What the business value is
The module was created for stores that want to optimize merchandising, content, and page layout based on real sales impact, not just traffic or CTR.
From the reports, you can evaluate:
- revenue per area,
- number of orders per area,
- performance of specific objects within a given area,
- performance of the product -> clicked product -> purchased SKU relationship,
- the blog’s impact on sales,
- the impact of first click, last click, assisted contribution, and view-through,
- source paths leading to purchase.
What makes this module different from simple analytics pixels
1. It measures sales, not just views and clicks
A click alone says nothing yet about business value. Kowal Analytics connects frontend events with the cart, order, and revenue.
2. It works with the concept of area
The basic unit of analysis is area, a defined page section you want to measure.
Examples:
related_productson PDP,upsell_productson PDP,crosssell_productsin the cart,category_listingon the category product list,search_resultson search results,wishlist_products,compare_products,blog_post_listing,blog_sidebar_categories,- a custom promotional box in CMS.
3. It also lets you analyze object
Each area contains specific object items, meaning the elements the user sees and clicks.
Examples:
- a product in the
related_productssection, - a blog post on the post list,
- a blog category in the sidebar,
- a promotional banner,
- a CTA link in a marketing box.
This means the report does not stop at the level of:
- ‘the related section works’
but goes down to the level of:
- ‘product X in the related section sells best’
- ‘blog post Y leads to the highest number of orders’
4. It understands source context
The module also records source context, meaning where the path began.
Example:
- the user is on the
Affirm Water Bottleproduct page, - sees
related_products, - clicks
Zing Jump Rope, - goes to that product’s PDP,
- adds it to the cart,
- finally buys
Zing Jump Rope.
In this case, you can show:
source page=Affirm Water Bottle,area=related_products,clicked object=Zing Jump Rope,purchased sku=Zing Jump Rope.
This is exactly the level of analysis that typical tools usually lack.
How to understand the key terms
Area
Area is a page section or block that you want to measure as a source of influence on sales.
Examples:
- related products section,
- category listing,
- blog widget,
- blog sidebar,
- promotional banner,
- popup,
- custom CMS block.
Object
Object is a specific element inside an area.
Examples:
- one product on a list,
- one blog post,
- one blog category,
- one tag,
- one slide in a slider,
- one banner in a promotional section.
Source Page
Source Page is the page from which the user started the path related to a given area.
Examples:
- source product page for
related_products, - blog post for a link leading to a product,
- category listing for a product click,
- search results for a clicked product.
Purchased SKU
This is the specific SKU that was purchased and to which we attribute the impact of a given area or object.
Which areas can be measured
The module supports both native integrations and areas defined by selectors.
Examples in e-commerce
related_productsupsell_productscrosssell_productscategory_listingsearch_resultswishlist_productscompare_products
Examples in content commerce
blog_post_listingblog_recent_posts_widgetblog_sidebar_recent_postsblog_sidebar_categoriesblog_sidebar_tagsblog_post_view
Custom examples
homepage_promo_boxblack_friday_bannersummer_campaign_sliderai_recommendationscategory_top_cta
What reports the user gets
Analytics Dashboard
Used for a quick overview of results.
It shows, among other things:
- attributed revenue,
- attributed orders,
- CTR,
- top areas,
- top supported products,
- top blog sources.
Area Report
It answers the question:
- which area works,
- which objects in it sell,
- which sources generate sales.
Example:
related_productsdelivers 12 orders and 4,800 PLN in revenue,- the best-selling product is
WB05-S-Orange, - the most common source of this path is the product
Affirm Water Bottle.
Product Context Report
This report is key for product areas.
It answers the question:
- from which source product,
- which product was clicked,
- and what was ultimately purchased.
Example:
source product=Affirm Water Bottle,clicked object=Zing Jump Rope,purchased sku=Zing Jump Rope,orders= 7,revenue= 840 PLN.
Blog Commerce Report
Shows the blog’s impact on sales.
It answers the questions:
- which post sells,
- which blog category sells,
- which tag leads to orders,
- which SKUs are purchased after coming from the blog.
Example:
- the post
Jak wybrać bidon treningowygenerated 9 orders, - the SKU most often purchased after this post is
Affirm Water Bottle.
Object Report
Lets you drill down into one specific object.
Example:
- one specific product in
related_products, - one specific blog post in
blog_post_listing, - one specific blog category in the sidebar.
The report shows:
- clicks,
- orders,
- revenue,
- source pages,
- purchased SKUs related to this single object.
Source Page Report
This is a reverse-perspective report.
Instead of looking at an object, you look at one source page and check:
- which clicked objects from that page sell,
- which SKUs are purchased later,
- what revenue this specific page generated as the starting point of the path.
Example:
- product page
Affirm Water Bottleas the source page, - the best-selling objects from this page are two products from
related_products, - total revenue from this path is 1,350 PLN.
Typical use cases
Merchandising optimization
The store can compare whether:
related_productssells better thanupsell_products,- cross-sell in the cart truly closes sales,
- the category listing directs users to products that actually end in an order.
Blog analysis
The content team can check:
- which posts lead to PDPs,
- which posts help add a product to the cart,
- which posts have a real impact on sales.
Cleaning up the store layout
If a section has high impressions and low or zero revenue impact, you can evaluate whether it should be:
- improved,
- moved,
- updated with different content,
- or removed completely.
Testing changes
After changing the layout, widget, blog, or recommendation mechanism, you can compare:
- the earlier and later period,
- impact on CTR,
- impact on orders,
- impact on revenue.
Who this module is for
It will deliver the most value to:
- Magento store owners,
- e-commerce managers,
- merchandisers,
- CRO teams,
- content and SEO teams,
- agencies developing Magento stores.
Summary
Kowal Analytics turns storefront elements into measurable sources of sales.
It lets you move from the general question:
- ‘does this block work?’
to a specific question:
- ‘which exact product, post, category, or source page generates sales, and what revenue stands behind it?’
Configuration and custom areas
In Stores → Configuration → Kowal → Analytics, you enable the module for the appropriate scope. Frontend Selector Assistant helps indicate a custom area and prepare selectors for containers, items, and links.
The Last Click, First Click, Assisted, and View Through models let you analyze the last click, first click, assisted contribution, and exposure without a click, respectively. These are models for attributing sales impact; you read their results in the context of the selected model.
Processing and running reports
Complete reports require a working Magento cron and the kowal_analytics.raw_events, kowal_analytics.conversion, and kowal_analytics.attribution consumers. Events and conversions are processed asynchronously.
During implementation, you can enable the backend log and browser console logs. After changing the theme, check selectors for custom areas and complete the scenario from click to order to verify the reports.
Installation via Composer
Package: kowal/module-analytics; module: Kowal_Analytics. After configuring access to the Kowal repository, install the package, enable the module, run the Magento upgrade, and clear the cache. For production mode, include compilation and static content deployment appropriate for the environment.
From configuration to results
1. The customer sees and clicks
The tracker records the interaction with the measured area and object.
2. The product becomes part of the order
The analytics session connects events with the cart and the purchased SKU.
3. You evaluate attributed revenue
The dashboard and reports show results according to the attribution model.
From recommendation to purchased SKU
Example: a customer views Affirm Water Bottle, clicks Zing Jump Rope in the related products section, and buys that product.
The report connects the source page, area, clicked object, and purchased SKU. Revenue assigned by the attribution model helps compare purchase paths.
Make store layout decisions based on sales
Want to adapt the module to your store? Ask about Kowal Analytics implementation and discuss the configuration or needed extensions.
More Information
| Purchase information | |
|---|---|
| Theme compatibility | Luma / Blank, KOWAL |
Integration Configuration
Kowal Analytics configuration guide
Admin panel navigation
Main entry points to the module:
Kowal -> Analytics -> DashboardStores -> Configuration -> Analytics
Configuration structure
The module currently provides three main groups of settings.
1. General
Path:
Stores -> Configuration -> Analytics -> General
Field:
Enable Analytics
Meaning:
- enables or disables frontend tracking and further analytics processing for the selected scope.
Recommendation:
- it is best to enable it per
store viewafter first verifying that trackers and consumers work.
2. Debug
Path:
Stores -> Configuration -> Analytics -> Debug
Fields:
Enable Backend Debug LogEnable Frontend Console Log
Meaning:
- backend debug writes technical logs to:
var/log/kowal_analytics_debug.log
- frontend debug writes tracker logs to the browser console.
Use cases:
- installation,
- QA,
- error analysis,
- selector assistant tests,
- confirmation that events reach the pipeline.
Recommendation:
- enable it during deployment and testing,
- disable it in the production environment after validation is complete.
3. Tools
Path:
Stores -> Configuration -> Analytics -> Tools
Field:
Enable Frontend Selector Assistant
Meaning:
- shows a helper on the storefront that helps indicate and prepare configuration for custom areas based on selectors.
Use cases:
- mapping custom sections,
- analyzing the DOM structure,
- preparing area definitions without manually editing code.
How to understand configuration in practice
Scope
The module works within the Magento scope, so configuration may differ for:
default,website,store view.
The safest approach is to treat the module as a per-store-view tool because:
- different stores may have different layouts,
- different stores may have different blog, CMS, and merchandising sections,
- reports per store view are much more reliable operationally.
How to understand the basic concepts in the module
Area
Area is a defined page section that you want to measure as a source of influence on sales.
Examples:
related_productsupsell_productscrosssell_productscategory_listingsearch_resultswishlist_productscompare_productsblog_post_listingblog_sidebar_categorieshomepage_promo_box
Object
Object is a specific element inside an area.
Examples:
- a single product on a list,
- one blog post,
- one blog category,
- one tag,
- one banner,
- one slide.
Source Page
Source Page is the page from which the user interacted in a way that led further toward a sale.
Examples:
- source product page for
related_products, - blog post for the clicked product,
- category listing for the clicked product,
- search results for the product.
Dashboard and reports
Analytics Dashboard
This is the main overview screen. It shows:
- attributed revenue,
- attributed orders,
- average order value,
- CTR,
- top areas,
- top supported products,
- top blog sources,
- links to detailed reports.
This screen answers the question:
co działa najlepiej
Area Report
This report answers the questions:
- which area generates revenue,
- which objects in this area sell,
- which source pages sales come from.
Example:
related_productshas 18 orders,Zing Jump Ropesells best in it,- the most common source of this path is the product page
Affirm Water Bottle.
Product Context Report
This is a report for product areas such as:
related_productsupsell_productscrosssell_productscategory_listingsearch_results
It shows the relationship:
source product -> clicked object -> purchased SKU
Example:
- the user is on the
Affirm Water BottlePDP, - clicks
WB05-S-Orangeinrelated_products, - buys
WB05-S-Orange.
Blog Commerce Report
This is a report for blog areas:
blog_post_listingblog_recent_posts_widgetblog_sidebar_recent_postsblog_sidebar_categoriesblog_sidebar_tagsblog_post_view
It answers the questions:
- which post sells,
- which blog category sells,
- which tag supports sales,
- which SKUs are purchased after entering from the blog.
Object Report
This is a report for one specific object.
Example:
- one product in
related_products, - one blog post from
blog_post_listing, - one blog category from
blog_sidebar_categories.
It shows:
- how many impressions it had,
- how many clicks it had,
- how many orders it generated,
- what revenue was attributed to it,
- which source pages these paths came from.
Source Page Report
This is a report for one specific source page.
Example:
- product page
Affirm Water Bottle, - blog post
Jak wybrać bidon treningowy, - category listing
Buty do biegania.
It shows:
- which clicked objects from this page sell,
- which SKUs are purchased after entering from this page,
- how many orders and how much revenue this specific page generates as the starting point of the path.
Attribution models
Available models:
Last ClickFirst ClickAssistedView Through
How to read them:
Last Click
Best for the question:
- which element directly closed the sale.
First Click
Best for the question:
- which element started the path leading to purchase.
Assisted
Best for the question:
- which element participated in the path, even if it was not the last click.
View Through
Best for the question:
- whether simply exposing the section had an impact on sales, even without a click.
Custom area configuration
You can prepare a custom area through Frontend Selector Assistant.
Typical workflow:
- Enable
Enable Frontend Selector Assistant. - Open the storefront.
- Launch the assistant.
- Select the area.
- Check the proposed
container selector. - Check the proposed
item selector. - Check the
link selector. - Save the definition.
- Confirm that runtime apply has added
data-kowal-track-*. - Test the click and move on to the reports.
Custom area example
Assume that your homepage has a promotional box with three tiles.
You can define:
area_code = homepage_promo_boxobject_type = promotioncontainer_selector = .homepage-promoitem_selector = .homepage-promo__itemlink_selector = .homepage-promo__link
Then the report will show:
- which tile was clicked,
- which one led to a purchase,
- what revenue it generated.
Testing workflow after configuration
The most sensible order:
- enable analytics,
- enable backend debug,
- enable frontend console log,
- go through the user scenario,
- check the dashboard,
- check the area report,
- drill down to the object report or source page report,
- disable debug after confirming correctness.
Operational recommendations
- keep consumers under supervisor or systemd,
- make sure Magento cron runs continuously,
- after theme changes, check whether custom area selectors still match the DOM,
- after merchandising changes, compare results per area,
- do not interpret CTR alone as success without checking revenue and orders.
Module Installation Instructions
Kowal Analytics installation guide
Requirements
Before installation, make sure that:
- the Magento 2 instance works correctly,
- Composer has access to the Kowal package repository,
- you have CLI access to
bin/magento, - cron and queue consumers can be run in the environment,
- the environment correctly writes to the database and to
var/log.
Installation via Composer
Add the Composer repository:
Access credentials for the Composer repository, including the customer email address and license token, will be sent to you by email after purchase. They are also available in the customer panel after logging in at kowal.store. Replace TWOJ_EMAIL_KLIENTA with your account email address and TWOJ_TOKEN with the token you received. Run the commands in the Magento root directory.
composer config repositories.kowal composer https://repo.kowal.storeAdd access credentials for the private repository:
composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'Install the module:
composer require kowal/module-analyticsEnable the module
Run the standard Magento commands:
bin/magento module:enable Kowal_Analytics
bin/magento setup:upgrade
bin/magento cache:flushIf the store runs in production mode, also run:
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flushStarting asynchronous processes
The module uses queues and asynchronous processing. Without this, the dashboard and reports will not be complete.
Start the required consumers:
bin/magento queue:consumers:start kowal_analytics.raw_events
bin/magento queue:consumers:start kowal_analytics.conversion
bin/magento queue:consumers:start kowal_analytics.attributionMagento cron must also work correctly because the module uses retry and backfill for attribution.
Basic check:
bin/magento cron:runWhat happens after installation
After correct installation, the module:
- loads the tracker on the storefront,
- records frontend events,
- links the analytics session with
quote, - transfers analytics identifiers to
sales_order, - records conversions and conversion items,
- calculates order attribution to area and object,
- provides a dashboard and detailed reports in the Magento admin panel.
Where to check whether the module works
After installation, check:
Kowal -> Analytics -> DashboardStores -> Configuration -> Analytics
If the module is properly active, you should see:
- the module dashboard,
- a summary widget on the native Magento dashboard,
- the configuration section in Stores -> Configuration.
Recommended technical test after deployment
Run a simple end-to-end test:
- Open the store page.
- Go to a product page.
- Click a tracked element, for example a product in
related_productsor a blog post. - Add the product to the cart.
- Place an order.
- Check whether events, conversions, and attribution have been saved.
If debug is enabled, check:
- logs in the browser console,
var/log/kowal_analytics_debug.log
What is worth checking in HTML
If you want to confirm that tracking works on page render, check for the presence of these attributes:
data-kowal-track-areadata-kowal-track-area-iddata-kowal-track-objectdata-kowal-track-iddata-kowal-track-sku
Example:
- the
related_productssection container should havedata-kowal-track-area='related_products' - a single product in this section should have
data-kowal-track-object='product'and its owndata-kowal-track-id
Common problems after installation
The dashboard is visible, but there is no data
Check:
- whether the consumers are running,
- whether cron is running,
- whether analytics is enabled in the configuration,
- whether the tracker loads on the frontend,
- whether there are actually tracked areas on the page.
Events are saved, but attribution is incomplete
Check:
- whether the
kowal_analytics.attributionconsumer is running, - whether cron retry works,
- whether source events reach the database before the final attribution recalculation.
Custom area does not appear in reports
Check:
- whether the area definition was saved correctly,
- whether selectors match the real DOM,
- whether runtime apply adds
data-kowal-track-*, - whether the area has object identifiers needed for further analysis.
Implementation recommendation
The safest order is:
- install the module,
- start consumers and cron,
- enable debug,
- test one simple product scenario,
- check the dashboard,
- only then extend tracking to custom areas.