UTF-8. For full examples of the file syntax, see Import examples.
Market identifiers and keys for product groups, products, and variants must be consistent across the data feed, the order notifications, and the order history. All keys within a market must be unique and are case sensitive.
Product data
Product data consist of product groups that include products that in turn include variants. Maximum length of an element value is 2,000,000 characters.Product group
The first level of the data model is the product group (the overall article). The product group holds attributes that are common for all its products and variants. A product group must contain at least one product.Elements and attributes
Product
A product is a color or style variation of a product group and contains attributes that are specific to this variation. Each product in turn must contain at least one variant and is strongly recommended to have at least one image.Elements and attributes
Images
Theimages element is a part of the product element and contains one or more image elements. The image element defines a single image which may have URLs with different resolutions of the same image. Multiple resolutions are used for saving bandwidth and are especially useful for thumbnails. An image element must have an urls element which must have at least one URL, and URLs must be unique within a product. If relative image resolutions are known, the image URLs should be ordered by ascending width, that is smallest first, otherwise it can lead to inconsistencies before it is analyzed automatically. There can be a maximum of 25 images on a product.
Elements and attributes
Advanced image imports
Additional attributes regarding image tags, widths, and types can be set in the import. These attributes are mainly for use before the automatic image analysis is complete. There is also support for custom image attributes and thealt and caption elements.
Elements and attributes
Attribute names
Thecategories attribute, series attribute, and custom attributes on products and variants can have a name attribute. The name is used to link a human-friendly name to an identifier to simplify merchandising without breaking the site when values change.
Elements and attributes
Additional information
Additional information
It is strongly advised to use stable IDs when creating pages and/or boost/bury, but it is hard for merchandisers to work with IDs. To solve this problem, a In this example, for the first element,
name can be used to tie a name and an ID together. An attribute with a name will work just as an attribute with the name as its value in all aspects, except for filtering and making product selections. When making product selections in the apps, the name will be shown but the ID will be saved. This means that if the name changes, no pages or boost/bury will stop working.Names are supplied as an XML attribute to the attribute element. Below is an example:season is the attribute, Summer is the name, and m_678 is the ID. The name Summer will be searchable and used by Elevate to understand the product. Summer will also be shown in the apps, but if chosen, the ID m_678 will be saved instead of the name Summer.Import rules for name:- The number of pipe-separated values supplied must match the number of names. The first name represents the first value and so on. In the example above,
Baggyis the name of the style with the IDm_c_333. If a custom attribute has multiple values and only some of them have names, then the ID should be entered as the name for the IDs which are missing a name. It is recommended to use names for either all values or none within one attribute. - IDs must only have one name. If an ID is associated with multiple names in the same import, the import will fail.
- If two IDs within the same custom attribute share the same name, faceting will consider them to be the same but product selections will consider them separate. In the apps, names with multiple IDs will be represented as
name (ID). - Setting or changing a name on one product will apply the name to all instances of that ID on all products in the import and previously existing products. If an ID has a name, it is recommended to always include the name alongside the ID.
- If a value that has had a name since a previous import is only mentioned without a name in a new import, the name will be removed from all previously existing products.
Typed custom attributes
Thecustom element allows custom attributes of specific types to be imported. Supplying types on custom attributes enables type-specific features, such as range facets for lengths and numbers.
The supported types are lengths and numbers.
Length custom attributes
Custom attributes of typelengths can be used to define secondary measurement attributes, such as the package size. Within the lengths element, the name of the custom length attribute is specified, followed by the length information.
Number custom attributes
Custom attributes of typenumbers can be used to define number attributes, such as the number of items in a package. Negative numbers are supported.
Predefined measurements
Predefined measurements likewidth, height, length, depth, weight, and volume share product and variant values in facets, product selections, and sorting. This means that there is a single facet for, for example, width that holds all width values regardless of whether they are provided at product or variant level.
In the import, each product must have predefined measurements specified, either at product level or variant level. When provided at variant level, all the variants of a product must specify the predefined measurement.
Lengths
Length properties consist of an amount and a unit describing a specific length. Lengths can be predefined measurements or supplied as typed custom attributes.Length format
Elements and attributes
Volume
Volume is a property type consisting of an amount and a unit describing a specific volume.Volume is a predefined measurement.
Volume format
Elements and attributes
Weight
Weight is a property type consisting of an amount and a unit describing a specific weight.Weight is a predefined measurement.
Weight format
Elements and attributes
Variant
Avariant is a stock-keeping unit (SKU) and contains attributes that are specific to the SKU. A variant typically represents a single physical size, and a physical size can be expressed in several formats, see Sizes, section Advanced size import.
Elements and attributes
Sizes
Sizes is a part of the variant element and contains one or more size elements.
Elements and attributes
Advanced size import
Each variant has a single physical size, but the size can be expressed in several formats. For example, a shirt can be considered both a size S and sizes 34 and 36 simultaneously. If multiple formats are known, all should be provided. The format of the size is specified as an attribute and the actual size is provided as the value of thesize element.
Elements and attributes
Custom prices
Thecustom_prices element is a part of the variant element and contains one or more price elements. The maximum number of price elements for a variant is 1,000.
Advanced price import
For more information about custom prices, see Additional features .Elements and attributes
Stores
Thestores element is a part of the variant element and contains one or more store elements and their stock numbers.
Advanced stores import
For more information about stores, see Store specific stock numbers.Elements and attributes
Content
Thecontent element enables visitors to find editorial content items on a site, such as FAQs, shipping, and contact information. Content items are usually placed after the product groups in the import files.
Elements and attributes
Old content link format
Old content link format
The old content link import format is still supported for backwards compatibility. The new and old format cannot be mixed in an import. The old format is shown below.Elements and attributes
Imports
An import can be either a full, a partial, or an attribute modification import. The import type is based on the root element of the import file. The import file type is XML and must be encoded usingUTF-8.
A full import is used to set the complete state of the product and content data for all markets. Partial updates are used to add, replace, or remove product or content items.
The attribute modification import has a different root element than full and partial imports. It is used for frequent updates of item attributes such as selling_price and stock_number. Only attributes defined in the import will be modified. The attribute modification import can also add new attributes to existing items.
For more information on when to use full, partial, or attribute modification imports, see Scheduled imports.
Data import
The data import is eitherfull or partial and is the root element of an import XML file. Three elements, remove_all, remove, and add_or_replace, in the XML file define what Elevate will do with the data in the file.
The full import sets the complete state of the data, thus anything that is not declared in the import will be deleted from Elevate, regardless of market. This enables a retailer to do a full synchronization between their systems and Elevate. Data is added into Elevate by using the add_or_replace element.
A partial import has the type attribute set to partial. This means that no data is automatically removed at the beginning of the import unless remove or remove_all are present in the file before using add_or_replace. Note that partial updates of product groups replace the entire group. This means that the product group is expected to be complete, as it replaces all information about the product group and any connected products and variants. To only modify information, use Attribute modification.
Elements and attributes
Modify
Themodify element is used by the full and partial import methods. It defines the market and locale that is being imported. Multiple markets can be modified in the same import. A market and locale combination can only be modified once during an import.
Elements and attributes
Attribute modification
The attribute modification import has the root elementattribute_modification in the import XML file. It is used to modify attributes within individual items, as well as to add new attributes to existing items.
All items that are to be modified, such as product_groups, product, variant, and content, are identified by their key attribute values. If an item cannot be identified, for example due to an incorrect or nonexistent key, that item will be ignored, a warning will be logged, and the rest of the items are imported normally. Nesting of products within product groups and variants within products in the XML is not allowed.
The modify_attributes element is used by the attribute modification. It defines what existing market and locale that content will be operated on. Multiple markets and locales can be modified in the same import. A market and locale combination can only be modified once during an import.
For markets with exactly one locale, the locale may be omitted. For markets with multiple locales, the locale must be specified except for cross-locale attribute modifications, see below.
Product groups, products, variants, and content are modified separately when performing an attribute modification.
Elements and attributes
Cross-locale attribute modifications
On markets with multiple languages, stock, cost, and price may be modified across all locales in a market. A cross-locale attribute modification is specified by omitting the locale in themodify_attributes element.
Import examples
Full import
The following example will add items to a site withmarket set to UK and locale set to en-GB. Any previous data not included in the import will be deleted from Elevate, regardless of market.
Full import example with basic information
Full import example with advanced feature usage
Partial import
The following example of a partial import will add or replace one or more product groups, products, variants, and content in an existingmarket with the key UK. The items are identified using their key values.
Partial import example with add or replace
product_groups and content_items from an existing market with the key UK.
Partial import example with remove all
product_group and content from an existing market with the key UK. The items are identified using their key values.
Partial import example with remove
Attribute modification examples
The common use case for attribute modifications is when updating prices and stock numbers. The following example of an attribute modification import will update specific values for aproduct_group, a product, a variant, and a content item on an existing market with the key UK. The items are identified using their key values.
Attribute modification import example
Cross-locale attribute modification import example with store specific stock numbers and custom prices
Escaping special characters
Some elements in the data model can take multiple pipe-separated (|) values. Therefore, if the pipe character is part of the data, such as in a category name, it must be escaped using a backslash, \, before the actual character, \|. Using a backslash in the data must also be escaped using another backslash, \\.
Escaping must be done for values in all elements, including single-value elements.
Character escaping example

