> ## Documentation Index
> Fetch the complete documentation index at: https://docs.regasolutions.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Filters

> Write the standing orders the radar runs for you, find out which of your criteria costs time, and recognise a filter that will never surface anything.

A filter is your standing order: “tell me the moment a listing like this one is born on Vinted”.
You describe what you are after; the radar watches roughly **150 listings being born every second**
and shows you only yours. This screen is where those orders are written, sorted into groups,
duplicated country by country, and armed to buy on their own.

<Frame caption="The Filters screen on a populated account: the General feed banner, a “Luxe” group, a “No group” section, and both marketplaces side by side.">
  <img src="https://mintcdn.com/regasolutions/qwd9LpL60q4fWPff/images/filtres-en.webp?fit=max&auto=format&n=qwd9LpL60q4fWPff&q=85&s=54b8bd6b66165e8ac4ff2beb19880621" alt="REGA's Filters screen" width="1760" height="1100" data-path="images/filtres-en.webp" />
</Frame>

<Note>
  **One thing to remember from this whole page.** A filter that is too wide makes noise: you see it,
  you fix it. A filter that is too narrow does **nothing** — and “nothing” looks exactly like “there
  were no listings”. Everything below exists to help you write filters that are wide *and* fast.
</Note>

***

## What you are looking at

<Frame caption="The same controls, numbered.">
  <img src="https://mintcdn.com/regasolutions/qwd9LpL60q4fWPff/images/filtres-annote-en.webp?fit=max&auto=format&n=qwd9LpL60q4fWPff&q=85&s=90dffea5e5d970f4c9d720454806d709" alt="The Filters screen with its controls numbered" width="1760" height="1100" data-path="images/filtres-annote-en.webp" />
</Frame>

| №  | Control                               | What it does                                                                                                                                                |
| -- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1  | The paying account, top right         | The account that will pay for the next purchase, with its marketplace and its state — tooltip “compte\_demo will pay for the next purchase · ready to buy.” |
| 2  | The bell                              | Your notifications; the badge counts the unread ones — here “3 unread notifications”.                                                                       |
| 3  | **Administration**                    | REGA staff only — this button does not appear on your account.                                                                                              |
| 4  | The **AUTOBUY** pill, here on **OFF** | The master switch for automatic buying — tooltip “Automatic buying disarmed”. While it is disarmed, **no** filter buys, armed or not.                       |
| 5  | The rega logo                         | Back to home.                                                                                                                                               |
| 6  | **+ New filter**                      | Asks “Which marketplace?” first, then opens the form.                                                                                                       |
| 7  | **Export**                            | Downloads **all** your filters and groups into a dated file you can re-import.                                                                              |
| 8  | **Import**                            | Reads an export file back. Imported autobuy stays **off** until you arm it.                                                                                 |
| 9  | **+ Group**                           | Creates a group — and therefore a sub-page in the Dashboard.                                                                                                |
| 10 | **Dashboard**, in the navigation      | The screen where kept listings land. The number next to **Filters** counts your filters.                                                                    |
| 11 | Sort by **Detections**                | The default sort: the filters that have detected the most come first.                                                                                       |
| 12 | Sort by **Autobuy first**             | Armed filters rise to the top, then the ranking by detections.                                                                                              |

Three more sorts follow: **Name**, **Creation order**, **Manual order**. Only **Manual order**
brings out the drag handles and the ↑ ↓ arrows on filters.

<Info>
  Top left, the radar's state: **RADAR ACTIVE**, **RADAR PAUSED** (as on the capture) or
  **RADAR UNREACHABLE**. While paused your filters are untouched — but nothing is detected during
  that time.
</Info>

### The two header counters do not count the same thing

<Columns cols={2}>
  <Card title="“6 filters · 1 group”" icon="sigma">
    Under the title. Counts **both marketplaces**: your Vinted filters **and** your Vestiaire ones.
  </Card>

  <Card title="“6 active · 0 on autobuy”" icon="crosshair">
    On the right of the sort bar. “on autobuy” counts **Vinted only**, and only filters that are
    both **active** and **armed**.
  </Card>
</Columns>

### A filter row, badge by badge

