Recommendation Engine
A recommendation engine suggests relevant products from behavior and product data and powers personalized recommendations in an online store.

What is a recommendation engine?
A recommendation engine is the system that decides which products a customer sees as suggestions — for example in “You may also like” sections. It analyzes data such as browsing history, purchase history, and product attributes, and typically uses collaborative filtering (based on what similar customers bought), content-based filtering (based on similar products), or a hybrid of the two. The result is personalized suggestions that adapt as behavior and catalog change.
Why does a recommendation engine matter?
Relevant suggestions help customers find products they would not have discovered on their own. Good cross-sell and upsell lift both conversion rate and average order value, because the basket grows without any extra traffic. On category and product pages the engine also acts as a form of AI in the store, guiding the customer onward instead of letting them hit a dead end.
Common use cases
- “Related products” on product pages — alternatives to the item the customer is viewing right now.
- Complementary products / “frequently bought together” — accessories that fit the main product, as an upsell step.
- Personalized homepage or “recommended for you” based on past behavior.
- Empty carts, search results, and 404 pages, where suggestions keep the customer moving.
- Emails with product suggestions after a purchase or browsing session.
Shopify perspective
Shopify has a built-in Product Recommendations API at the endpoint /recommendations/products.json, which most themes use to fetch suggestions asynchronously. It supports intent=related (generated automatically from order and product data) and intent=complementary. Complementary products are configured in the Search & Discovery app, where you can also override the related suggestions manually. For more advanced personalization based on individual behavior, you typically need a third-party app on top of the standard API.