Flash sale: Get up to 30% off themes and extensions. Ends April 26 at 3 pm UTC. Shop the sale.
  1. Documentation /
  2. Product Recommendations /
  3. Store Owner's Guide

Store Owner’s Guide

Requirements

↑ Back to top

WooCommerce Product Recommendations requires WooCommerce 3.3+.

Installation

↑ Back to top
  1. Download the .zip file from your WooCommerce account.
  2. Go to WordPress Admin > Plugins > Add New.
  3. Click Upload Plugin at the top.
  4. Choose File and select the .zip file you downloaded in Step 1.
  5. Click Install Now and Activate the extension.

More information at: Install and Activate Plugins/Extensions.

Configuration

↑ Back to top

Product Recommendations allows you to build Engines that generate product recommendations based on custom filtering and sorting options. The generated recommendations can be conditionally displayed at various Locations of your store.

If you are just starting out with Product Recommendations, take a few minutes to review some high-performing product recommendation strategies. Before implementing your own, make sure that you can confidently answer these questions:

  1. Which products would you like to recommend?
  2. Where would you like to offer the recommendations?
  3. When should a customer see these recommendations?

Later on, as you measure the performance of your recommendations, you will be able to make data-driven adjustments to improve them.

To implement a product recommendation strategy with Product Recommendations:

  1. Create a recommendation Engine. This step determines which products to recommend.
  2. Deploy the Engine to a Location of your store. This step determines where and when to display the generated recommendations.
  3. Use the built-in Reports to measure and evaluate the performance of the displayed recommendations.
  4. Make adjustments to your strategy as needed.

Engines

↑ Back to top

Engines are “recipes” that generate product results. To create an Engine:

  1. Navigate to WooCommerce > Recommendations > Engines.
  2. Click Create new.
  3. Choose an Engine Type.
  4. Add Filters and Amplifiers.
  5. Click Create.
Creating an Engine.

Engine Type

There are four Engine Types:

  • Generic
  • Product Archive
  • Product
  • Order

Each type is suited for displaying recommendations at specific Locations across your site. For example, Product type Engines can be deployed only in Product pages.

Filters and Amplifiers

Filters and Amplifiers determine which products to recommend, and in which order:

  1. Filters narrow down product results. For example, you can filter products by category, price, or stock status.
  2. Amplifiers control their order. For example, the filtered products can be sorted by rating or popularity.

Filters — All Engine Types share a common set of Filters. In addition to these Filters, the Product Archive and Product Engine Types support some “special” Filters that allow these Engines to generate different recommendations, depending on the product category/tag archive, or the product, that a customer is viewing.

For example, Product type Engines include a Relative Price filter. This allows you to recommend products whose price is higher (or lower) than a percentage of the currently viewed product’s price — a very useful technique for up-selling and cross-selling. For a detailed list of all Filters supported by each Engine Type, please consult the Engine Filters Reference.

A product must satisfy all filters to be recommended. If a filter has multiple terms, then at least one term must be satisfied for a product to be recommended.

Amplifiers — All Engine Types support the same set of Amplifiers. Remember that you can add multiple Amplifiers in parallel: This allows you to sort the filtered products by multiple, weighted criteria.

In most cases, you will not need to add more than one Amplifier. For example, if you want to recommend the highest rated products from a specific category, and there are enough products with reviews, a Rating Amplifier will work well. However, if your products have not received enough (or any) reviews yet, you may want to add a Popularity Amplifier as a fallback:

  1. Use the +/- buttons to assign a lower weight to the Popularity Amplifier. This ensures that, as new reviews are coming in, highly rated products will be “boosted” more than products that sell well. How much more will depend on the weight difference of the two Amplifiers.
  2. To minimize the influence of the Popularity amplifier, give it a weight value of 1, and increase the the weight of the Rating amplifier to the maximum value, 5.

Locations

↑ Back to top

Having created an Engine that defines which products to recommend, the next step is to deploy the Engine to a specific Location of your store.

WooCommerce Product Recommendations allows you to place product recommendations in more than 20 Locations. These are spread across:

  • The main Shop page.
  • Product pages.
  • Product Archive pages (category/tag).
  • Cart and Checkout pages.
  • Order Pay and Order Received pages.

If there are multiple engines deployed at a specific location, you can reorder them under WooCommerce > Recommendations > Locations and select the specific location (eg. Product > After Tabs)