| Element (example from the capture)                      | What it tells you                                                                                                                           |
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| The green switch                                        | The filter is on. Off, the radar stops watching for those criteria. It flips on screen straight away and rolls back if the server refuses.  |
| The name — “Gucci — sacs et petite maroquinerie”        | Yours, never translated. Left empty, the row shows “Unnamed filter”.                                                                        |
| The **VINTED** / **VESTIAIRE** pill                     | The marketplace. It is **written out**, not merely coloured — and that choice cannot be changed after creation.                             |
| The “fast” / “checked” / “widened” pill                 | How fast this filter works. Silent on a Vestiaire row.                                                                                      |
| The **AUTOBUY** badge                                   | It only shows when the filter is **armed AND active** — tooltip “Automatic purchase armed”.                                                 |
| The **UK** marker                                       | The Vinted shop actually being watched, written **only when it is not France** — tooltip `Site: {pays}`. A row with no marker means France. |
| The summary — “1 category · 1 brand · ≤ 900 € · FR, IT” | Your criteria in plain words. Truncated on screen, complete on hover.                                                                       |
| The big number + “in total” — “1,284 in total”          | Listings matched **since the filter was created**. Never a count for today.                                                                 |
| The freshness line                                      | “12 s ago” when a detection is recent, otherwise “disabled”, “last one unknown” or “no detection”.                                          |
| The **Autobuy** column                                  | This filter's own arming and its cap: “no cap” or “≤ 400 €”. **Absent on a Vestiaire row.**                                                 |
| The `⋯` menu                                            | “Edit” · “Duplicate” · “Duplicate by region” · “Move to a group” · “Delete”.                                                                |

<Warning>
  The `⋯` menu deletes **immediately**, with no confirmation and no undo. Only **bulk** deletion asks
  for confirmation (“This cannot be undone. The radar will stop watching for these criteria.”).
  Export before any clean-up pass.
</Warning>

***

## The rule that governs everything: your criteria do not cost the same

Some criteria are settled with the listing itself: they are free and instant. Others need
information that does **not** arrive with the listing: those are paid in milliseconds, sometimes in
seconds. The pill on each row tells you which case you are in, and the form recalculates it on
every keystroke.

```mermaid theme={null}
flowchart TD
    A["Your criteria"] --> B{"A material or a pattern<br/>from a pasted link?"}
    B -- yes --> W["WIDENED<br/>listings arrive in batches,<br/>every 4 s"]
    B -- no --> C{"A category,<br/>with no brand and no keyword?"}
    C -- yes --> W
    C -- no --> D{"A category?"}
    D -- yes --> V["CHECKED<br/>the listing shows up<br/>after a short check"]
    D -- no --> E{"An origin narrower<br/>than the euro area?"}
    E -- yes --> V
    E -- no --> R["FAST<br/>the listing shows up<br/>as soon as it is published"]
    W -. "add a brand<br/>or a keyword" .-> V
```

| Pill      | Its tooltip, word for word                                                                                                                         | When you get it                                                                          |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| “fast”    | “Immediate detection — this filter's listings show up as soon as they are published.”                                                              | Brands, keywords, price, sizes, conditions, “Euro area”, “Any origin”.                   |
| “checked” | “Detection after a check: this filter uses information that does not arrive with the listing. Cards show up after that short delay, never before.” | A category together with a brand or a keyword; or an origin narrower than the euro area. |
| “widened” | “This filter's listings do not appear the moment they go live: they arrive in batches, at a regular interval.”                                     | A category **on its own**; or a material / a pattern from a pasted link.                 |

### The table to keep in front of you

| Criterion                                             | What it costs                                              | Resulting regime |
| ----------------------------------------------------- | ---------------------------------------------------------- | ---------------- |
| Brand                                                 | free                                                       | fast             |
| **KEYWORDS** / **EXCLUDED WORDS**                     | free                                                       | fast             |
| **MIN PRICE (€)** / **MAX PRICE (€)**                 | free — and the minimum **gives capacity back** to everyone | fast             |
| Sizes                                                 | free                                                       | fast             |
| Conditions                                            | free                                                       | fast             |
| Origin “Euro area” or “Any origin”                    | free                                                       | fast             |
| Origin “By market” or “By country”                    | one check per listing                                      | checked          |
| Category **with** a brand or a keyword                | one check per listing, **the same one** as the origin      | checked          |
| Category **on its own**                               | listings arrive in batches                                 | widened          |
| Material or pattern (only settable by pasting a link) | listings arrive in batches                                 | widened          |

<Check>
  **Category and origin never add up.** A single check settles both, and the screen says so: “This
  filter already carries a category: restricting the origin adds no delay. Both criteria are settled
  together, their costs do not add up.” When both are set, the same figure appears on both sides with
  the word **shared** — precisely so that you do not count it twice.
</Check>

<Warning>
  The form's cost banner shows **the measured figure, with its date** (“observed … ago”), and when
  nothing has been measured it admits it: “not measured yet” — never an invented zero. Our production
  measurements: on 26/07 a category cost **+396 ms**, a precise origin **+408 ms**, and both together
  **+399 ms shared**. On 14/08 the origin had fallen back to **362 ms** while the category rose to
  **15.8 s**. That is open work on our side — **read the banner, not your memory.**
</Warning>

***

## Writing a filter, step by step

