Skip to main content

Custom Labels — Bestsellers & Trending Products

Tag your best-selling and trend-rising products automatically in your catalogue feed so Facebook and Instagram can use that data to create targeted product sets and ad overlays.

note

Available since v2.5.0

Overview

Custom Labels are extra fields in your product catalogue feed that you control. Facebook Catalogue Manager lets you filter and group products by these labels — for example, you can create an ad set that shows only your top 50 bestsellers, or build a retargeting audience around products that are gaining momentum right now.

The module can calculate two types of performance-based labels entirely from your store's order history:

  • Bestsellers — products ranked by total units sold over a time window, up to a top-N limit.
  • Trending — products that are selling faster right now than they were in a recent baseline period. These are not necessarily your highest-volume products; they are the ones whose sales velocity is accelerating.

Both labels are assigned at feed generation time. The module queries your completed orders, computes the rankings, and writes the label text into every matching product row in the feed. If you also sell product combinations (size, color, etc.), the ranking works at the combination level when combinations are enabled in your feed settings.

Configuration

  1. Go to Modules > Module Manager, find Facebook & Instagram Product Catalogue Feed Pro, and click Configure.
  2. Click the Custom Labels tab.
  3. For one of the five Custom Label slots (Custom Label 0 through Custom Label 4), open the type selector and choose "Best Selling" Products text or "Trending" Products text.
  4. The relevant settings fields appear below that slot.
  5. Fill in the settings described in the sections below, then click Save Configuration.

Custom Labels tab showing the five custom label type selectors

You can assign bestsellers to one slot and trending to another slot simultaneously. Each slot is independent.

Bestseller Settings

Bestselling label text, product count, and time range fields

FieldConfig keyDefaultDescription
Bestselling "label"FPF_CUSTOM_LABEL_BESTSELLER(empty)The text written into the feed for matching products. You can set a different text per store language. For example: bestseller, top seller, or top 100.
Number of bestseller productsFPF_CUSTOM_LABEL_BEST_NUMBER100How many products qualify as bestsellers. The module ranks all products by total units sold and tags the top N.
Time range for bestseller productsFPF_CUSTOM_LABEL_BESTSELLER_DAYSall-timeEnter a number of days to limit the sales window. For example, enter 365 to count only orders from the past year, or 30 for the last month. Leave the field containing all-time to include all products regardless of purchase date — no date filter is applied.

Note on "all-time": When the field contains all-time (or any non-numeric text), the date filter is bypassed completely — all qualifying products are included regardless of when they were purchased. To restrict to a specific window, enter a number of days — for example, 365 for the past year.

Combinations: When your feed is configured to export product combinations, bestseller ranking works at the combination level. A red size-L shirt and a blue size-M shirt are ranked separately. If the module is not in combinations mode, sales are aggregated at the parent product level.

Trending is a sales-velocity comparison. The module does not simply rank by volume — it measures whether a product is selling faster in a recent window than it was over a longer comparison window, then ranks by that acceleration score.

FieldConfig keyDefaultDescription
Trending Products "label"FPF_CUSTOM_LABEL_TRENDING(empty)The text written into the feed for matching products, per language. For example: trending, hot right now, or rising.
Recent window (days)FPF_CUSTOM_LABEL_TRENDING_WINDOW7The number of recent days used as the short measurement period. A smaller number is more reactive to sudden spikes; a larger number smooths out noise.
Compare window (days)FPF_CUSTOM_LABEL_TRENDING_COMPARE14The number of past days used as the baseline. Products are only tagged trending if their average daily sales in the recent window exceed their average daily sales in this comparison window.

Trending label text, recent window, and compare window fields

How the Comparison Works

The module computes an average-sales-per-day figure for each product over both windows, then calculates a trend score: recent average minus comparison average. Products with a positive trend score are ranked by that score, and the top results are tagged.

A product must have sales in both windows to appear in the trending list. A product that sold units last month but nothing in the recent window will not be tagged, even if it was once popular.

Example with defaults (7-day window, 14-day compare):

