See how the Automatic Related Products extension works.
Motivate customers to purchase more from your store using special blocks with cross-sells, up-sells, or related products. Automatically promote products with smart algorithms for product relation and increase the average order value.
Please note that for the correct Hyvä compatibility work, the GraphQL module 'amasty/customers-also-viewed-graphql' should be also installed.
To configure the extension please go to Stores → Configuration → Amasty Extensions → Automatic Related Products and expand the General section.
Data Gathered Period (days) - specify a time period for stats data gathering that will be used in related, up-selling, cross-selling, ‘bought together’ and ‘viewed together’ products.
Order Status - specify order statuses that need to be considered when the system selects matching products for the 'Bought together' condition.
Ignore Anchor Categories in 'Same As' Condition - If enabled, the rule condition 'Category is the same as Current Product Categories' will consider only non-anchor categories the product belongs to.
Enable Products Displaying of Subsequent Rules - set to 'Yes' to display subsequent rules products if there are no products matching the condition in the priority rule.
Display Multiple Related Products Blocks - set to 'Yes' to display multiple related products blocks on one page. The feature is available as a part of an active product subscription or support subscription.
Blocks number - this is a dependent setting from the previous one. Here you can specify the number of blocks. You can set up to 10 blocks.
In the Bundle Packs section, you can fine-tune the main settings of product bundle packs.
Display Position - choose the position to display product bundle packs: below product info, on a product tab, or in a custom position.
Tab Title - when displaying bundle packs on a product tad, specify a custom title for the tab.
Choose CMS Page - Choose a CMS page to show bundle packs on.
Add Bundle Packs Link to Top Menu - choose the position for a bundle packs link on the top menu.
Bundle Packs Item Label - specify the bundle packs item label that will be used for a link in the top menu.
Bundle Pack Title in Confirmation Popup - Here you can specify the bundle pack title to be displayed in the confirmation popup (used in the top menu).
Display Popup for Options Choosing - Use this setting to configure the display of the popup for choosing custom product options.
The setting offers two ways of display:
Apply Bundle Discounts for Items That Were Added Separately -
Replace Bundle Pack Item Discount with Cart Price Rules - set to 'Yes' if you want to replace a bundle item discount with a cart price rule discount. A cart price rule will replace bundle discount for a particular item only if it provides a greater discount.
Display Upsell Message in Cart - display one random hint message in a cart, telling a customer which products to add to get the Bundle Pack discount.
Display Bundle Pack in Cart - display one random Bundle Pack in a cart, telling a customer which Bundle Pack he can add to get a discount.
Order Status Used for Statistics - Please select an Order Status to be used in the calculation of the quantity of ordered bundle packs.
Data Gathering Period for Recommendations (days) - The value defines the time period of statistical data the module will gather for the recommendation section (bought and viewed together) of Bundle Packs. Leave empty (or 0) for lifetime statistics.
Bought Together Order Status for Recommendations - Please select an Order Status to be used for recommendations of Bundle Pack Products.
The extension shows custom recommendations for every bundle pack you ever created based on its sales performance. Check the notice at the top of any bundle pack edit page (section 'Check Recommendations') to see the recommendation.
Add Bundle Packs Data to Orders Grid - If enabled, the Bundle packs information will be displayed in separate columns in the Orders grid. Please note that enabling this setting may affect the loading speed of Orders grid.
To create rules for linking products, please go to Catalog → Amasty Related Products → Related Product Rules.
On the product rules grid, you can see all existing rules for displaying related, up-sell and cross-sell items on different pages and in various positions in your store.
The rules are sorted by the ID and the Name. You can see the Status of each rule and change it right from the grid by clicking the necessary rule and setting the Enable Rule option to Yes or No.
All the rules are provided with the information about the Store View, Rule Type, its Position on the frontend. You can also check the Priority of each rule.
Check the progress and effectiveness of each product block performance by tracking the number of Views, Clicks, CTR, Orders Made and the final Revenue.
Cronjob tasks:
amasty_mostviewed_analytics_collect_view amasty_mostviewed_analytics_collect_click amasty_mostviewed_analytics_clear_temp
Tables:
pref_mostviewed_view_temp - cleared pref_mostviewed_click_temp - cleared pref_mostviewed_analytics - contains data
Change the columns’ position with a handy drag-and-drop function.
The dropdown menu allows to Delete, Enable, Disable, Duplicate or Edit each rule or several rules in one click.
Magento 2 Automatic Related Products plugin is designed to analyze the interests of online shoppers to display the relevant related products table for them. It is possible because of a smart personalized system of autosuggestions that uses rules based on product conditions and helps to offer customers only those goods that are more likely to be additionally purchased.
To create a new algorithm for displaying relevant products automatically, click Add New Rule button and expand the Rule Information tab.
Enable Rule - set to Yes to activate the rule.
Rule Name - create the rule title that will be displayed on your backend settings so that you could easily manage it from the grid.
Priority - only one rule can be applied in one position, but if some products fall under several rules, the extension will execute the rule with the highest priority. Here 1 is the highest priority.
Stores - set up products display according to the particular store.
Customer Groups - specify particular customer groups for which the block will be visible or just select the 'ALL GROUPS' option to enable applying the rule for all groups.
Go to the ‘Where to Display’ Conditions tab.
Block Position - customize the location for your related products block. Choose its position on the Product Page, Shopping Cart Page or Category Page.
If Add into Native Up-sells Block on a product page or Add into Native Cross-sells Block on a shopping cart page is chosen, you will have an option to specify the Replace Type.
The extension matches related products automatically. However, you can not only replace manually added products, but also append to them.
After specifying the position, choose the conditions to define the products the “related items” block will be displayed according to color, size, price, category, etc. You can use the combination of the attributes if needed.
Show only for ‘Out of Stock’ Products - enable this option to display related products block for ‘out of stock’ products and provide customers with the items they can purchase.
Check the products that fall under the conditions created by clicking the Preview Products button.
You can see the Thumbnail, the Name, the Type and other additional information about each product. Use handy filters to find necessary products according to the name, type, price, status, visibility, etc.
To sort the items that will be shown at the related products block, expand the Products to Display tab.
Conditions - select the attributes according to which the products will be shown.
Click Preview Products to check the products list if needed.
If you want to show related products block on a product page, specify the Source Type.
Source Type - choose the way for related products to be assorted.
Only Product Conditions - choose this source type to display the items that fall under the conditions specified.
Viewed Together - enable this type to let the system show the products according to the history of views based on the statistical data.
If records for the 'Viewed Together Products' block already exist in the 'amasty_mostviewed_product_viewed_index' index table, those products are displayed on the storefront. However, if there are new or different products that should appear in the 'Viewed Together' block but are not yet included in the index table after an update, they will not be immediately visible on the storefront. This delay occurs because the 'amasty_mostviewed_build_together_index' Cron job runs once an hour. Therefore, the 'Viewed Together Products' block will automatically update shortly after the next Cron job execution.
Bought Together - this type displays products according to the statistical data of purchases.
Apply “Same As” Condition - enable this option to select products by the same attribute value to display in the block.
For ‘same as’ condition you can set any attribute value: category, material, size, color, price and etc. For example, you can choose how to show products: display from any category or only from the same category with the selected item. The price is also variable.
If you would like to show related items on a category page, you also may enable the option to display the products from the current category only.
To customize the related products block according to your needs, go to the Display Settings tab.
Block Title - add a custom title to capture customers' attention.
Sort by - define the way to display the products: sort them by name, price, newest or leave it random.
Block Layout - choose the style of the block: grid or slider.
Display “Add to Cart” Button - enable this option to let your customers add products to the cart right from the block.
Display “Add to Wish List” Button - set to 'Yes' to allow customers to add products to their wish lists.
Display “Add to Compare” Button - enable this option to let your store visitors add products to comparison.
Max Products to Display - specify the suitable for your website max number of products displayed in a product block.
Show “Out of Stock” Products - exclude out-of-stock items from displaying to provide your customers with the products they can purchase immediately.
According to the rules, the extension matches related products automatically. However, you can replace or add related items manually in each product block.
Go to the Catalog → Products.
Choose the product needed and expand the Related Products, Up-Sells, and Cross-Sells tab.
To add items to the necessary category, click the Add Related/Up-Sell/Cross-Sell Products button.
Choose the items and hit the Add Selected Products button.
On the preview grid you may see the information about the products: the thumbnail, the name, active status and attribute set, SKU, price.
Also, you can Remove them in one click if needed.
You can analyze the performance of the rules in a separate report.
To view the report, navigate to Reports → Amasty Related Products → Related Product Sales.
Here, you can:
To configure and manage product bundle packs, please, go to Catalog → Bundle Packs.
Here, you can do the following:
To create a new bundle pack, please, go to Catalog → Bundle Packs → Add New Pack button.
The extension shows custom recommendations for every bundle pack you ever created based on its sales performance. Check the notice at the top of any bundle pack edit page (section 'Check Recommendations') to see the recommendation.
Status - set to Yes to make the bundle pack active.
Enable From - specify the period during which the bundle pack will be active. The bundle will be automatically enabled and disabled on the specified date and time.
Bundle Pack Name - define the name of a bundle pack (for internal use only).
Priority - set bundle pack order on the product page. Here 1 is the highest priority.
Store Views - choose the store views to show a bundle pack for.
Customer Groups - select customers groups to show a bundle pack for.
Title - specify the bundle pack title that will be displayed on the products page.
Discount Type - three discount types are available, please choose one of them from the dropdown:
Fixed - set 'Fixed' type of the discount to apply a discount like '$10', i.e. the fixed sum of money; Percentage - set 'Percentage' type of the discount to apply a discount like 10% from the final price of the bundle pack, which means that the actual discount amount will vary from bundle to bundle; Conditional Discounts - choose this option if you want to configure a differentiated discount depending on how many products are added to the cart.
You can set a certain discount amount depending on how many products have been added to the shopping cart and thus encourage the site visitors to purchase more.
Discount Amount - specify the discount amount.
Apply Discount to the Main Product - enable the option to apply the discount to the main product in a bundle pack.
Apply discount if - Choose from the two available options:
Upsell Message - specify the upsell message that will be displayed in a shopping cart. Use variables: {product_names}, {discount_amount}. The upsell message will appear only when the Bundle Packs → 'Display Upsell Message in Cart' setting is enabled in the configuration.
On the Bundle Pack Products and Main Products grids, you can choose the main and bundle pack products accordingly. Choose the order of bundle pack products on the appropriate grid via drag-and-drop and specify each bundle pack product quantity.
In case you want to set up three cross-promotional bundles with the three same products, configuration will look like the following:
In case you need to set up three cross-promo bundles with the setting 'Apply discount if' set to 'all bundle products are chosen' (the 'strict' bundle discount rule), then you need to create three separate bundles for each promo case for now, meaning, only with one main product at a time.
For example:
To manage all existing cron tasks, please, go to System → Cron Tasks List.
Here, you can see all the existing cron tasks and their statuses. Run cron tasks and generate their schedule by clicking the ‘Run Cron’ button. Also, delete tasks in bulk, apply filtering and sorting options when it is needed.
You can also add the blocks with related products and bundle packs to your website pages via widgets.
For now, the following types of widgets are available within the extension:
To add a widget, please navigate to Content → Widgets → Add Widget.
Choose the Type of widget, the Design Theme and click 'Continue'.
Specify the other Storefront Properties according to your needs, similar to the default settings of Magento widgets.
Then adjust the Widget Options.
Automatically show highly demanded items on a product page.
Increase revenue with up-selling products based on specified parameters.
Get more orders by showing cross-selling products on a shopping cart page.
The extension adds one more column to the Orders grid and ads an extra notice to the order info to show more details about the purchased bundle packs:
The extension provides a separate grid for tracking sales statistics of the bundle packs - the 'Bundle Pack Sales' grid.
Here's the description of the columns that you can find on the grid:
With the Automatic Related Products extension you can import and export Bundle Packs data. This functionality is available as a part of an active product subscription or support subscription.
To Import the bundle packs data, please navigate to System → Amasty Import → Import → Select Entity → Amasty Related Products → Amasty Related Products Bundle Packs:
Then, scroll down to the Fields Configuration tab and enable the needed subentities for import.
Then adjust other settings for the import according to your needs.
To Export bundle packs data, please navigate to System → Amasty Export → Export → Select Entity → Amasty Related Products → choose the needed entity:
Then adjust other settings for the export according to your needs.
Here's how product bundle packs display on the frontend:
1. On the product tab:
With adjusted bundle pack products quantity:
2. After product description:
3. In the shopping cart:
4. On a CMS page:
The extension also works smoothly on mobile devices if combined with a ready-made PWA solution, due to which store admin can significantly improve the user shopping experience on smartphones.
If the add-on is installed, Venia theme will be displayed for this extension in the following way:
You can freely add new components like blocks with related products or bundles on any place in your Venia-based store. For this, please navigate to store backend and configure the related product items display by specifying the following in the extension parameters:
For the blocks with the related products you need to specify:
Please have a look at the list of the available positions for this extension working in combination with the PWA add-on:
For the bundle packs you need to specify:
Here’s an example of how to add the related product components on the Cart page:
1. Copy the component’s folder of the search page into the folder with our components:
cd myproject mkdir -p src/lib/components/ cp -R node_modules/@magento/venia-ui/lib/components/CartPage src/lib/components/
Edit the component searchPage.js. Change all relative ways of components import to absolute:
@magento/venia-ui/lib/PATCH_TO_COMPONENT_FOLDER
for example:
import Button from '../Button';
to
import Button from '@magento/venia-ui/lib/components/Button';
Add import of the component Related Products import RelatedProducts from
'../../components/AmRelatedProducts';
Choose the place where to place the component:
<RelatedProducts categoryId={3} position={'cart_content_bottom'}/>
As a result, the file searchPage.js should look like the following below:
import React, { useMemo } from 'react'; import { useCartPage } from '@magento/peregrine/lib/talons/CartPage/useCartPage'; import { Title } from '@magento/venia-ui/lib/components/Head'; import Button from '@magento/venia-ui/lib/components/Button'; import PriceAdjustments from '@magento/venia-ui/lib/components/SearchPage/PriceAdjustments'; import PriceSummary from '@magento/venia-ui/lib/components/SearchPage/PriceSummary'; import ProductListing from '@magento/venia-ui/lib/components/SearchPage/ProductListing'; import { mergeClasses } from '@magento/venia-ui/lib/classify'; import defaultClasses from '@magento/venia-ui/lib/components/SearchPage/cartPage.css'; import { GET_CART_DETAILS } from '@magento/venia-ui/lib/components/SearchPage/cartPageQueries'; import RelatedProducts from '../../components/AmRelatedProducts'; const CartPage = props => { const talonProps = useCartPage({ queries: { getCartDetails: GET_CART_DETAILS } }); const { handleSignIn, hasItems, isSignedIn, isCartUpdating, setIsCartUpdating } = talonProps; const classes = mergeClasses(defaultClasses, props.classes); const signInDisplay = useMemo(() => { return !isSignedIn ? ( <Button className={classes.sign_in} onClick={handleSignIn} priority="high" > {'Sign In'} </Button> ) : null; }, [classes.sign_in, handleSignIn, isSignedIn]); const productListing = hasItems ? ( <ProductListing setIsCartUpdating={setIsCartUpdating} /> ) : ( <h3>There are no items in your cart.</h3> ); const priceAdjustments = hasItems ? ( <PriceAdjustments setIsCartUpdating={setIsCartUpdating} /> ) : null; const priceSummary = hasItems ? ( <PriceSummary isCartUpdating={isCartUpdating} /> ) : null; return ( <div className={classes.root}> <Title>{`Cart - ${STORE_NAME}`}</Title> <div className={classes.heading_container}> <h1 className={classes.heading}>Cart</h1> {signInDisplay} </div> <div className={classes.body}> <div className={classes.items_container}>{productListing}</div> <div className={classes.price_adjustments_container}> {priceAdjustments} </div> <div className={classes.summary_container}> <div className={classes.summary_contents}> {priceSummary} </div> </div> <div className={classes.recently_viewed_container}> <a href="https://jira.corp.magento.com/browse/PWA-270"> Recently Viewed to be completed by PWA-270. </a> </div> </div> <RelatedProducts categoryId={3} position={'cart_content_bottom'}/> </div> ); }; export default CartPage;
2. Add the edited file into the override map of standard components componentOverrideMapping.js
[`@magento/venia-ui/lib/сomponents/CartPage/cartPage.js`]: 'src/lib/сomponents/CartPage/cartPage.js',
module.exports = componentOverride = { [`@magento/venia-ui/lib/RootComponents/Category/category.js`]: 'src/lib/RootComponents/Category/category.js', [`@magento/venia-ui/lib/RootComponents/Product/product.js`]: 'src/lib/RootComponents/Product/product.js', [`@magento/venia-ui/lib/сomponents/CartPage/cartPage.js`]: 'src/lib/сomponents/CartPage/cartPage.js', };
3. Run the Watch command: ‘yarn watch’.
Why a bundle pack is not displayed on the frontend?
I’ve set up a rule with the ‘same as’ condition, but it doesn’t seem to work.
Why taxes are applied to bundle products after discount?
Why can’t I use an attribute as a condition in Where to Display and Products to Display tabs?
Find more questions and answers here.