<Steps>
  <Step title="Pick the marketplace — this choice is final">
    **+ New filter** asks “Which marketplace?” first, with this warning: “The two share neither
    their criteria nor their settings. This choice cannot be changed later.”

    * **Vinted** — “Automatic buying, groups, rate measurement. Kept listings arrive in the feed.”
    * **Vestiaire** — “Categories, sizes, origin. Kept listings appear on the Vestiaire Collective screen, not in the feed yet.”
  </Step>

  <Step title="Paste the Vinted link — first, never last">
    The **PASTE A VINTED LINK (OPTIONAL)** field plus **Analyse** fills the form from a Vinted
    search you have already made. The message that follows lists what was **carried over** and what
    was **replaced**: nothing is erased in silence.

    <Tip>
      Paste the link **before** typing anything, then refine by hand. The other way round, you lose
      your work on every field the link replaces.
    </Tip>

    If the address is not understood: “Link not recognised — fill in the form.” A `vinted.co.uk`
    address does create a British filter: the site's address is what decides. The search's sort,
    page and session parameters, on the other hand, are deliberately ignored — copying them across
    has no effect.
  </Step>

  <Step title="Categories — aim at the parent">
    The search starts at **2 characters** and shows at most **40 results**:
    `First {plafond} results out of {total} — narrow the search.` The catalogue holds
    **2,920 entries across 5 levels**, with plenty of homonyms — “Other” exists 14 times, which is
    why every result carries its breadcrumb.

    Ticking a category takes **all of its sub-categories**:
    `{n} categories — sub-categories are included.` The screen warns you when an addition is
    pointless (`Already covered — {chemin}`) and when it absorbs others
    (`{n} sub-categories absorbed — {chemin}`).

    <Tip>
      A very deep category forces the check down a far heavier path: **3.2 s** measured, against
      **240 ms** on the fast route. Aim at the **parent** node — sub-categories are included anyway.
    </Tip>
  </Step>

  <Step title="Brands, price, sizes, conditions">
    * **Brands** — live search. A filter with a brand only accepts the **exact** brand carried by the listing: the title never decides. With no brand, your keywords are what decide.
    * **MIN PRICE (€)** / **MAX PRICE (€)** — see advice n°1: the minimum price is the single most profitable lever on this screen.
    * **Sizes** — leave “Extend to equivalent sizes” **on** (it is on by default). A size group can carry `Only {noms}` and the note “Does not narrow the filter's other categories.”
    * **Conditions** — drop-down. Nothing ticked = “All conditions”.

    <Warning>
      **67 size labels** stand for several real sizes — “S” stands for **8** of them, one per sizing
      system. Turning equivalences off rejects listings in the right size **without saying a word**.
      The help text spells it out: “The same label exists in several sizing systems. Without this
      option, listings in the right size can be rejected.”
    </Warning>
  </Step>

  <Step title="Keywords — and the try-out that saves you a week of silence">
    Two lists, **KEYWORDS** (“All of these words must appear.”) and **EXCLUDED WORDS** (“None of
    these words may appear.”), each with its own mode:

    | Mode                     | Effect as shown by the screen                     |
    | ------------------------ | ------------------------------------------------- |
    | “contains” — the default | “‘bag’ also keeps ‘handbag’.”                     |
    | “contains strictly”      | “‘bag’ does not keep ‘handbag’.”                  |
    | “contains only”          | “Keeps only titles made up of these words alone.” |

    Several words do **not** make a phrase:
    `All {nb} words must appear, in any order — this is not a phrase.`
    A word that is too short is flagged:
    `“{mot}” is very short: in “contains” mode it appears in a great many titles.`

    <Check>
      Use **TRY IT ON A TITLE**. It gives a reasoned verdict — “This title would be kept.” or
      `This title would be rejected: {raisons}.` with the exact reason:
      `it does not contain “…”`, `it contains “…”`, `it contains other words (“…”)`.
    </Check>
  </Step>

  <Step title="Seller's origin — and the site it decides">
    Four chips: **Euro area** · **Any origin** · **By market** · **By country**.

    “Euro area” is the default and the only **free** shortcut: “Keeps listings whose seller prices
    in euros. Slightly wider than what can really be bought from France: it never misses a listing,
    it lets a few more through. It does not tell countries apart.”

    Going down to the country level tips the filter over: “This filter is slightly slower to
    detect.” And do not look for a third price: “Country and region are one and the same criterion
    here: the seller's origin, whether chosen by market or country by country. The cost is the same
    either way.”

    Right below, the screen writes the consequence: `Watching Vinted {pays}.`

    <Warning>
      If the alert appears — `No {pays} account is connected: this filter will spot listings, but no purchase can go out. Connect a {pays} account from the Accounts page.` — **the filter will see
      without ever being able to buy**. It warns, it does not block. Connect the account **before**
      the drop, not during it.
    </Warning>
  </Step>

  <Step title="Group, then estimate">
    **GROUP (DASHBOARD SUB-PAGE)** files the filter away — and gives it a dedicated sub-page in the
    Dashboard.

    The “How many listings this filter will surface” block watches the catalogue for about fifteen
    seconds (“Estimating (\~15 s)…”) then returns `≈ {centre} listings/min` with its precision. When
    nothing showed up, it does not lie:
    `Fewer than ~{haut} listings/min — none appeared in {duree}, too rare to be estimated that quickly.`
    and it then offers **Refine the estimate (takes longer)**.
  </Step>

  <Step title="Autobuy, notifications, saving">
    * **Autobuy on this filter** — “Automatic purchase as soon as it is detected.” The **€ max** field carries the help “Cap per item — leave empty to impose no cap”. Left empty: “No cap: this filter will buy whatever the price.”
    * **Notify me** — “One notification on every detection by this filter — photo, brand, title and price. No cap is applied: a wide filter will produce a lot of them.”

    Then **CREATE THE FILTER** (or **SAVE** when editing).
  </Step>
