A Catalog is a lookup table with one primary key item_id that can be used in various ways. E-commerce websites typically use catalogs for storing products and their related information. Publishing businesses, on the other hand, use catalogs for their articles and section details.

Watch this short introductory video about this feature:

To see your catalogs, go to Data & Assets > Catalogs

To import a new catalog, follow the guide to imports.

There are two types of catalogs in Exponea:

General Catalog

This type of catalog can serve as a generic lookup table for your project. item_id is the only required column as the primary key, and there are no further predefined ID's.

Product Catalog

Product catalogs are designed to store information about your products. They have a specific data structure that helps Exponea identify the most important information that will be used for recommendations, inventory management, and stock level calculation.

You can define the type of your catalog during the first import.

Full list of recommended product catalog columns

Column

Type

Description

item_id

string

Unique identifier of your product variants (sku, ean - considering sizes, colors, etc.)

product_id

string

Product identifier not considering sizes, colors, etc. More products of the same type have different item_id, but the same product_id.

title

string

Product name, e.g. Black fitted crew neck t-shirt

description

string

Description of product.

active

boolean

Information about product availability. Options: true/false; 0/1

brand

string

Brand of product. E.g.: Nike, Adidas...

category_ids

list

Internal id of category from your e-commerce tool. E.g.: 12345

category_level_1

string

Name of first level category, where the product belongs, e.g.: Shoes

category_level_2

string

category_level_3

string

category_path

string

Full path of category tree, where product belongs delimited by pipe “|". E.g.: Tops | T-shirts | V-neck t-shirts

color

string

Main color of product. E.g.: red

gender

string

Gender for which is product designed. Options: Male / Female / Unisex

image

string

Url to main product image (not thumbnail). E.g.: http://…

lead_time

string

Time which is need for re-stocking of product from you supplier. E.g.: 7

supplier

string

Identification of supplier for this product (name / id).

size

string

Size of product for current EAN / SKU. E.g.: XL / 12 / ...

url

string

Direct url to product on your site. E.g.: http;//

stock_level

integer

Number of product of given ean in stock.

cost_per_unit

float

Price of product without your margin (cost of product).

discount_percentage

float

Percentual discount. E.g.: 50

price

float

Final price displayed to your customer (already discounted by “discount” field)

returned_products

string

Number of returned products of this type (per ean / sku).

date_added

timestamp

Time of first occurrence on your stock.

🚧

Catalogs should never contain PII (personally identifiable information) such as emails and/or phone numbers etc.

Importing a Catalog

Read our guide to imports to learn how to import your catalog.

Downloading a Catalog

Downloading/exporting catalogs is not possible.

Common use cases

Showing a Web Layer with the last visited product on the homepage

Requirements

  • catalog with required columns (item_id, picture_url, link_url, price, available).
  • event tracking (Track event view_item on every page visit of a product page. Track with property item_id that matches the item_id in the product catalog)

Design a new Web Layer where you can show an item based on the last viewed item. Create an aggregate to get last(view_item) 'item_id'. In personalization, find your aggregate and use it in catalog lookup personalization.

{% set item = catalogs.products.item_by_id(aggregates['586e0b8d830434e7cc369263']) %}

To check if an item is available and print values from the catalog:

{% if item and item.available == "true" %}
    {{ item.picture_url }}
    {{ item.link_url }}
    {{ item.price }}
{% endif %}

Recommendations

A catalog is required when using a recommendation engine. The resulting recommendations will be presented in a list of item_ids. To use these recommendations in an email or web layer you can use a catalog lookup as in the example below.

<ul id="recommendations">
  {% for item in recommendations['58aee25afb6009bfe0852332'][:8] %}
  <li> <a href="{{ item.link_url }}">{{ item.title }}</a> </li>
  {% endfor %}
</ul>

Updated about a month ago


Catalogs


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.


We rely on cookies

to optimize our communication and to enhance your customer experience. By clicking on the Accept and Close button, you agree to the collection of cookies. You can also adjust your preferences by clicking on Manage Preferences. For more information please see our Privacy policy.

Manage cookies
Accept & close

Cookies preferences

Accept & close
Back