> For the complete documentation index, see [llms.txt](https://docs.abtasty.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.abtasty.com/commerce/merchandising/create-a-merchandising-strategy.md).

# Create a merchandising strategy

A **Merchandising** strategy controls product ordering *within categories and collections* to enforce business priorities, best sellers first, promotions surfaced, slow movers pushed down, without manual back-office sorting. Commerce computes a score per product per strategy and syncs those scores to your CMS or search engine, which reorders the catalog accordingly.

{% hint style="info" %}
**What changed:** Merchandising comes from the former **Recommendations & Merchandising** product. The builder now shares the same shell as Recommendations (**New Rule**, **Pins**, **Global customization**, **Save / Save and deploy**) and adds **Pins for category** for per-category pinning. Under the hood each strategy still carries a `MERCH_ID` used for deployment to the CMS or search engine.
{% endhint %}

### How merchandising works <a href="#how-merchandising-works" id="how-merchandising-works"></a>

Merchandising does not reorder products live on every request. Instead:

1. **Score generation**: Commerce computes a merchandising score per product, per strategy, from the strategy's rules (best sellers, new arrivals, margin, and so on).
2. **API sync**: those scores are transmitted to your CMS or search engine.
3. **Catalog update**: the CMS reorders products using the scores.
4. **Front-end display**: the reordered list is shown to visitors.

{% hint style="warning" %}
**Filters only hide products, they don't change AB Tasty's ranking.** A filter on your website removes products from view, but the underlying score-based ordering is unchanged. If products reorder unexpectedly, check your filter logic first. Because scores are computed and synced (not recalculated on every request), rankings stay stable between syncs.
{% endhint %}

### Creating a merchandising strategy <a href="#creating-a-merchandising-strategy" id="creating-a-merchandising-strategy"></a>

{% stepper %}
{% step %}

#### **Click Create merchandising +**

<figure><img src="/files/Ye3mTZ48qxRxS6fCaoB3" alt=""><figcaption></figcaption></figure>

The **New merchandising strategy → Pick a strategy to start from…** modal opens with a starting point such as **Basics → Empty strategy**.
{% endstep %}

{% step %}

### Build the strategy

<figure><img src="/files/5ZhcWOIa0rxGtrTYL3sn" alt=""><figcaption></figcaption></figure>

The right-hand **Your strategy results** panel previews the ordered products *for a selected category context*. Until you pick a category, or if your configuration returns nothing for it, the panel shows an empty state such as **"0 results returned for \[Category: None]"** / "Your current configuration doesn't return any products for the context you are trying to preview…".&#x20;

Choose a category to see how that category would be ordered.

{% endstep %}

{% step %}

### Save and Deploy

Merchandising uses the two-step **Save** / **Save and deploy** model shared by all strategies. **Save** stores a draft; **Save and deploy** computes the product scores and syncs them to your CMS or search engine so the catalog reorders.
{% endstep %}
{% endstepper %}

Selecting a starting point opens the builder at `/merchandising/new/builder`.

## The Merchandising builder <a href="#the-merchandising-builder" id="the-merchandising-builder"></a>

The header follows the shared pattern, editable strategy name, a **Draft** badge, **Save**, and **Save and deploy**. The configuration panel contains:

#### Default rule <a href="#default-rule" id="default-rule"></a>

A new merchandising strategy opens with a **Default** rule already in place:

> Products sorted by `revenues_last_30_days`, **Unlimited**

This sorts the category by 30-day revenue with no result cap. Add more rules with **New Rule +** to layer additional sources or refinements on top.

#### Pins for category <a href="#pins-for-category" id="pins-for-category"></a>

**Pins for category** lets you pin products *per category*. Choose a category in the **Select…** category selector, then *"Pin product(s) for a specific category"*, the pinned products are forced to the top of that category only. This is what makes merchandising category-aware: different categories can have different pinned products under the same strategy.

#### Pins <a href="#pins" id="pins"></a>

**Pins → Pin product(s)** pins products across the strategy, independent of category.

{% hint style="info" %}
A **Pin** forces products to the top within this strategy. To promote or demote products *globally across all strategies*, use the dedicated [Boost & Bury](https://file+.vscode-resource.vscode-cdn.net/Users/didier/repos/abtasty/commerce/docs/commerce/03-creating-rules-boost-and-bury/) rules instead.
{% endhint %}

#### Global customization <a href="#global-customization" id="global-customization"></a>

**Global customization → New global customization (filter, exclude, sort…)** adds rules that apply across the strategy, **Filter**, **Exclude**, **Diversification**, **Shuffle**, **Sort by…**, or **Filter if…**. (Remember the warning above: filters hide products, they do not change the score-based ranking.)

## The Merchandising list <a href="#the-merchandising-list" id="the-merchandising-list"></a>

<figure><img src="/files/a3XZuHOt3zDZ4psSShyK" alt=""><figcaption></figcaption></figure>

The toolbar offers **Create merchandising +**, **Group By**, **Filters**, **Display settings**, and a search box. The table columns:

| Column                 | Meaning                                                                                     |
| ---------------------- | ------------------------------------------------------------------------------------------- |
| **Merchandising name** | The strategy's name.                                                                        |
| **Status**             | **Deployed**, or **Deployed (Draft Waiting…)** when a live version has saved edits pending. |
| **Categories**         | The categories the strategy covers (for example "11 categories", "sport").                  |
| **% of revenue**       | Share of revenue attributed to the strategy.                                                |
| **CTR**                | Click-through rate.                                                                         |
| **Conv. Rate**         | Conversion rate.                                                                            |
| **Tag(s)**             | Labels applied to the strategy.                                                             |
| **Creator**            | Who created it.                                                                             |
| **Creation**           | Creation date and time.                                                                     |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.abtasty.com/commerce/merchandising/create-a-merchandising-strategy.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