Engine Deployment

To deploy an Engine to a Location, the fastest way is to click Deploy now in the message that appears upon saving/creating it.

This will take you to a Deploy Engine screen, where you may:

  • Customize the display of the generated Recommendations — add a Title (e.g. “You may also like”) and Description, choose how many Products to Display, and set the number of displayed Product Columns.
  • Choose a Location.
  • Add Visibility Conditions.
Deploying a “Product” type Engine.

Remember that the Engine Type you have chosen limits the Locations available to you at the deployment phase. For example, Product type Engines can be deployed only in Product page Locations. The following table lists all supported Locations by Engine Type:

Engine Type Supported Locations
Generic
Shop Page

Before Products, After Products, No Products Found

Product Archive Pages

Before Products, After Products, No Products Found

Product Pages

After Product Meta, After Add-To-Cart Button, Before Tabs, After Tabs

Cart Page

Before Cart Table, After Cart Table, Cart Collaterals, After Cart Totals, Empty Cart

Checkout Page

Before Checkout Form, After Place-Order Button, After Checkout Form

Order Received Page

Before Order Details, After Order Details, After Customer Details

Order Pay Page

After Pay Button

Product Archive
Product Archive Pages

Before Products, After Products, No Products Found

Product
Product Pages

After Product Meta, After Add-To-Cart Button, Before Tabs, After Tabs

Order
Order Received Page

Before Order Details, After Order Details, After Customer Details

Order Pay Page

After Pay Button

In addition to these standard Locations, the plugin allows you to create Custom Locations and place them in any page or post of your site using a unique shortcode.

Generat Recommendations

Visibility Conditions

Every time you deploy an Engine to a Location, you can use Visibility Conditions to control the visibility of the generated recommendations.

Each Location supports a different set of Visibility Conditions. For example, when you deploy an Engine to a Product Location, you may choose to display the generated recommendations only if the viewed product belongs in a specific Category or Tag.

All Visibility Conditions must be satisfied for an Engine to be deployed to a Location. If a Visibility Condition has multiple terms, then at least one term must be satisfied for an Engine to be deployed.

Managing Deployments

The extension allows you to manage your Engine Deployments from WooCommerce > Recommendations > Locations. The Overview section here provides a paginated list of all deployed Engines.

Deployed Engines.

From here, you may also click on a specific WooCommerce page (e.g. Product Archive) and see a tabbed list of all supported Locations on that page, along with all Engine Deployments in each Location.

For example, the Product Archive page includes 3 Locations:

  • Before Products
  • After Products
  • No Products Found

Each Location may contain an unlimited number of (conditionally visible) Engine Deployments.

Engine deployments at the Before Order Details Location.

Generating Recommendations

↑ Back to top

To conserve server resources and ensure a snappy customer experience, the extension generates product recommendations on demand and in the background. This is why, after creating and deploying a recommendation engine, you may need to refresh the page a few times and/or wait for a minute or two to see the generated results. This is expected and will only happen once after the initial engine deployment.

Note that the first user to view a block of recommendations every 24 hours triggers their (re)generation. If a page with recommendations does not receive any visits for 24 hours, the first user to visit the page will see an older/expired version of those recommendations, but will kickstart the regeneration process, ensuring that the next visitor will see the updated results. This default, 24-hour expiration interval is sufficient in most cases, but can be changed under WooCommerce > Settings > Recommendations.

Diagnosing Issues

The extension utilizes a queuing mechanism to process (re)generation tasks optimally. This effectively spreads out the amount of “work” that your server will need to do to regenerate recommendations over time. If you are experiencing an issue, or wish to get a deeper understanding of the specific tasks handled by this queue at any moment, you may navigate to WooCommerce > Status > Recommendations Queue. Here you will find:

  • a list of all pending (re)generation tasks currently in the queue; and
  • a list of failed re-generation jobs.

On a healthy, trouble-free installation, re-generation tasks should never fail to complete. Recurring failures may indicate an issue with your WordPress hosting environment, or a corrupted database.

Generating Recommendations via WP-CLI

In most cases, letting the extension generate recommendations on demand is sufficient to ensure a snappy visitor experience. However, in some cases you may want to have full control over this process — for example, you may prefer to generate new and expired recommendations during time windows that your server load is low. To help you with this, the extension provides a WP-CLI command that you can run to manually dispatch queued (re)generation tasks: wp wc prl process-generation-queue.