</Steps>

<Note>
  Saving means **three settings sent**: the filter, its group, its autobuy. They can succeed
  separately — which is why the confirmation only adds “autobuy armed” when the arming **actually**
  went through. A success shown on a refused action would be a lie; we would rather give you three
  verdicts than one comfortable one.
</Note>

***

## Three filters that work, written out in full

<Tabs>
  <Tab title="The luxury drop">
    **Goal**: miss nothing from one brand, and buy on its own.

    | Field                      | Value                                    |
    | -------------------------- | ---------------------------------------- |
    | **FILTER NAME**            | `LUXE — Gucci leather goods`             |
    | Brands                     | Gucci                                    |
    | Categories                 | *(the parent category, if you want one)* |
    | **MIN PRICE (€)**          | `30`                                     |
    | **MAX PRICE (€)**          | *(empty, or your limit)*                 |
    | Origin                     | **Euro area**                            |
    | **Autobuy on this filter** | armed, **€ max** empty                   |

    Resulting regime: “checked” with the category, “fast” without. The minimum price is not there to
    filter your taste: it gives capacity back to **all** your filters.
  </Tab>

  <Tab title="The keyword watch">
    **Goal**: catch a piece that the brand alone does not identify.

    | Field              | Value                                                               |
    | ------------------ | ------------------------------------------------------------------- |
    | **FILTER NAME**    | `WATCH — 501 vintage`                                               |
    | Brands             | Levi's                                                              |
    | **KEYWORDS**       | `501` — **a single word**, the most discriminating one              |
    | **EXCLUDED WORDS** | `replica, fake, dupe` — “contains” mode, so it also catches “fakes” |
    | **MIN PRICE (€)**  | `10`                                                                |

    On the capture, the row “Veille large — Maison Margiela” is exactly this case: its summary reads
    `1 brand · except “réplique, inspiré, dupe”`, and its pill reads “fast”.
  </Tab>

  <Tab title="The watched category">
    **Goal**: follow a whole aisle without falling into the “widened” regime.

    | Field                      | Value                                                       |
    | -------------------------- | ----------------------------------------------------------- |
    | **FILTER NAME**            | `AISLE — women's bags`                                      |
    | Categories                 | the **parent** node (sub-categories are included)           |
    | Brands **or** **KEYWORDS** | **at least one of the two** — that is what avoids “widened” |
    | **MIN PRICE (€)**          | `20`                                                        |
    | Origin                     | **Euro area**                                               |

    With no brand and no keyword, this filter drops to “widened”: nothing on the first pass, then
    batches every 4 seconds. With one, it goes back to “checked” — the screen offers it to you
    itself: “with a brand or a keyword, this criterion becomes immediate again”.
  </Tab>
</Tabs>

***

## Trap n°1: the filter that surfaces nothing

```mermaid theme={null}
flowchart TD
    A["This filter has never detected anything"] --> B{"Does it carry a brand,<br/>a keyword, a category,<br/>or a criterion from a link?"}
    B -- no --> S1["It can detect NOTHING.<br/>Add at least one of the four."]
    B -- yes --> C{"Is the keyword<br/>3 characters or more?"}
    C -- no --> S2["“XL”, “42”, “S” do not count.<br/>Use the size selector instead."]
    C -- yes --> D{"Several keywords,<br/>and no brand?"}
    D -- yes --> S3["Keep ONE keyword,<br/>the most discriminating one."]
    D -- no --> E{"Is “Extend to equivalent<br/>sizes” switched on?"}
    E -- no --> S4["Switch it back on: 67 labels<br/>stand for several real sizes."]
    E -- yes --> F{"Does the “Watching Vinted …”<br/>line match the country you want?"}
    F -- no --> S5["Redo the origin:<br/>site and country must agree."]
    F -- yes --> S6["Estimate, then “Refine”.<br/>The seam may simply<br/>be a rare one."]
```

| The silence comes from…                                                                                                                    | What to do                                                                   |
| ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| **No recognition criterion at all.** “Condition = New with tags, price ≤ 50 €” will **never** surface anything                             | Add a brand, **or** a keyword, **or** a category, **or** paste a link        |
| **A keyword under 3 characters** as the only criterion                                                                                     | Use the size selector, never the keyword field, for “XL” or “42”             |
| **Several keywords with no brand**: they then behave like one run-on string — “sac cabas” does not catch “cabas en cuir, sac porté épaule” | One keyword, the rarest; the rest into **EXCLUDED WORDS** or into a category |
| **Size equivalences switched off**                                                                                                         | Switch them back on                                                          |
| **An origin that does not match the site being watched**                                                                                   | Re-read `Watching Vinted {pays}.` under the selector                         |
| **A very deep category**                                                                                                                   | Aim at the parent                                                            |

