Skip to main content
Regardless of the integration method (CMS or API), Cartally normalizes all product data into a consistent internal format. Understanding this format helps you optimize your product data for better search results.

Core product fields

Every product indexed by Cartally has these fields:

Dynamic attribute fields

Products may also have dynamic filterable attributes. These are stored as attribute_{slug} fields: These attributes appear as filter facets in the search widget.

Color variants

Products with color variants are split into separate documents — one per color. This allows the widget to display the correct product image for each color. For example, a T-shirt available in black and red becomes two indexed documents:
  • 12345-black with photos of the black variant
  • 12345-red with photos of the red variant
Both share the same product_id (12345) so the widget groups them correctly.

Multi-language indexing

For multilingual stores, Cartally creates a separate search index per language. Product names, descriptions, and categories are stored in the respective language.

Multi-currency pricing

Prices are stored in minor units (cents/grosze) with one field per currency:
The widget automatically displays the price in the customer’s active currency. Cartally generates AI embeddings for each product using the product name and description. This powers semantic search — customers can describe what they need in natural language and find relevant products even without exact keyword matches.