To dispatch (re)generation tasks via WP-CLI, first use the following snippet to prevent the extension from dispatching (re)generation work on-demand:

add_filter( 'woocommerce_prl_queue_via_wp_cli', '__return_true' );

Using WP-CLI only allows you to control when to start processing the queued (re)generation tasks. Once the extension begins to dispatch queued tasks, it will go on until the queue is empty. The amount of time from start to finish depends on the size of the queue, the complexity of the queued tasks, and your hosting environment. However, you may use the woocommerce_prl_queue_max_size filter to control the queue size and effectively limit the amount of work that can be scheduled between runs of the wp wc prl process-generation-queue command. Note that limiting the queue size will prevent some (re)generation requests from being scheduled for processing once the queue is filled up.

Analytics

↑ Back to top

WooCommerce Product Recommendations comes with detailed Revenue and Conversion reports to help you measure the impact of your strategies, and optimize them in a data-driven manner.

Performance Metrics

↑ Back to top

The extension lets you analyze your recommendation campaigns by tracking:

  • Gross Revenue.
  • Net Revenue.
  • Conversions.

Conversions are tracked in a way that minimizes server resource utilization, allowing the extension to run even on shared hosting environments. You can find more information about what is tracked and how in the Tracking Conversions section.

Basic Reports

↑ Back to top

The basic Performance report available under WooCommerce > Recommendations > Performance gives you a quick digest of how product recommendations are performing across your store. The report is refreshed once per day, and is based on data collected over the last 7 days, until midnight of the previous day.

Viewing how recommendations perform, at a glance.
  • The top section summarizes the performance of all 3 metrics over the last 7 days.
  • The Top Products and Top Locations sections list the top 10 products and top 10 Locations in terms of Gross Revenue and Conversions.

Viewing Revenue Analytics

↑ Back to top

Product Recommendations creates a dedicated Recommendations section under WooCommerce > Analytics, which offers insights into the sales performance of your recommendation strategies.

The report generates the following metrics for any chosen period:

  • Gross sales value.
  • Net sales value.
  • Items sold.
  • Orders containing converted products.
Viewing Gross sales of recommended products

The extension also allows you to generate custom reports which can be filtered by:

  • Converted Product(s) and;
  • Engine Location(s).

To generate a custom report for specific Products and Locations:

  1. Navigate to WooCommerce > Analytics > Recommendations.
  2. Select Advanced filters in the Show dropdown.
  3. Add a Product or Location filter.
Viewing Revenue Analytics filtered by Converted Product.
Viewing Revenue Analytics filtered by Engine Location.

Measuring the performance of your recommendations allows you to:

  1. Develop deeper insights about your products and customers.
  2. Build better recommendation strategies.

The following checklist is a great starting point for reviewing existing recommendation strategies:

  • Are the recommendations offered at the right Location? Some types of recommendations work better at specific Locations. If you have deployed multiple Engines at the same Location, reviewing their relative performance could give you valuable insights. Keep in mind that having too many recommendations at the same Location may hurt their performance — and the overall conversion rates.
  • Are the recommendations displayed at the right time, and to the right customer? Experiment with Visibility Conditions to offer more targeted recommendations that trigger the desired response at the right time.

Tracking Conversions

↑ Back to top

A Conversion event is recorded every time a visitor orders a product that was previously clicked in a recommendation block. A click-to-cart Conversion event gets stored in the visitor’s session data when a product is added to the cart, and a Click event was recorded for this product in the current tracking session. This allows Conversion events to be recorded correctly many hours or days after the converted products were added to the visitor’s cart.

When a Conversion event is recorded, the extension logs the following data:

  • the converted Product ID;
  • the Order ID;
  • the Order Item ID;
  • the Order Item Total excluding tax;
  • the Order Item Total including tax;
  • a Timestamp of the add-to-cart event;
  • a Timestamp of the purchase event (the time that the order was placed);
  • the Engine Deployment ID;
  • the Engine ID;
  • a Location identifier;
  • a page/source identifier for recommendations generated by Product and Product Archive Engines.

Cookies

↑ Back to top

The extension stores a cookie that tracks clicks on recommended products. This is updated by the server and is maintained to determine when click-to-cart Conversion events should be written to the visitor’s cart session when a product is added to the cart.

