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

# Make brand names and terms consistent

> Half your catalog says SoundMax, the other half Sound Max. Collapse every spelling variant, then make the approved wording stick across imports and languages.

Your brand filter lists "SoundMax", "Sound Max", "SOUNDMAX" and "Soundmax " with a trailing space as four different brands. Shoppers filtering by brand see a quarter of the range. Your feeds ship four values where the channel expects one. It happens to everyone who imports from more than one source, and it happens again with every new supplier file unless you close the door behind you.

Fixing it is three jobs: find every variant, collapse them into one, and make the approved spelling the only one that survives the next import. Budget about an hour per term family. If the whole catalog is a mess and not just its vocabulary, run [clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog) first - its whitespace and case pass is what makes the matching below reliable.

<Info>
  **Before you start:** decide which spelling is correct before you touch anything, ideally from the brand's own site. Everything below is a bulk edit, so link a term to the wrong master and you will be running the whole pass twice.
</Info>

<Tip>
  **What you'll get:** one spelling per term across the catalog, an approved-terms dictionary you can re-apply after every import, and a rule that flags the old variants if they come back.
</Tip>

## Find every variant before you replace anything

Replacing the variants you happen to have noticed leaves the ones you have not. Build the full list first.

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/6D3ArVlxbvuTRfEg/images/marketing-screenshots/products/products-filters-advanced-light-transparent.webp?fit=max&auto=format&n=6D3ArVlxbvuTRfEg&q=85&s=122a221bdbfed85708591cbe8984426d" alt="Building advanced product filter conditions in WISEPIM" width="2252" height="1724" data-path="images/marketing-screenshots/products/products-filters-advanced-light-transparent.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/6D3ArVlxbvuTRfEg/images/marketing-screenshots/products/products-filters-advanced-dark-transparent.webp?fit=max&auto=format&n=6D3ArVlxbvuTRfEg&q=85&s=8165ad5eb8f9b67e77cf1562888b5732" alt="Building advanced product filter conditions in WISEPIM" width="2252" height="1724" data-path="images/marketing-screenshots/products/products-filters-advanced-dark-transparent.webp" />

<Steps>
  <Step title="Cast a wide net first">
    On the [Products](/en/essentials/managing-products) page, click **Filters** next to the search bar, open the **Advanced filters** tab, and filter the **Brand** field (or whichever field holds the term) with **contains** and the shortest distinctive fragment: `sound`, not `SoundMax`. The summary panel previews the match count while you build, so you can see how wide you have cast before applying anything.
  </Step>

  <Step title="Separate the variants from each other">
    Now narrow with the operators that distinguish near-identical values: **case-sensitive equals** to isolate one capitalisation, **regex match** for spacing and punctuation differences, **starts with** and **ends with** for prefix and suffix noise. Write down the count behind each variant - those numbers are how you will know the replacement worked. See [filtering products](/en/products/filtering-products) for the full operator list.
  </Step>

  <Step title="Confirm you are fixing wording, not duplicates">
    Terminology drift and duplicate products often arrive in the same supplier file, and rewriting text across a set that is half duplicates means doing it twice. A quick **is duplicate** check on **SKU** settles it; if it comes back full, resolve the duplicates first with [clean up a catalog you inherited](/en/guides/clean-up-an-inherited-catalog).
  </Step>

  <Step title="Save the query as a filter set">
    Name it in the **Save filter set** box and save. You will re-run this exact filter after the replacement to prove the variant is gone, and after every future import to check it has not come back.
  </Step>
</Steps>

## Collapse the variants into one spelling

Order matters here for the same reason it does in any text cleanup: a hidden trailing space or an unexpected capital is what makes a replacement silently miss a few hundred products. Three bulk actions look interchangeable and are not, so pick deliberately.