<Warning>
  None of these six cases makes anything blink: the filter stays green, active, and silent. That is
  why the “in total” column is worth a report on its own: **a filter at 0 detections created a week
  ago is a filter to open**, not a market without listings.
</Warning>

***

## Automatic buying on a filter

<Warning>
  **Automatic buying runs on our servers.** Once armed, it survives closing the tab, closing the
  browser, and shutting down your machine. **The only action that stops it is disarming it.** The line
  “Where automatic buying runs” — “on our servers — closing the tab does not stop it” — states that
  fact; it is not a switch you set.
</Warning>

Ticking a filter's Autobuy is not enough to send a purchase out: there are **four gates**, and they
all have to open.

```mermaid theme={null}
flowchart LR
    A["A listing is detected"] --> B{"Account AUTOBUY<br/>pill armed?"}
    B -- no --> X1["Nothing"]
    B -- yes --> C{"Filter active AND<br/>Autobuy ticked on it?"}
    C -- no --> X2["Nothing"]
    C -- yes --> D{"Filter confirmed?<br/>category and country checked"}
    D -- "pending" --> X3["Refused:<br/>category or country<br/>not known yet"]
    D -- yes --> E{"Detected less<br/>than 120 s ago?"}
    E -- no --> X4["Refused: too late"]
    E -- yes --> F{"Is a cap set?"}
    F -- no --> G["PURCHASE"]
    F -- yes --> H{"Price known<br/>and under the cap?"}
    H -- no --> X5["Refused: price unknown<br/>or too high"]
    H -- yes --> G
```

<Note>
  **A direct consequence, and it changes how you write filters:** a filter with a category or a
  precise country is a poorer candidate for automatic buying than a brand + price filter. It has to be
  **confirmed** first, and the item is only buyable for **120 seconds** after detection. For a drop,
  prefer brand + price + euro area.
</Note>

### The three caps, from widest to narrowest

| Cap                  | Where it is set                             | What it covers                                                                        | Out of the box |
| -------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------- | -------------- |
| “Purchase ceiling”   | **Settings → BUYING**                       | **Every** purchase, manual and automatic, on every machine                            | **Empty**      |
| “Cap per item”       | The **AUTOBUY** panel on the dashboard      | Automatic buying started from **this browser** — the setting is remembered there only | **120 €**      |
| A filter's **€ max** | Here, in the “Autobuy on this filter” block | Automatic buying **for this filter**                                                  | Empty = no cap |

<Warning>
  A cap that **is** set also refuses an item whose price cannot be read. Setting a cap can therefore
  make you miss a listing; not setting one cannot. It is a trade-off, not a safety setting.
</Warning>

<Info>
  And if the connection drops **at the moment of paying**, the payment is **never** replayed: the
  outcome there is unknown, and replaying would risk a double charge. You will find the real state in
  **Orders**.
</Info>

***

## Working on several filters at once