This cookie is not used to personally identify visitors, but care must be taken to obtain visitor approval before storing it. If needed, conversion logging can be disabled with the following snippet, which also prevents the conversion cookie from being written:

add_filter( 'woocommerce_prl_tracking_enabled', '__return_false' );

Engine Filters Reference

↑ Back to top

Engine Type: Generic

↑ Back to top

The following table lists all Filters supported by the Generic Engine Type:

Filter Description
Attribute Limits results to products within (or not from) a specified attribute.

Modifiers

in
not in

Values

List of product attributes created in Global Attributes.

Category Limits results to products from (or other than) the specified categories.

Modifiers

in
not in

Values

List of product categories.

Created Limits results to products created within the specified time frame.

Modifiers

in
not in

Values

last 24 hours
last 7 days
last 30 days
last 3 months

Featured Limits results to featured products.

Modifiers

is
is not

On Sale Limits results to on-sale (or not on-sale) products.

Modifiers

is
is not

Price Limits results to products within the specified price range.

Modifiers

>=
<

Value

Manual price input.

Product Limits results to specific products.

Modifiers

>=
<

Values

List of products.

Recently Viewed Limits results to recently viewed products.

Modifiers

in
not in

Stock Status Limits results to products having the specified stock status.

Modifiers

is
is not

Values

in stock
out of stock
on backorder

Tag Limits results to products with the specified tag(s).

Modifiers

in
not in

Values

List of product tags.

Engine Type: Product Archive

↑ Back to top

In addition to the filters available with the Generic type, the Product Archive Engine Type supports the following filters:

Filter Description
Attribute Limits results to products within (or not from) a specified attribute.

Modifiers

in
not in

Values

List of product attributes created in Global Attributes.

Current Category Limits results to products from (or not from) the currently viewed category.

Modifiers

any
none
in
not in

Current Tag Limits results to products from (or not from) the currently viewed tag archive.

Modifiers

any
none
in
not in

Engine Type: Product

↑ Back to top

In addition to the filters available with the Generic type, the Product Engine Type supports the following filters:

Filter Description
Attribute Limits results to products within (or not from) a specified attribute.

Modifiers

in
not in

Values

List of product attributes created in Global Attributes.

Current Category Limits results to products from categories that the currently viewed product belongs (or doesn’t belong) to.

Modifiers

any
Generates results from all categories that the product belongs to.
none
Generates results from categories that the product does not belong to.
in
Generates results from all listed categories that the product belongs to.
not in
Generates results from all categories that the product belongs to, excluding the listed ones.

Relative Price Limits results to products with a price higher or lower than a percentage of the currently viewed product’s price.

Modifiers

>=
<

Value

Manual % input.

Current Tag Limits results to products (not) having the same tag(s) as the currently viewed product.

Modifiers

any
Generates results from all tags that the product belongs to.
none
Generates results from tags that the product does not belong to.
in
Generates results from all listed tags that the product belongs to.
not in
Generates results from all tags that the product belongs to, excluding the listed ones.

Product Bundle Limits results to bundles that contain the currently viewed product.

Modifiers

containing current
Retrieves all Bundles that contain the currently viewed product.

Engine Type: Order

↑ Back to top

Supports the same set of filters as the Generic Engine Type.

Engine Amplifiers Reference

↑ Back to top

The Amplifiers listed here are supported by all Engine Types. Multiple Amplifiers can be added in parallel. When adding multiple Amplifiers to an Engine, use the +/- buttons to control its weight in relation to others.

Amplifier Description
Freshness Sorts products based on their creation date.

Modifiers

new to old
old to new

Price Sorts products based on their price.

Modifiers

low to high
high to low

Rating Sorts products based on their average review rating.

Modifiers

high to low

Popularity Sorts products based on their number of sales in the specified time frame.

Modifiers

low to high
high to low

Values

last 24 hours
last 7 days
last 30 days
last 3 months
all time

Conversion Rate Sorts products based on their click to purchase conversion rate in all Engine Deployments.

Modifiers

high to low

Bought Together Recommends the most relevant products that are likely to be purchased in the same order as the currently viewed product. Filters and sorts results using a statistical significance scoring function (JLH or Normalized Google Distance).

Modifiers

Others Also Bought Recommends the most relevant products that are likely to be purchased in addition to the currently viewed product, over a customer’s lifetime. Filters and sorts results using a statistical significance scoring function (JLH or Normalized Google Distance).

Modifiers

Visibility Conditions Reference

