Magento 2 Automatic Related Products Extension
The Automatic Related Products extension fills related, up-sell and cross-sell blocks for you. It picks products by rules you set, using what your customers actually buy and view, and shows how much revenue each block brings, so you keep the blocks that sell and change the ones that don't.
- Fill related, up-sell and cross-sell blocks automatically
- Pick products by what customers buy and view together
- Show blocks on product, category, cart and account pages
- See clicks, orders and revenue for every block
Related products (similar items), up-sells (a better, pricier alternative) and cross-sells (accessories and add-ons) can bring real revenue, but default Magento makes you link every product by hand. The links go stale as the catalog changes, and you can't see which block actually sells.
Automatic Related Products fills these blocks for you. It picks products by rules you set, using what your customers actually buy and view, and reports the revenue each block brings.
Is it worth it for your store?
What you get
Blocks filled from real orders and views, and a report of clicks, orders and revenue for each one. You see which blocks pay off.
What it takes
Create a block, pick its position and rule. It uses your last 365 days of orders and views, so it's full from day one; a nightly data update keeps it fresh.
What you risk
Little. Blocks work with Magento's page cache, and your native related, up-sell and cross-sell links stay untouched if you switch the extension off.
Automatic Related Products main features
- Fill cross-sell and up-sell blocks automatically, without linking products by hand
- Pick products by what customers bought or viewed together, or by catalog conditions
- Show blocks on product, category, cart and customer account pages, and in blog posts
- Add the same recommendations to Mirasvit Follow Up Email messages
- See impressions, clicks, orders and revenue for every block
- Works with Luma and Hyvä themes, Magento Open Source and Adobe Commerce 2.3–2.4.9
Choose how each block picks products
Every block is filled by a rule. The rule has a source, which says where the products come from:
- Bought together: products that shoppers bought in the same order as this one
- Also bought: products that the same customers bought in any of their orders
- Viewed together: products that logged-in customers viewed alongside this one
- Recently viewed: products looked at recently (personal for logged-in shoppers on uncached pages such as the cart, otherwise a store-wide list)
- Whole catalog: any product that matches your conditions
Conditions then narrow the result: the same category or the same attribute value as the current product, a price range, only products with an image, or any other product attribute. Behavior-based sources put the products bought or viewed together most often first. On top of that, you can sort by price or name, rotate products in random order, or use Mirasvit Sorting criteria. If you have already linked some products by hand, the block can show them first and fill the rest automatically. See the selection rules guide for all options.
Choose What Related Products to Display
Rules and blocks are set up separately. You create a rule once and give it a name, then pick it from a list in any block that should use it. A typical set of rules might be:
- cross-selling products
- similar products
- by purchase history
- other viewed products
Change a rule, and every block that uses it updates with it.
Place related products almost anywhere
You choose the position of each block. The module can show related products on these pages:
- product page, inside the native related or up-sell block, or above or below the content and sidebar
- category page
- shopping cart, inside the native cross-sell block or above or below the content
- customer account page
- blog posts of Mirasvit Blog
Pick a position from the list of predefined ones, or place the block yourself with a widget or a custom layout position. When several blocks share a position, the one with the higher priority goes first. With Ignore subsequent blocks turned on, a backup block appears only when the main one has nothing to show.
Analytics you can trust when deciding which blocks to keep
The report shows every block with its:
- impressions (number of views)
- number of clicks
- number of orders
- total revenue
Revenue is counted strictly. An order goes to the last block the shopper clicked, and the block gets credit only for the items it showed, without shipping or the rest of the cart. So the number tells you what the block actually sold, not how big the orders were. Many reports stop at clicks or credit a block with the whole order, which makes every block look better than it is.
Example: phones and accessories
Say you sell mobile phones. Here is what a shopper sees:
Phone page: up-sell
An up-sell block offers the next model up, with more storage or a better camera.
Cart page: cross-sell
Once the phone is in the cart, a cross-sell block suggests cases and chargers that fit it. The rule looks at every item in the cart, not just the last one added.
Accessories usually carry better margins than the phone itself, which makes the cart block especially worth setting up.
Related products slider or static block
Choose one of three block templates (default, bulletproof or widget), show the products as a slider or a static list, and set how many products each block shows. If your theme has its own design, you can use a custom template.
Who It's For
The extension pays off when your catalog is too large to link by hand and your store has a steady flow of orders. Behavior-based blocks need order and browsing history, so a new store should start with catalog rules (the same category or a similar price) until the history builds up. If you sell only a few products, linking them manually in default Magento is enough.
Compared to Magento's native options, the main value is in the data sources it can use. It doesn't rely only on manual relations: it can combine recent views, products viewed together by the same customer and purchase behaviour. In our case, the generated index is broad, which helps keep recommendations updated as the catalogue changes.
On the configuration side, the separation between rules and blocks is very useful. You can define the logic once (which products are eligible and which source should be used) and reuse it across different blocks without duplicating work. This simplifies maintenance when the catalogue is large.
The positioning flexibility is also valuable. You're not limited to Magento's classic slots, and blocks can be placed in custom positions with quite a bit of flexibility. This has given us more room when working on product page layouts.
For stores that care about product page merchandising and want to go beyond native related/upsell functionality, it's a very useful solution. It automates recommendations through configurable criteria and significantly reduces manual work.
Save time by starting your support request online and we'll connect you to an expert.
Where can I find a related products block in Magento 2?
Default Magento shows related and up-sell products on the product page and cross-sell products in the shopping cart. You fill all three by hand in each product's settings.
With this extension, the same blocks fill themselves by rules, and you can add more blocks on category pages, in the customer account, in blog posts and in custom positions.
Why do I need related products at all?
Related products raise the average order value. Shoppers often forget an item they meant to buy or don't know which accessories fit, and a short list of relevant products helps them find it.
The analytics then show which blocks bring orders, so you can drop the ones that don't.
Is there a free way to show automatic related products in Magento 2?
Magento Open Source has no automatic option: related, up-sell and cross-sell products are linked by hand for each product. Adobe Commerce includes Related Product Rules, which link products by catalog conditions.
This extension adds what neither does out of the box: products picked from real orders and views (bought together, also bought, viewed together, recently viewed), extra positions on category, account and blog pages, and revenue analytics for each block.
How does the extension choose which products to show?
Each block uses a rule you set up. The rule takes products from a source (bought together in one order, bought by the same customers, viewed together, recently viewed, or the whole catalog) and narrows them with conditions, for example the same category or attribute value as the current product, or a price range.
There is no machine learning involved. Behavior-based sources rank products by how often they were bought or viewed together, so the result is predictable and you can always see why a product appears. See the selection rules guide for details.
How does the extension calculate revenue per block?
When a shopper places an order, it is credited to the last related products block they clicked. The block gets the value of only those ordered items it showed (row total with tax, minus discounts), without shipping and without the other items in the cart.
The report also shows impressions, clicks and orders for each block. There is no A/B testing: you compare blocks by these numbers.
Does the extension use my existing orders, or start from zero?
It uses the orders and product views your store already has. By default, it looks at the last 365 days, and you can change the period in the settings. Run the reindex once after installation, and the behavior-based blocks are filled straight away. The data is updated each time the index is rebuilt, so schedule a regular reindex, for example nightly.
In a new store without history, start with catalog rules (the same category or a similar price) until enough orders come in.
Does the extension slow down product pages?
Blocks are rendered on the server from a prebuilt index, so a page doesn't recalculate order history on every view, and pages with blocks work with full page cache. Click and impression tracking runs as separate lightweight requests and can be turned off for each store view.
Is the Automatic Related Products extension compatible with GraphQL?
Yes. GraphQL support comes as a separate package, mirasvit/module-related-graph-ql, which you install with Composer next to the main extension. It lets a headless storefront request the blocks and their products and send click and impression tracking.
Can I add related products to emails sent by the Follow Up Email extension?
Yes. In a Follow Up Email trigger, choose any active related products block as the source of recommended products. The email then shows the products that block would pick for the items in the order or cart.
Can I manage related product blocks through an API?
Yes. The extension has a REST API for blocks, selection rules and block analytics, so you can create and update them from your own tools. See the extension manual for the endpoints.
Does the Automatic Related Products extension work together with the Layered Navigation extension?
Yes, they work independently. Layered Navigation filters the products in the category listing, while a related products block on a category page picks its products by its own rule. The block doesn't change when a shopper applies filters.
Can I show related products on the home page or other CMS pages?
Yes, with the related products widget. On a page without a current product, such as the home page, the block can show products from a catalog rule or recently viewed products (a store-wide list for guests and cached pages). Sources based on the current product (bought together, also bought, viewed together) need a product page, category page or cart.
Can a block show only products that match the current product?
Yes. Add a condition to the rule that compares an attribute with the current product, for example the same brand, collection or category. The block then shows only products that share that value with the product on the page.
What is the inventory status of products shown as related?
By default, blocks show only products that are in stock and available for sale. If your store displays out-of-stock products in the catalog, each block has its own Exclude out of stock option, which also applies to the native related, up-sell and cross-sell products shown in that block.
Is it possible to place two blocks of related products at the same position on the page?
Yes, in most positions. The block with the higher priority (the lower number) goes first. Turn on Ignore subsequent blocks if you want the next block to appear only when the first one has nothing to show.
Inside a native Magento block (related, up-sell or cross-sell), only one extension block is displayed. To show several blocks, use another position, for example Product Page | Content Bottom. See it on the demo.
Can I always show specific products next to the automatic picks?
Yes. Link those products to the main product as native related, up-sell or cross-sell products, and turn on the option to show assigned products first in the block. The block shows them at the top and fills the remaining places by its rule.
Can CSS or the style of a related products block be modified?
Yes, in two ways.
You can edit the template and style files of the extension (default and "bulletproof" templates) in your theme. Back up your changes before updating the extension.
You can also add styles in the admin panel without editing files: go to Stores > Configuration > Mirasvit Extensions > Developer > CSS Settings > Additional CSS Styles. These styles apply to all blocks at once; a separate style for each block isn't possible there.
Flush the Magento cache after each change.
Is the extension translated?
Yes. Besides English, the extension includes translations into 15 languages: Arabic, Chinese (Simplified), Czech, Dutch, French, German, Italian, Japanese, Polish, Portuguese (Brazil and Portugal), Spanish, Swedish, Turkish and Ukrainian.
bin/magento setup:upgrade changes column value of table mst_related_analytics and column revenue of table mst_related_analytics_aggregated from decimal(12,1) to decimal(12,4); no data is migrated.Blog
We are committed to being open and transparent with our customers. When you purchase our module, you automatically receive one year of free support service and free updates.
Why is this important?
- Seamless Installation and Configuration: We understand that setting up a new module can take time to configure according to your specific needs. That’s why we offer a full year of free support. Our experienced team is here to assist you with installation, configuration, and any questions you might have. We're eager to share our expertise to ensure you get the most out of your purchase.
- Stay Updated with Magento (Adobe Commerce) Releases: Magento releases new versions approximately every three months. These updates can sometimes introduce compatibility challenges. To keep your store running smoothly, we provide a year of free access to the latest versions of our modules, ensuring that you can upgrade Magento and our modules without encountering any obstacles.
- Subscription Included: Renewing your subscription ensures continued access to the latest updates and support from our team. This means you can be confident that any issues you encounter with the extension will be resolved quickly and efficiently. You can cancel your subscription at any time without any additional fees.
These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.
One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.
30-days money back guarantee. If you are not satisfied with our automatic related products extension performance for any reason, we provide a full refund.
We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.
We provide an expanded user guide for every aspect of our automatic related products extension, so you can find answers for all your burning questions.
You can customize automatic related products extension according to your needs and requirements.
The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.
No core modifications. The automatic related products extension has been tested in a Magento Cloud environment and is fully compatible with it.
Andriy Kovalenko