Skip to content

Setting up an attribute

When setting up a new attribute in Bizzkit PIM, it is important to make some decisions regarding the characteristics of the attribute, so it that it aligns with its intended purpose.

By choosing a suitable attribute configuration, you ensure that the feature set of Bizzkit PIM can be utilized to its full extent, as some features may behave differently depending on what kind of attribute is being handled.


Choosing the right configuration for an attribute in Bizzkit PIM is like selecting the ideal set of tires for your car. Just as you would choose winter tires for snow to ensure the best grip and performance, you should select the attribute configuration that best matches the specific needs of your product information. This ensures that your product details are displayed correctly and that you can use all PIM features in the best way possible, much like how the right tires provide a smooth and safe driving experience.

Define the attribute's characteristics

The following properties of the attribute configuration are defining the attribute's characteristics:

Configuration Type

Attributes in Bizzkit PIM support a range from one to four fields per attribute. Having multiple fields on a single attribute makes it possible to model certain data structures as a single attribute, instead of using multiple attributes.


A good example of an attribute with multiple fields is an attribute that represents the dimensions of a product. By using multiple fields on the same attribute, height, width and length can be grouped together.

The amount of fields available is controlled by the Configuration Type property on each attribute. For creating an attribute with just a single field, select Plain as Configuration Type. For an attribute with up to four fields, select Unconstrained as Configuration Type.

Bizzkit PIM also offers presets for common configuration types. The following presets are available:

Configuration Type preset Amount of fields Description Example use case
RectangularArea 2 Produces two fields: Width and Height An attribute representing the size of a product in two dimensions
CuboidVolume 3 Produces three fields: Width, Height and Length An attribute representing the size of a product in three dimensions
Range 2 Produces two fields: From and To An attribute representing the screen size range of a product
Quantified 2 Produces two fields: Item and Quantity An attribute representing the materials of a product and the percentage used per material


An additional Configuration Type called Calculated is available for creating calculated attributes. Read more about these attribute types on Calculated attributes.


How many values should the attribute be able to store? If just a single value should be stored on the attribute, the Type should be Single Value. If one or multiple values should be stored on the attribute (for example a list of values), the Type should be Multi Valued.


The attribute's Type cannot be changed, after the attribute has been created.


Example of a single valued attribute: a product description. Each product contains only one product description.

Example of a multi valued attribute: images. Each product can contain one or more images.

Field configuration

As part of the field configuration, the data type for each field should be chosen. To determine the appropriate data type for each field, follow this decision tree:

    flowchart TD
    A(Choose field data type)
    A --> B{Use a global list?}
    B -->|Yes| D(Select Data Source)
    B -->|No| E(Select Type)
    E --> F(Choose a field data type)

Type of information to store

For choosing the right data type of your attribute field, the basic type of information to be stored should be decided on. Think of the possible information to store in this attribute in its purest form.


When using attributes for information a size/weight/volume/etc. the unit in which the information is expressed should be excluded from the actual attribute value. Example: don't include cm, kg, etc. in the actual value, as there is a better way to model this.

For clarity and consistency, store the value in its simplest form without units.

The base data type of the information to store on the attribute field can be one of the following:

  1. Text
  2. Number
  3. True/false (boolean)
  4. Date/time
  5. Other

Use one of the following diagrams as guidelines for determining which exact data type to use:

    flowchart LR
    B(Choose text data type)
    B -->|Text| C{Should the value be segmented?}
    C -->|No| D(Select PString)
    C -->|Yes| E{Segmentation by Channel\n or Translation Culture?}
    E -->|Channel| F(Need a default value?)
    F -->|No| F1(Select PChannelSpecificString)
    F -->|Yes| F2(Select PChannelSpecificStringD)
    E -->|Translation Culture| G(Need a default value?)
    G -->|No| G1(Select PTranslatedString)
    G -->|Yes| G2(Select PTranslatedStringD)    

    flowchart TD
    A(Choose number\n data type)
    A --> B{Does the value\n contain decimals?}

    B -->|Yes| C{Should the value\n be segmented?}
    C -->|No| D(Select PDecimal2*)
    C -->|Yes| E{Segmentation by\n Channel, Market\n or Translation Culture?}
    E -->|Channel| F{Need a default value?}
    F -->|No| F1(Select PChannelSpecificDecimal2)
    F -->|Yes| F2(Select PChannelSpecificDecimal2D)
    E -->|Translation Culture| G{Need a default value?}
    G -->|No| G1(Select\n PTranslationCultureSpecificDecimal2)
    G -->|Yes| G2(Select\n PTranslationCultureSpecificDecimal2D)
    E -->|Market| X(Select\n PMarketSpecificDecimal2)  

    B -->|No|H{Should the value\n be segmented?}
    H -->|No| I(Select PInt32**)
    H -->|Yes| J{Segmentation by\n Channel?}
    J -->|Channel| K(Should a default\n value be supported?)
    K -->|No| K1(Select PChannelSpecificInt32)
    K -->|Yes| K2(Select PChannelSpecificInt32D)

    flowchart LR
    A(Choose boolean\n data type)

    A --> C{Should the value\n be segmented?}
    C -->|No| D(Select PBoolean)
    C -->|Yes| E{Segmentation by\n Channel, Market\n or Translation Culture?}

    E -->|Channel| F{Need a default value?}
    F -->|No| F1(Select PChannelSpecificBoolean)
    F -->|Yes| F2(Select PChannelSpecificBooleanD)
    E -->|Translation Culture| G{Need a default value?}
    G -->|No| G1(Select\n PTranslationCultureSpecificBoolean)
    G -->|Yes| G2(Select\n PTranslationCultureSpecificBooleanD)
    E -->|Market| X(Select\n PMarketSpecificBoolean)

    flowchart LR
    A(Choose date/time\n data type)

    A --> C{Should the value\n represent a point in time?}
    C -->|No| D(Select PTimeSpan)
    C -->|Yes| E{Should the value include a time zone offset?}
    E -->|No| F1(Select PDateTime)
    E -->|Yes| F2(Select PDateTimeOffset)


See Data Types for a full overview of all available data types and their intended use.