Say a product sold 2 units per day on average over the last 14 days, but in the last 7 days it is selling 5 units per day. Its trend score is 5 − 2 = 3. Another product averaging 10 per day historically and 12 per day recently has a score of 2. The first product ranks higher for the trending label even though the second sells more in absolute terms.

Example: catching a seasonal spike early:

A swimwear product normally sells 1 unit per day. In the last 7 days it is selling 8 per day as summer approaches. Trend score: 8 − 1 = 7. This product would appear high on the trending list well before it becomes your overall bestseller.

Usage Examples

Example: Top 50 bestsellers over the past 90 days

Set Number of bestseller products to 50, Time range to 90, and label to top50. In Facebook Catalogue Manager, create a product set filtered to custom_label_0 = top50. Use this set in your dynamic ads to prioritise the products most likely to convert right now.

Example: Trending label for retargeting

Set Recent window to 7, Compare window to 28, and label to trending. Products that spike in sales over the past week compared to the past month get tagged. Build a Facebook audience of people who viewed those products but did not purchase, and run urgency-focused ads to them.

Example: Combining both labels

Assign bestsellers to Custom Label 0 and trending to Custom Label 1. In Facebook you can then create separate product sets — one for steady performers, one for rising products — and test which creative angle resonates better with each audience.

Important Notes

  • Both labels are computed at feed generation time from your store's completed (validated) orders. Changes in order history are reflected the next time you regenerate the feed.
  • The label text is language-specific. If you run language feeds, set a label text for each active language, otherwise the field will be empty in that language's feed.
  • The trending label requires a product to have sales in both the recent window and the comparison window. Newly launched products with no comparison-window history will not appear in the trending list even if they are selling rapidly.
  • Both features respect your shop scope. In a multi-shop setup, only orders belonging to the current shop are counted.
  • You can assign up to five custom label slots in total across all label types (new products, on-sale, updated, bestsellers, trending). If all five slots are in use and you want to add another type, you must replace an existing slot.

Troubleshooting

ProblemSolution
No products are tagged as bestsellersCheck that your store has validated (paid) orders within the configured time range. Also confirm the label text field is not empty.
The "all-time" bestseller range does not behave as expectedall-time bypasses the date filter entirely — all orders in your store's history are included. This is the expected behaviour. To restrict to a specific window, enter a number of days (e.g., 365).
No products are tagged as trendingConfirm that the comparison window is longer than the recent window, and that the products you expect have orders in both periods. Products with sales only in the recent window are excluded.
Trending tags products that do not feel rightLower the Recent window to be more selective (fewer days = more reactive to very recent spikes). Alternatively, increase the Compare window to raise the baseline threshold.
Labels appear in one language feed but not anotherThe label text field is per-language. Scroll to the language tabs in the label text field and fill in the text for every active language.

Frequently Asked Questions

How many products can I tag as trending?

There is no separate limit field in the configuration form for trending. The module returns up to 20 trending products by default based on the internal threshold. If you need more, this value is controlled internally and can be adjusted on request.

Does the bestseller count include orders that were later refunded or cancelled?

Only orders with the PrestaShop "validated" status (o.valid = 1) are counted. Cancelled or unpaid orders are excluded automatically.

Can I use the same label text in both the bestseller and trending slots?

You can, but it would make them indistinguishable in Facebook Catalogue Manager. Use different label texts (for example bestseller vs trending) so you can filter each set independently in your ad account.

If a product qualifies as both a bestseller and a trending product, which label does it get?

Both. Each custom label slot is written independently into the feed. A product can carry labels in Custom Label 0 and Custom Label 1 at the same time.

Does the time range for bestsellers count from today or from the last feed generation?

It counts back from the moment the feed is generated. Each generation run recalculates the rankings live from your current order data.

Will combinations of the same product each get their own bestseller tag?

When the Export Combinations option is enabled in your feed settings, yes — each combination (size/color variant) is ranked separately. The red large shirt and the blue small shirt can have different rankings. When combinations are not exported, all sales for a product are aggregated and the parent product is tagged.