Skip to main content
All CollectionsData SourcesBasics
Data Source Best Practices
Data Source Best Practices

Use Data Sources efficiently to improve Rebuy performance!

Zach Anderson avatar
Written by Zach Anderson
Updated over a week ago

Using one Widget and Data Source per Widget Type

When first creating recommendation widgets with Rebuy, you might create one widget and data source per recommendation. For example, if you wanted to offer a shirt on one page and some sauce on another page, you might create two widgets that each have their own data source, like this:

Recommend Shirt on a Hat product page:

Recommend Sauce on another Sauce product page:

However, this would result in two separate widgets, and we can simplify this down to one widget with one data source.

We recommend creating multiple rules and only using one data source, like so:

Why create data sources with multiple rules?

There are many benefits to creating data sources with multiple rules.

  • It helps to stay organized:

    • Only having one data source and one widget per widget type (product page cross-sell, product page upsell popup, Smart Cart recommendations, etc.) means that we only have a handful of widgets that you need to monitor. When you create multiple widgets, it can be difficult to tell which one is which.

  • Creating logic that makes sense:

    • If you have multiple pop-up widgets for similar products, it's possible you could have a rule match from multiple data sources and have multiple pop-ups stack on top of each other. If you have a single pop-up widget with a data source that has multiple rules to cover the scenarios you'd like, you'll never get an overlapping popup. Remember: data sources communicate with their respective widgets; they do not communicate with other data sources.

  • Increase site performance:

    • For each widget you have on a page, your site needs to retrieve that information from a data source. If you have 10 different PDP carousel widgets for different product pages, that means you'll need to retrieve that data from 10 different data sources. If you have only one widget with a data source equipped with 10 rules for 10 different product pages, you'll only need to retrieve data from the one data source. That's 10 times more efficient in terms of loading speed!

Did this answer your question?