• Online Stores · OpenCart

Attribute normalization: when “1,5 kg,” “1500 g” and “1.5kg” are three different values

A catalog filter breaks not because it was built badly but because the data underneath it is inconsistent. One supplier writes “black,” another “Black,” a third “blk”; weight comes in kilograms one time and in grams the next, with a decimal comma or a decimal point. For the store these are three different values, and the filter ends up with a list nobody can use. Normalization brings attributes to a single dictionary and a single set of units — after that, the filter and comparison start working without rewriting code.

See how it works
Price
after a free audit
Guarantee
30 days after project sign-off
Focus
online stores, mostly OpenCart
after a free audit
Price
Guarantee

days after project sign-off

online stores, mostly OpenCart
Focus
Timeline

to 35 working days

free attribute check
Start
Warranty

days from the date the acceptance act is signed

within 2 hours
Reply
under a written contract
Terms
What's included

Complete list of work and what you get as a result

  • a single attribute dictionary for each category group
  • different spellings of the same value brought to one form
  • units of measurement brought to a single system within each attribute
  • numeric values as numbers, not text — so that range filters work
  • merged attributes that arrived as one line split apart
  • conversion rules for future imports so the mess does not come back
  • a filter with a manageable list of values instead of dozens of variants of one
  • a post-normalization check: no value has disappeared or changed its meaning
  • a report on what was normalized and how
When this service isn't right

What's not included — so there are no surprises at delivery

  • inventing attributes that are not in your data
  • verifying the accuracy of values provided by the manufacturer
  • product photography and writing product descriptions
  • promises of higher search positions
  • agreements with suppliers about the format of their price lists
Who it's for

Situations where this service delivers results

Scenario 1 of 4

A catalog assembled from several price lists

Every supplier writes attributes in its own way. Until they are normalized, any filter will show dozens of variants of the same value.

We'll review your situation in a free audit
Free check of your attributes

We take a catalog export and look at how many different values are actually hiding behind each attribute.

What we measure

  • How many unique values the key attributes haveIf the color attribute has several hundred values instead of twenty, the filter is unusable — and this is visible from the very first sample.
  • How many spellings one value hasLetter case, spaces, abbreviations, Latin letters instead of Cyrillic. This is usually where most of the mess is, and it can be normalized automatically.
  • Whether units of measurement are consistentKilograms and grams, millimeters and centimeters within one attribute make a range filter meaningless.
  • Whether numbers are stored as textThe value “up to 25 kg” cannot be compared with “25.” As long as numbers remain strings, a range filter does not work at all.
  • Whether several attributes are merged into oneSize and material often arrive in the same field. Such fields have to be split, and that is a noticeable part of the work.
  • Where the mess comes fromIf the cause is the import, without conversion rules the cleanup will have to be repeated after every price list.

What you get

  • a figure: how many unique values the key attributes have
  • examples of different spellings of the same value
  • an estimate of what share can be normalized automatically
  • an estimate of the work broken down by stage

Timeline: 2–4 working days

Why is it free

The scope here cannot be guessed in advance: some catalogs have a mess in three attributes, others in all of them, and the amount of work differs accordingly.

What's next

You get figures and examples. Then you decide for yourself — the report stays with you either way.

Short form: your contact and site URL

We work officially

Contract, act and invoice — for every project, not just large ones.

Trusted by6 brands

Trusted by: Kvant Energy, GYPSUN, Naturel Cosmetics, Pancer Protection, LUGI, BeeTech

Terms fixed in writing8 points
  • 01

    Contract, act and 30-day warranty

    Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.

  • 02

    Sole proprietor & bank transfer

    The contractor is a registered sole proprietor. Payment by invoice with closing documents.

  • 03

    Rights & access — yours

    Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.

  • 04

    Client portal instead of email chains

    During the project you get access to a portal: contracts, invoices, acts and project status in one place.

  • 05

    Sites in nine countries

    Our sites run in nine countries: besides Ukraine — Poland, Germany, Austria, England, Norway, Bulgaria, Moldova and Spain.

  • 06

    Verifiable numbers

    Every case in the portfolio comes with a link to a live site and a technical measurement.

  • 07

    Audit first, then pricing

    There is no price list on the site intentionally: the scope of the same work differs multiples between clients.

  • 08

    We say "no" when unsure

    If the task isn't ours or the deadline is unrealistic — we tell you upfront.

  • 01

    Contract, act and 30-day warranty

    Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.

  • 02

    Sole proprietor & bank transfer

    The contractor is a registered sole proprietor. Payment by invoice with closing documents.

  • 03

    Rights & access — yours

    Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.

  • 04

    Client portal instead of email chains

    During the project you get access to a portal: contracts, invoices, acts and project status in one place.

  • 05

    Sites in nine countries

    Our sites run in nine countries: besides Ukraine — Poland, Germany, Austria, England, Norway, Bulgaria, Moldova and Spain.

  • 06

    Verifiable numbers

    Every case in the portfolio comes with a link to a live site and a technical measurement.

  • 07

    Audit first, then pricing

    There is no price list on the site intentionally: the scope of the same work differs multiples between clients.

  • 08

    We say "no" when unsure

    If the task isn't ours or the deadline is unrealistic — we tell you upfront.

