MarketplaceHub Docs Docs

Filtering rows

Skip rules: the operators available, how matching and number parsing behave, how rules combine, and why the row-count estimate is approximate.

Every real export contains rows you never meant to list: discontinued lines, placeholder SKUs, zero-price rows, products with no image. Skip rules drop them before they become products.

A skip rule is a column, an operator and usually a value; rules combine with all-must-match or any-match, comparisons ignore case and surrounding spaces, and the row-count estimate is extrapolated from a sample A RULE IS THREE PARTS Quantity · Is Less Than · 1 column · operator · value Semantics worth knowing Text is trimmed and compared case-insensitively. Numbers are read in machine format, so a decimal point is a point regardless of your locale. Combining rules ALL must match ANY may match Matching rows are skipped. It is a blacklist, not a keep-filter — the rest of the file imports. The estimate is extrapolated It counts a sample of your file and scales up, so treat it as a good approximation, not an exact count. They apply on every run A rule is not a one-off cleanup. Rows that start matching later are skipped later, quietly and by design.
Matching rows are skipped — it is a blacklist, not a keep-filter.

How a rule is built

A rule is a column, an operator and — for most operators — a value:

OperatorMatches when the cell…
Is emptyis blank or whitespace
Is not emptyhas any content
Equalsequals the value
Not equalsdiffers from the value
Containscontains the value
Not containsdoes not contain the value
Less thanis a number below the value
Greater thanis a number above the value

Semantics worth knowing

  • A matching row is skipped. These are exclusions, not a keep-filter. A rule that matches everything empties your import.
  • Text comparison is case-insensitive, and the cell is trimmed before comparing, so trailing spaces in an export do not change the outcome.
  • Numbers are read in machine format — a decimal point, no thousands separators — because that is what feeds contain regardless of locale.
  • A rule on a column that isn't in the feed is ignored rather than treated as a non-match, so a renamed column loosens your filter rather than emptying the import.

Combining rules

Two modes:

  • All must match — the row is skipped only when every rule matches. Use for narrow exclusions: zero price and no image.
  • Any may match — the row is skipped as soon as one rule matches. Use for a list of independent reasons to exclude.

The difference is easy to get backwards: "all" excludes fewer rows, not more.

Checking before you commit

An estimate of how many rows your rules would drop is shown as you build them. It is calculated over the staged sample and scaled to the file's real row count, so treat it as an order of magnitude — enough to tell a useful filter from one that would empty your catalog, not an exact figure.

They apply on every run

Filters belong to the import, not to one upload, so tomorrow's fetch is cleaned the same way without you re-doing anything.