<AccordionGroup>
  <Accordion title="Multiple selection and bulk editing" icon="list-checks">
    Tick one checkbox and a bar settles at the top: “Select all” / “Clear the selection”, then
    **Enable**, **Disable**, **Move to…**, **Edit in bulk**, **Delete**. During the operation the
    buttons dim — the action is on its way.

    Bulk editing states its own rule:
    `{n} filters selected — only the fields you turn on will change.` Five blocks, each with its own
    “Change …” switch:

    | Block                 | What it does                                                                              |
    | --------------------- | ----------------------------------------------------------------------------------------- |
    | “Price cap”           | “Replaces the min and max price. Leaving a field empty = no bound on that side.”          |
    | “Seller's origin”     | “Replaces the origin.”                                                                    |
    | “Add / remove brands” | “Does not overwrite existing brands: it adds or removes, filter by filter.”               |
    | “Conditions”          | “Replaces the conditions. No condition ticked = every condition (clears the constraint).” |
    | “Notification”        | “Alert when an item matches. A wide filter then produces one alert per listing.”          |

    The **WHAT WILL CHANGE** panel shows the outcome before you apply it; empty, it says “Nothing
    selected — turn on a field above.” With no field turned on: “Turn on at least one field to
    change.”

    <Tip>
      This is the tool for putting a **MIN PRICE** on a whole set of filters in one go, through
      “Price cap”. Measured on our side: **0.08 s for 400 filters**.
    </Tip>

    ⚠️ “Select all” takes **every Vinted filter on the screen**, not just the visible section — and
    never the Vestiaire rows.
  </Accordion>

  <Accordion title="Groups, and the Dashboard sub-page" icon="folder">
    A group files filters away **and** creates a sub-page in the Dashboard — hence the “Dashboard
    sub-page” badge on its header, and the message “Group created — … · Dashboard sub-page added”.
    Its `⋯` menu offers “Rename the group”, “Export the group” and “Delete the group”, the last one
    with its promise: “The group's filters are kept, they go back to having no group”.

    An empty group shows “No filter in this group — move one here from its ⋯ menu.” The “No group”
    section appears as soon as a filter is filed nowhere — and **every** Vestiaire row lives there.

    The “pays with” badge names the account that will pay for that group; “inherited” means it
    follows the **General feed** banner: “Pays for listings from groups that have no buying scope of
    their own. The account is chosen in Accounts.” That setting is not written here — the banner and
    the badges are read-only, and they take you to **Accounts**.
  </Accordion>

  <Accordion title="Duplicate by region" icon="copy">
    On a Vinted filter, the `⋯` menu offers **Duplicate by region**:
    `{nom} — one copy per ticked country, same criteria, only the seller's country changes.`
    **26 countries** are offered, with the “Euro area”, “All” and “Clear” shortcuts, and the button
    counts the copies before firing: `Duplicate — {n} copies`.

    <Tip>
      After duplicating, open one copy and re-read its “Watching Vinted …” line before arming
      anything: that line is what tells you which shop is really being read.
    </Tip>
  </Accordion>

  <Accordion title="Export, import" icon="file-down">
    **Export** writes out the **whole** list — filters and groups — into a dated file. **Import**
    reads it back and shows `{resume} — from {fichier}`, with an “Arm the imported autobuy” switch
    that is **off by default**: “Imported filters buy nothing until you arm it.”

    Groups are merged **by name**: re-importing “Luxe” does not create a duplicate. An export, on the
    other hand, **does not carry** the paying account — after an import, go and set it in
    **Accounts**, otherwise the group follows the General feed.

    Three refusals, deliberately distinct: “File unreadable — reading failed.” · “File damaged — use
    the original rega filter export.” · “File not recognised — this is not a rega filter export.”
  </Accordion>

  <Accordion title="Ordering by hand: “Manual order”" icon="grip-vertical">
    The `⠿` handles and the ↑ ↓ arrows on **filters** only appear under the **Manual order** sort.
    **Groups**, on the other hand, can be dragged into order under every sort.

    Dropping a filter onto “No group” simply takes it out of its group: the order of ungrouped
    filters is not remembered, there is no container to store it in. And handles never appear on a
    Vestiaire row.
  </Accordion>
</AccordionGroup>

***

## What can refuse, and how it is said

Every refusal follows the same shape — `{quoi} — {raison}` — and the reason comes from the server,
never from a guess made by the screen.

| Situation                                | What you read                                                                                                                          |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| The export does not go through           | “Export refused — the server did not answer”                                                                                           |
| A bulk action fails                      | “Enabling refused — …”, “Disabling refused”, “Change refused”, “Deletion refused”, “Move refused”                                      |
| An autobuy setting is refused            | “Setting refused — …”                                                                                                                  |
| A pasted link is not understood          | “Link not recognised — fill in the form.”                                                                                              |
| No field turned on in bulk editing       | “Turn on at least one field to change.”                                                                                                |
| A group name is missing or already taken | “Give the group a name” · “This group already exists”                                                                                  |
| Your workspace is still being set up     | Automatic buying can only be armed once the workspace has been handed over to its owner — the filters themselves are already in place. |

***

## The screen's states

| State                                 | What is shown                                                                                                                                      |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Loading**                           | “Loading filters…”                                                                                                                                 |
| **Empty**                             | “No filter — the radar is looking for nothing.”                                                                                                    |
| **Server unreachable**                | “Server unreachable — the filter list cannot be read right now.”                                                                                   |
| **Populated**                         | The list, re-read silently **every 5 seconds** — and never while one of your changes is in flight                                                  |
| **Scope not read**                    | On the General feed banner, three states that are never confused: “reading the scope…”, “scope unavailable”, “scope not read — server unreachable” |
| **Categories unavailable**            | “Categories are unavailable right now — the rest of the filter works without them.”                                                                |
| **Conditions or markets unavailable** | “Conditions unavailable.” · `Markets unavailable — use “By country”.`                                                                              |
| **Brand search down**                 | “Search is unavailable right now — try again in a moment.” — to be told apart from “No brand by that name.”                                        |
| **Cost not measured**                 | “not measured yet” — never an invented zero                                                                                                        |

***

## Our advice

### 1. Put a MIN PRICE on **every** filter, even a low one

It is the only free lever in the product. Measured on **675 real listings**, the share of the flow
left to examine for each floor:

| Minimum price | Share of the flow left |
| ------------- | ---------------------- |
| none          | 100 %                  |
| 10 €          | 42 %                   |
| 20 €          | 23 %                   |
| 30 €          | 14 %                   |
| 50 €          | 7 %                    |
| 80 €          | 4 %                    |