↑ Back to top

All Engine Types

↑ Back to top

The following table lists the Visibility Conditions supported by all Engine Types:

Visibility Condition Description
Recently Viewed Product Display the product recommendations if the customer has (not) recently viewed one of the specified products.

Modifiers

in
not in

Values

List of products.

Recently Viewed Category Display the product recommendations if the customer has (not) recently viewed a product from the specified categories.

Modifiers

in
not in

Values

List of product categories.

Recently Viewed Tag Display the product recommendations if the customer has (not) recently viewed a product with the specified tags.

Modifiers

in
not in

Values

List of product tags.

Geolocated Country Display the product recommendations if the customer’s IP has (not) been geolocated to one of the specified countries.

Modifiers

in
not in

Values

List of countries.

Customer Display the product recommendations if the customer is a guest or returning (logged in) user.

Modifiers

is guest
is not guest

Date Display the product recommendations only before or after a specified date.

Modifiers

>=
<

Value

Date.

Engine Type: Generic

↑ Back to top

In addition to the Visibility Conditions supported by all Engine Types, the Generic Engine Type supports the following:

Visibility Condition Description
Product Display the product recommendations if the cart contains (or does not contain) one of the specified products.

Modifiers

in cart
not in cart

Values

List of products.

Category Display the product recommendations if the cart contains (or does not contain) products from the specified categories.

Modifiers

in cart
all in cart
not in cart
not all in cart

Values

List of product categories.

Tag Display the product recommendations if the cart contains (or does not contain) a product with the specified tags.

Modifiers

in cart
all in cart
not in cart
not all in cart

Values

List of product tags.

Cart Total Display the product recommendations if the cart total is above or below the specified amount.

Modifiers

>=
<

Value

Cart total (including tax).

Cart Item Value Display the product recommendations if the min/max/average cart item value is above or below the specified amount.

Modifiers

>=
<

Value

Average cart item value (including tax).

Engine Type: Product Archive

↑ Back to top

In addition to the Visibility Conditions supported by all Engine Types, the Product Archive Engine Type supports the following:

Visibility Condition Description
Archive Category Display the product recommendations if the currently viewed archive is (or is not) for one of the specified categories.

Modifiers

in
not in

Values

List of product categories.

Archive Tag Display the product recommendations if the currently viewed archive is (or is not) for one of the specified tags.

Modifiers

in
not in

Values

List of product tags.

Engine Type: Product

↑ Back to top

In addition to the Visibility Conditions supported by all Engine Types, the Product Engine Type supports the following:

Visibility Condition Description
Product Display the product recommendations if the currently viewed product is (or is not) included in the specified products.

Modifiers

in
not in

Values

List of products.

Product Price Display the product recommendations if the currently viewed product’s price is above or below the specified amount.

Modifiers

>=
<

Values

Product price.

Product category Display the product recommendations if the currently viewed product belongs (or does not belong) to one of the specified categories.

Modifiers

in
not in

Values

List of product categories.

Product tag Display the product recommendations if the currently viewed product has (or doesn’t have) one of the specified tags.

Modifiers

in
not in

Value

List of product tags.

Product stock status Display the product recommendations if the currently viewed product has (or doesn’t have) the specified stock status.

Modifiers

is
is not

Value

In stock
Out of stock
On backorder

Engine Type: Order

↑ Back to top

In addition to the Visibility Conditions supported by all Engine Types, the Order Engine Type supports the following:

Visibility Condition Description
Product Display the product recommendations if the order contains (or does not contain) one or more of the specified products.

Modifiers

in order
all in order
not in order
not all in order

Values

List of products.

Category Display the product recommendations if the order contains (or does not contain) one or more products from the specified categories.

Modifiers

in order
all in order
not in order
not all in order

Values

List of product categories.

Tag Display the product recommendations if the order contains (or does not contain) one or more products with the specified tags.

Modifiers

in order
all in order
not in order
not all in order

Values

List of product tags.

Order Total Display the product recommendations if the order total is above or below the specified amount.

Modifiers

>=
<

Value

Order total (including tax).

Order Item Value Display the product recommendations if the min/max/average order item price is above or below the specified amount.

Modifiers

min item price >=
min item price <
max item price >=
max item price <
average item price >=
average item price <

Value

Amount.

Questions & Support

↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.
Already purchased and need assistance? Get in touch with us via the Help Desk!