Ubercart Views Upsell provides two new blocks to help you automatically upsell (or cross-sell) products in Ubercart stores:

Customers who bought this product also bought

The upsell_product_pairs shows products that were purchased by others at the same time as the product being viewed. To use this, enable the view and add the block to a suitable region in your theme. The block will only show results on product node pages.

Customers who bought these products also bought

The upsell_cart_pairs shows products that are not currently in the cart, but that were purchased by others at the same time as the items that are in the cart. To use this, enable the view, then add the upsell_cart_pairs block to a suitable region in your theme and restrict it to display on the "cart" page (or any other pages!)

Module configuration

The output is fully configurable through Views; the default is a grid display of 4 products, but this can easily be changed to any other layout or include other fields.

The list of product pairs is partially built on every cron run, but if you are installing on an existing store, you can force a full rebuild of the data on the configuration page at Store configuration > Views Upsell settings. You can also configure the number of products to update on every cron run, and the maximum number of pairs that are needed per product.

Comparison with other modules

Ubercart Views includes a marketing submodule which provides the first feature, however this has a few problems: it needs CREATE VIEW permission in MySQL, which is not available on all hosts and can cause problems when generating or restoring backups, and it also suffers from performance issues on large stores as the SQL query used is inherently slow. Ubercart Views Upsell uses standard SQL and has been successfully tested on a site with over 400,000 rows in the uc_order_products table.

Ubercart Products Recommender needs a huge amount of memory to run on large stores and the output cannot be controlled by Views.

UC Upsell requires manual selection of products (either one by one or through taxonomy) and the output also cannot be controlled by Views.

Future plans

None for now, but if you create any interesting views with this module or have ideas on other ways to automatically relate products, please post in the issue queue.

Project Information