⚠️ The threshold that applies is **the lowest across all your active filters**. A single filter with
no minimum price cancels the benefit for all the others. If you do only one thing after this page,
do that one — and do it in bulk.

### 2. Stay on “Euro area” until you actually need to tell countries apart

It is the only origin preset that costs nothing, and it is the default on a new filter. Ticking
“France” alone does not make the filter more accurate: it makes it “checked”. You lose the
distinction between countries, you gain speed. Conversely, if you sell internationally, know that
**46 % of the flow** is outside the euro area (measured on 395 listings): “Any origin” is free too.

### 3. Never write a category on its own

Add a brand **or** a keyword to it and it goes back to immediate detection — the cost banner offers
it to you itself. A category on its own shows **nothing** on its first pass (it memorises what is
already online) and then delivers your listings in batches every 4 seconds.

### 4. A filter with no brand deserves **one** keyword

The rarest, the most discriminating. Several keywords on a brand-less filter behave like one run-on
string — “sac cabas” does not catch “cabas en cuir, sac porté épaule”. Put the rest into **EXCLUDED
WORDS** or into a category, and check with **TRY IT ON A TITLE**.

### 5. Aim at the parent category, never at the leaf

Sub-categories are included anyway, and a very deep category forces the check down a path measured
at **3.2 s** against **240 ms**. The breadcrumb under each result exists for that: “Other” appears
14 times in the catalogue.

### 6. Re-read “Watching Vinted …” before every save

It is the only line on the screen that says which shop is really being read. On 14/08, six of one
client's filters were aiming at British sellers while the radar was reading the French shop: they
could **structurally** find nothing, and no counter said so.

### 7. Estimate once, and use “Refine” before declaring a filter dead

A filter at 2 listings/min has a **61 %** chance of showing nothing in 15 seconds. Measured over
180 seconds: “Gucci bags under 400 €” = **0.0/min**, “Gucci (everything)” = **2.6/min**, “Women's
bags” = **29.3/min** — the first two are **indistinguishable** over a 15 s window. And do not fire
estimates back to back: they draw from the same place as the radar, which loses listings while it
waits.

### 8. Read the estimate as a **ceiling**, not as a rate

It ignores your keywords and your origin: estimating “Gucci, bags, keyword *cabas*, France only”
actually measures “Gucci, bags” — potentially ten times more. And it is **always** taken on the
French shop: for a British filter, the figure is worthless.

### 9. Keep an eye on your wide filters — they slow down all the others

Capacity measurement: at **4.77 kept listings per second** against a capacity of **4/s**, a card
takes **15.4 s to show up instead of 0.55 s**. Nothing is lost, nothing fails: everything simply
arrives too late, and **no error counter moves**. A single very wide filter — or thirty more
filters — is enough to cross the threshold. That is also why advice n°1 exists.

### 10. Export before any clean-up pass

Deleting from the `⋯` menu is immediate, with no confirmation and no undo. **Export** writes out
everything, into a dated file you can re-import. Thirty seconds of insurance — and importing never
re-arms autobuy on its own.

### 11. Name your filters for the sort, not for yourself

The **Name** sort is alphabetical, and there is **neither search nor pagination** in the list. At
40 filters, a consistent prefix (`LUXE — …`, `UK — …`, `WATCH — …`) beats any folder. Groups, on
top of that, give you a Dashboard sub-page.

### 12. To watch another shop, paste its link — it is free

On the capture, the row “Levi's 501 vintage — UK” carries the **UK** marker and stays “fast”: its
summary mentions **no** seller country at all. Watching the British shop costs nothing; it is
restricting the **seller's** country that is paid for. Keep that in mind before ticking a country
“just to be sure”.

***

## What surprises people