| Use                                                                   | When                                                           | Watch out for                                                      |
| --------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------ |
| [Find and Replace](/en/essentials/bulk-editing/find-replace)          | One known variant becomes one known spelling                   | Short terms matching inside longer words                           |
| [Standardize Text Case](/en/essentials/bulk-editing/standardize-case) | A whole field should read one way, such as names in Title Case | Values styled on purpose getting flattened                         |
| [Enforce Dictionary](/en/essentials/bulk-editing/enforce-dictionary)  | Applying your whole approved list at once, repeatedly          | Nothing happens until the dictionary exists - see the next section |

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/NhM3i9NQ8BTcB3kJ/images/marketing-screenshots/products/products-bulk-edit-find-replace-light-transparent.webp?fit=max&auto=format&n=NhM3i9NQ8BTcB3kJ&q=85&s=c66cd81b5c61fa3211bcce4ef97e847b" alt="Bulk editing, Find and Replace across many products at once in WISEPIM" width="2252" height="2004" data-path="images/marketing-screenshots/products/products-bulk-edit-find-replace-light-transparent.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/NhM3i9NQ8BTcB3kJ/images/marketing-screenshots/products/products-bulk-edit-find-replace-dark-transparent.webp?fit=max&auto=format&n=NhM3i9NQ8BTcB3kJ&q=85&s=8f3697d7953c5d3598d96cd98321325e" alt="Bulk editing, Find and Replace across many products at once in WISEPIM" width="2252" height="2004" data-path="images/marketing-screenshots/products/products-bulk-edit-find-replace-dark-transparent.webp" />

<Steps>
  <Step title="Trim the whitespace first">
    Select your products, click **Bulk Edit** in the Products toolbar, and run [Trim Whitespace](/en/essentials/bulk-editing/trim-whitespace) over the fields that hold the term. `Soundmax ` and `Soundmax` are two values to a filter and two facets to a storefront, and no later step will match both reliably while the space is still there.
  </Step>

  <Step title="Replace one variant at a time">
    Run [Find and Replace](/en/essentials/bulk-editing/find-replace) once per variant, targeting every field the term appears in: name, descriptions, SEO fields, brand, supplier, custom text attributes. Turn on **Match whole words only** so a short term is not rewritten inside a longer word, and leave **Case sensitive** off so every capitalisation of that variant is caught in the one run.
  </Step>

  <Step title="Standardize case only where a uniform style is right">
    Reach for [Standardize Text Case](/en/essentials/bulk-editing/standardize-case) only on a field that genuinely should read one way throughout. Run it after the replacements, not before: a Title Case pass over a field you have already corrected will re-capitalize the exact brand strings you just fixed. Keep the field selection narrow and read the live before/after preview.
  </Step>

  <Step title="Re-run your saved filter">
    Load the filter set from the first section. Every variant should now return zero products and the approved spelling should hold the combined count. If a variant still has matches, you missed a field, not a product.
  </Step>
</Steps>

## Write the approved terms down once

Everything so far was a one-off. The dictionary is what makes it repeatable, and it is the input to a bulk action most people never find on their own.

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/h1NHrf9Zb6kD3lNV/images/marketing-screenshots/settings/settings-translation-dictionary-light-branded.webp?fit=max&auto=format&n=h1NHrf9Zb6kD3lNV&q=85&s=8bcdec4902f039c9d8a76bb82ce7cc42" alt="WISEPIM translation dictionary with multilingual term mappings and do-not-translate brand terms" width="2400" height="1445" data-path="images/marketing-screenshots/settings/settings-translation-dictionary-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/h1NHrf9Zb6kD3lNV/images/marketing-screenshots/settings/settings-translation-dictionary-dark-branded.webp?fit=max&auto=format&n=h1NHrf9Zb6kD3lNV&q=85&s=f8f5571686f1a3bdc71b614c18b2904d" alt="WISEPIM translation dictionary with multilingual term mappings and do-not-translate brand terms" width="2400" height="1445" data-path="images/marketing-screenshots/settings/settings-translation-dictionary-dark-branded.webp" />