We sign NDAs on request. After completing the work, we delete our access to your services ourselves.

What affects the price

Why two seemingly identical tasks are priced differently

  • Number of attributesNormalizing three key attributes is quick. Sorting out the whole set across all categories is work on a different scale, even though the principle is the same.
  • Diversity of categoriesFootwear, tools and cosmetics need different dictionaries. The more dissimilar groups there are, the more separate sets of rules.
  • Share that cannot be normalized automaticallyLetter case and spaces are fixed by a machine. Synonyms, abbreviations and disputed values need a human decision — and these are what determine the timeline.
  • Number of data sourcesOne price list means one set of conversion rules. A dozen sources in different formats means a separate rule for each.
  • Whether fields need to be splitBreaking merged attributes into separate fields is the most labor-intensive part, because each source merges them in its own format.
  • Sync with the accounting systemIf attributes come from 1C or BAS, the rules have to be aligned with the sync; otherwise the next synchronization will bring back the old spellings.
Cases

Tasks and results in numbers — all metrics measured by us

a sample of 41 Ukrainian online stores, of which 39 responded and a product page was checked on 30

Task
Check how complete stores' product pages are: whether they have attribute filters, product comparison and displayed ratings — all of which grow out of the quality of the product data itself.
Solution
An external measurement of the home page and one product page from the sitemap: traces of features in the HTML, product, price and attribute markup. The presence of a trace, not the quality of the implementation.
Result
Measured on 17 September 2026, 35 stores: filter by attributes: 9 sites out of 25; product comparison: 10 sites out of 25; rating markup: 3 sites out of 25.

Pancer Protection

an online store of tactical and military gear with a catalog of over 50,000 SKUs

Task
Handle a very large range of tactical gear (body armor, clothing, footwear, backpacks, comms, optics) in a single store with detailed filtering by attributes — without losing page response speed.
Solution
A store on OpenCart 3 (chameleon theme + NeoSeo modules) behind Cloudflare. Two language versions. Full local-store JSON-LD markup: Store, Place, GeoCoordinates, PostalAddress, OpeningHoursSpecification, ContactPoint, WebSite, SearchAction. At checkout: LiqPay, card online, cash on delivery, cash on collection, bank transfer and online installments (dataLayer events). Binotel telephony, eSputnik email marketing, Google sign-in, GTM, GA4, Google Ads.
Result
54,302 products and 635 categories — the figure confirmed by two independent methods: a sitemap index of 32 product files gives 110,096 URLs across two languages, and a cross-check through OpenCart search gives 54,501–54,600 items (a 0.4% discrepancy). A catalog of 54,000 SKUs returns the first response in 0.41 s and the full HTML load in 0.51 s at 422 KB. Nine JSON-LD types on the home page. Five payment methods, including LiqPay and online installments. Measured 31 July 2026.

Did not find your case?

Describe how it works on your side — we will tell you whether “Product attribute normalization” fits and what it means in your situation. No brief and no call: one question, one answer.

Process steps

Transparent stages with approval at every step