<AccordionGroup>
  <Accordion title="The header announces filters, and the body says “No filter”">
    The top counter adds both marketplaces together; the list, however, declares itself empty on the
    Vinted filters alone. If **all** your filters are Vestiaire filters, the header announces their
    number and the body shows “No filter — the radar is looking for nothing.” Your Vestiaire filters
    also live on their own screen.
  </Accordion>

  <Accordion title="The AUTOBUY badge disappears when you disable the filter — but the arming stays">
    The badge only shows when the filter is armed **and** active. The Autobuy switch itself stays
    ticked: re-enabling the filter puts it back in a state to buy, with no further action from you.
  </Accordion>

  <Accordion title="“1,284 in total” and “last one unknown” on the same row">
    When the counter is non-zero but the date of the last match is missing, the screen writes “last
    one unknown” rather than contradict the figure just above it. It will never write “no detection”
    on a row that counts some.
  </Accordion>

  <Accordion title="A French filter never shows a country marker">
    That is deliberate: a marker that is always there stops being a marker — at the time of the
    decision, **57** French filters would have carried a “France” label that teaches nobody
    anything. A row **without** a marker means France; the **UK** on the capture flags the exception.
  </Accordion>

  <Accordion title="A Vestiaire row's menu has two entries fewer">
    “Duplicate by region” and “Move to a group” are not there, the selection checkbox and the Autobuy
    column disappear, and the regime pill stays silent. Those are actions that do not exist on that
    marketplace: better not to offer them than to offer them with no effect.
  </Accordion>

  <Accordion title="Deleting a group does not delete its filters">
    “Group deleted — … · its filters go back to having no group”. They reappear intact in the “No
    group” section.
  </Accordion>

  <Accordion title="A listing can appear with one filter, then gain a second">
    A “fast” filter sends the card out immediately; a “checked” filter joins it after its check, a
    few hundred milliseconds later. This is not a display fault.
  </Accordion>

  <Accordion title="Ticking a parent category absorbs the ones you had already ticked">
    And the screen says so both ways: `Already covered — {chemin}` when the addition is pointless,
    `{n} sub-categories absorbed — {chemin}` when it replaces others. Your selection is simplified,
    not reduced.
  </Accordion>

  <Accordion title="Reopening a filter to change its price no longer loses its materials and patterns">
    Those criteria can only be written by pasting a link, and the screen keeps them while saying so:
    “This filter carries criteria from a pasted link. They are kept when you save.” The **Remove**
    button is the only way to take them out — and taking them out changes the filter's detection
    regime.
  </Accordion>

  <Accordion title="A size can narrow only part of your filter">
    When your categories do not offer the same sizes, the group carries `Only {noms}` and the note
    “Does not narrow the filter's other categories.” And the screen counts the ones left out:
    `{n} categories offer none: they will not be narrowed.`
  </Accordion>

  <Accordion title="An import never arms automatic buying on its own">
    The “Arm the imported autobuy” switch is **off** by default, and an export does not carry the
    paying account. Two deliberate safeguards: a file must not be able to start spending money on
    arrival.
  </Accordion>
</AccordionGroup>

***

## On a phone

<Frame caption="The same screen on mobile: controls go full width, rows shrink to the essentials.">
  <img src="https://mintcdn.com/regasolutions/qwd9LpL60q4fWPff/images/filtres-tel-en.webp?fit=max&auto=format&n=qwd9LpL60q4fWPff&q=85&s=d4e5d44ab63879f4b46d5618bf3698d6" alt="The Filters screen on a phone" width="780" height="1688" data-path="images/filtres-tel-en.webp" />
</Frame>

What changes:

* The four header buttons and the five sorts wrap onto **several lines**; **+ NEW FILTER** can overflow to the right.
* A filter row keeps the checkbox, the switch, the name (**truncated** — “Gu…”), the marketplace pill, the regime pill, the Autobuy switch and the `⋯` menu. **The criteria summary, the “in total” counter and the freshness line do not fit**: open the filter, or come back on a large screen to read them.
* The group's “pays with” badge and the “Dashboard sub-page” badge drop onto lines of their own.
* A navigation bar appears at the bottom: **Feed · Filters · Orders · Tracked · More**.

<Tip>
  A phone is good for **arming, disarming, enabling, disabling** — one-finger actions. To **write** a
  filter (categories, sizes, keywords, try-out on a title), use a large screen: the form is over
  1,600 px tall.
</Tip>

***

## What this screen does not do yet

We would rather tell you than let you find out.

* **Neither search nor pagination** in the list — five sorts, and that is all. At 200 filters, you scroll.
* **No undo.** Deleting from `⋯` is final.
* **No filter is ever refused for being too wide.** The estimate informs, it does not authorise: a filter that would surface 3,000 listings/min will be created without a word, and it will drown your feed.
* **The estimate for a British filter is worthless**: it is always taken on the French shop.
* **Materials and patterns have no selector.** They can only be set by pasting a Vinted link that carries them; the form keeps them and offers to “Remove” them.
* **Colour was removed from the product** on 31/07: it is no longer a criterion.
* **The paying account is not chosen here**, filter by filter: it is set by scope, in **Accounts**.
* **No automatic buying on Vestiaire**, and its listings do not join the feed yet.
* **Nothing flags a structurally silent filter for you.** The diagnosis above is, for now, a manual step.
* **No limit on the number of filters** — good news, but remember advice n°9: every filter that is too wide is paid for out of the speed of all the others.

***

<CardGroup cols={2}>
  <Card title="Accounts" icon="users" href="/screens/accounts">
    Who pays for which group, and which countries you can really buy from.
  </Card>

  <Card title="The dashboard" icon="layout-dashboard" href="/screens/dashboard">
    Where kept listings land, and where the AUTOBUY pill is armed.
  </Card>

  <Card title="Settings" icon="settings" href="/screens/settings">
    The “Purchase ceiling” shared by every purchase, and the automatic pick-up point.
  </Card>

  <Card title="Vestiaire Collective" icon="shopping-bag" href="/screens/vestiaire">
    The screen where listings kept by your Vestiaire filters are shown.
  </Card>
</CardGroup>