<Steps>
  <Step title="Add each term to the Dictionary">
    Go to **Settings → [Translation](/en/settings/translation) → Dictionary** and click **+ Add term**: enter the source term and the exact wording you want in each language. Add context where a term is ambiguous, so "mouse" as an audio category and "mouse" as a computer peripheral do not collide.
  </Step>

  <Step title="Lock the names that must never change">
    Turn on **Keep as-is** for brand names, product codes, and trademarks. That is what stops a translation run from helpfully rendering your brand into German, and it is why the dictionary is worth building even if you sell in one language today.
  </Step>

  <Step title="Enter them in bulk if you have a list">
    The Dictionary has a **Bulk edit** text mode for adding many terms at once, which is far quicker than clicking through entries when you are transcribing a brand style guide.
  </Step>

  <Step title="Apply the dictionary to the whole catalog">
    Select your products, click **Bulk Edit**, and pick [Enforce Dictionary](/en/essentials/bulk-editing/enforce-dictionary) under **Text & Content**. It reads your active dictionary entries and swaps the source terms for the approved wording across the fields you choose, including the translated fields per language, which is the part a manual find-and-replace pass almost always misses. Terms you locked to stay as-is are skipped rather than rewritten.

    <img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/NhM3i9NQ8BTcB3kJ/images/marketing-screenshots/products/products-bulk-edit-enforce-dictionary-light-transparent.webp?fit=max&auto=format&n=NhM3i9NQ8BTcB3kJ&q=85&s=f882dc3e02553954ce772842b98a080a" alt="Bulk editing, Enforce Dictionary across many products at once in WISEPIM" width="2252" height="2004" data-path="images/marketing-screenshots/products/products-bulk-edit-enforce-dictionary-light-transparent.webp" />

    <img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/NhM3i9NQ8BTcB3kJ/images/marketing-screenshots/products/products-bulk-edit-enforce-dictionary-dark-transparent.webp?fit=max&auto=format&n=NhM3i9NQ8BTcB3kJ&q=85&s=abb671464b34c6231c126cee402f73e8" alt="Bulk editing, Enforce Dictionary across many products at once in WISEPIM" width="2252" height="2004" data-path="images/marketing-screenshots/products/products-bulk-edit-enforce-dictionary-dark-transparent.webp" />
  </Step>

  <Step title="Make it part of every import">
    Run Enforce Dictionary after each new supplier file lands. A feed brings its own vocabulary with it, and one bulk action costs you less than the filtering you did in section one.
  </Step>
</Steps>

## Stop the variants coming back

The dictionary fixes wording you already have; this section is about wording that has not arrived yet. Do it now, while you still remember which spellings were wrong - in three months the retired variants are exactly what nobody can list from memory.

<Steps>
  <Step title="Replace free text with a fixed list of values">
    The most durable fix is structural: where the possible values are known in advance, a select attribute backed by a shared options set means nobody can type a fifth spelling, because there is nothing to type into. Set this up in [attributes](/en/other-features/managing-attributes).

    <img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/kUR6F8mILruP_WbC/images/marketing-screenshots/products/product-attribute-options-light-branded.webp?fit=max&auto=format&n=kUR6F8mILruP_WbC&q=85&s=af9d1a7a0815c1f076210e6a22649014" alt="WISEPIM attribute options managing controlled value lists with per-set import handling and value previews" width="2400" height="1445" data-path="images/marketing-screenshots/products/product-attribute-options-light-branded.webp" />

    <img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/kUR6F8mILruP_WbC/images/marketing-screenshots/products/product-attribute-options-dark-branded.webp?fit=max&auto=format&n=kUR6F8mILruP_WbC&q=85&s=051ef76c8600b9dd9b61f6d5d63f46c1" alt="WISEPIM attribute options managing controlled value lists with per-set import handling and value previews" width="2400" height="1445" data-path="images/marketing-screenshots/products/product-attribute-options-dark-branded.webp" />
  </Step>

  <Step title="Add a Quality Guard rule for the old variants">
    In [Quality Guard](/en/quality-guard/rules), click **Create Rule** and add a condition on the product name or description with the **does not include** operator and the retired spelling as its value. Set the trigger mode to **The product matches them**, which is what turns the rule into a detector for wording you have banned rather than a requirement.
  </Step>

  <Step title="Keep it at Warn severity">
    Warn logs the failure and lets the product export anyway. A misspelled brand is worth flagging, not worth stopping a sync over. Check the live impact preview before saving to see how many products the rule catches today.
  </Step>

  <Step title="Turn on auto-learn once your reviews look right">
    Back on the **Dictionary** tab, **Auto-learn glossary from reviews** grows the dictionary from wording inconsistencies your [linguistic reviews](/en/analytics/linguistic-review) are highly confident about. It is off by default, and leaving it off until your first reviews read sensibly is the point: you want the reviews trustworthy before they start writing entries. Your own terms and anything marked **Keep as-is** always win.
  </Step>