Total duration:7–30 days

  1. Attribute check

    2–4 working days

    We count the unique values for each attribute, find different spellings of the same thing and estimate what share can be normalized automatically.

  2. Value dictionary

    2–6 working days

    We compile a list of allowed values for each attribute within a group of categories. Disputed cases go to you for a decision instead of us deciding them.

  3. Data normalization

    3–12 working days

    We bring spellings and units to a single form, convert numbers stored as text into real numbers and split merged fields. We work on a copy of the catalog.

  4. Rules for imports

    2–6 working days

    We set up conversion on import so the next price list fits into the dictionary instead of adding new spellings. Without this step the work would have to be repeated.

  5. Filter and comparison

    1–4 working days

    We check that the filter shows a manageable list of values, ranges work, and product comparison matches like-for-like fields.

  6. Reconciliation and handover

    1–3 working days

    We check that no value has been lost or changed its meaning, then hand over the dictionary and a report. Then the 30-day warranty applies from the date the acceptance act is signed.

Technologies & integrations

What we build on and what it connects to

Stack

  • OpenCart
  • WooCommerce
  • PHP
  • MySQL
  • PostgreSQL
  • Python
  • SQL
  • Git

Integrations

  • 1C
  • BAS
  • XML/YML price feeds
  • CSV exports
  • Excel
  • Google Sheets
Normalizing the data or reworking the filter itself

How this option differs from the alternative

What gets fixedthe cause: inconsistent values
Numeric rangeswork, because numbers have become numbers
Product comparisonmatches like-for-like fields
What happens after an importconversion rules keep things in order
Costhigher at the start, one-time
What we need from you

We can't start without this — best to prepare in advance

  1. a catalog export with attributes in a convenient format
  2. examples of the price lists the data comes from
  3. which attributes matter to customers in each category
  4. who on your side confirms disputed normalization cases
  5. whether the sync with the accounting system can be paused during the work
  6. who on your side accepts the work

If something is missing — let us know, we'll help you gather it or do it as a separate task.

FAQ

Most frequently asked questions — with concrete answers

Why doesn't the filter work if it is set up?

Most often the problem is not the filter but the data underneath it. If the same color is written in five different ways, the filter will faithfully show five options — it does what it can. Reworking the interface in this situation means treating the symptom: the list will look nicer, but you still won't be able to pick what you need from it.

Will you change attribute values?

We unify spellings and units but do not change the meaning. “1500 g” becomes “1.5 kg” — the same value in a different form. Where the unification is not obvious and could change the meaning, you make the decision: we put such cases into a separate list instead of resolving them silently.

Why convert numbers from text?

So that ranges work. As long as power is written as “up to 1200 W,” it is impossible to sort or filter by it: for the system it is a string, not a number. After conversion, the customer can set limits and the catalog will respond correctly.

Will the mess come back after the next import?

It will if conversion is not set up on import. That is why rules for imports are part of the work: a new price list should fit into your dictionary instead of adding yet another spelling. Without this step, the cleanup would have to be repeated after every supplier.

How long does it take?

11 to 35 working days. The automatic part is quick; the time goes into the dictionary and the disputed values that need your decision. We give the exact timeline after the attribute check.

Do all attributes need to be normalized?

No, and it is usually a waste. Key attributes come first — the ones customers actually choose by in your categories. The rest can be sorted out later or not touched at all: an attribute nobody filters by is not worth separate work.

Will this affect search?

Well-organized attributes help both customers and search engines understand a product, and they also make correct markup possible. But we do not guarantee positions: they are influenced by far more factors than the quality of attributes.

Who owns the dictionary after the work?

You do. The dictionary, the conversion rules and the code pass to the client after full payment, and the result is handed over under an acceptance act. You can develop them further on your own or with another contractor.
Demo

Your catalogue on a phone screen

This is how your store can look on a phone: a collection banner, popular products and a cart one tap away. Tap “Add to cart” and the counter in the header updates, just like in a real store.

  • Collection bannerThe first screen shows what is new, not a logo.
  • Product cardsPhoto, price and a button — no extra page to open.
  • One-tap cartThe counter in the header updates instantly, like in a real store.
Stores in the portfolio

This is a demo interface, not a client's store. Live projects are in the portfolio.

SHOP
New collectionAutumn / WinterExplore
PopularAll products ›
  • Essentials Hoodie1 290 ₴
  • Urban Backpack1 490 ₴
  • Classic Cap690 ₴
  • Basic Tee590 ₴
  • Street Sneakers2 390 ₴
  • Active Shorts890 ₴

Let's see how many values are hiding in your filters

The attribute check is free: we'll show the figures and examples of different spellings. We reply within 2 hours.

From measured cases54,302 products and 635 categories

View cases
  • Reply within 2 hours
  • No commitment
  • We work under a contract

There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.