</Steps>

## How to tell it worked

| Signal                                         | Where to look                                        | When it moves                                |
| ---------------------------------------------- | ---------------------------------------------------- | -------------------------------------------- |
| Each variant filter returns zero products      | Your saved advanced filter set                       | Immediately after the find-and-replace pass  |
| The approved spelling holds the combined count | Same filter, approved term                           | Same pass                                    |
| Brand facets collapse to one entry per brand   | Your storefront or channel feed                      | On the next export or sync                   |
| Dictionary terms come out identical everywhere | [Linguistic Review](/en/analytics/linguistic-review) | After the next translation run               |
| Old spellings get flagged, not shipped         | [Quality Guard](/en/quality-guard/overview)          | On the next check after the rule goes active |

The filter counts are the honest test, and you get them in seconds. Treat the channel-side signals as confirmation that the change reached the outside world.

## When it doesn't work

<AccordionGroup>
  <Accordion icon="circle-alert" title="Find and Replace changed text inside other words">
    A short term matched as a fragment of a longer one. Turn on **Match whole words only** and re-run. For patterns rather than fixed strings, enable regular expressions and test on a small selection first. See [Find and Replace](/en/essentials/bulk-editing/find-replace).
  </Accordion>

  <Accordion icon="circle-alert" title="One capitalisation of the variant survived the replacement">
    Case-sensitive matching is off by default, which normally catches every capitalisation at once, so a survivor points at a field you did not include in the target-field list rather than at the matching options. Re-run with the missing fields selected.
  </Accordion>

  <Accordion icon="circle-alert" title="Enforce Dictionary ran but nothing changed">
    Only active dictionary entries are applied, and entries locked to stay as they are get skipped by design. Open the **Dictionary** tab in [Translation settings](/en/settings/translation) and confirm the term is there with the replacement you expect, then re-run with the right target fields selected.
  </Accordion>

  <Accordion icon="circle-alert" title="Standardizing case flattened a name that was styled on purpose">
    Names with intentional internal capitals are exactly what the live preview in [Standardize Text Case](/en/essentials/bulk-editing/standardize-case) exists to catch. Repair the values with a find-and-replace, then add the term to the dictionary with **Keep as-is** so translation runs leave it alone too.
  </Accordion>

  <Accordion icon="circle-alert" title="The variants came back with the next supplier file">
    A feed carries its own vocabulary and nothing in the import knows about your preferences. Run Enforce Dictionary as a standing step after each import, and move the field to a select attribute with a shared options set so free text is no longer possible.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Enforce Dictionary" icon="book-open" href="/en/essentials/bulk-editing/enforce-dictionary">
    The bulk action that applies your approved terms across the catalog.
  </Card>

  <Card title="Translation settings" icon="languages" href="/en/settings/translation">
    Where the dictionary lives, including keep-as-is and auto-learn.
  </Card>

  <Card title="Inherited catalog" icon="brush-cleaning" href="/en/guides/clean-up-an-inherited-catalog">
    The full cleanup sequence this terminology pass belongs to.
  </Card>

  <Card title="House style" icon="palette" href="/en/guides/teach-wisepim-your-house-style">
    Teach WISEPIM to write new content in your approved wording from the start.
  </Card>
</CardGroup>
