Product and Customer Identifiers

Prev Next

Mapp Fashion links product data, tracking events, transaction data and API requests through identifiers. If an identifier does not match across these sources, events cannot be assigned to products, recommendations lose relevance, and API requests return errors or empty results.

This page shows which identifier belongs in which field.


Identifier Levels

Fashion product data is organized in three levels. The example shows a black dress in size 36.

Level

Description

Example

Product

All variants of a product, regardless of color and size.

DRESS-5892

Style

All sizes of a product in one color. This level is also called style and color.

DRESS-5892-BLK

Variant (SKU)

One purchasable item, defined by style, color and size.

DRESS-5892-BLK-36

For Mapp Fashion, the Style ID and the Variant ID are the key identifiers. API requests use the Style ID by default. Tracking and transaction data identify the viewed or purchased item by its Variant ID.


Product Data

The identifiers come from your Product Catalog. Use the same values in tracking, in the Transaction Feed and in API requests.

Identifier

Product Catalog attribute

Transaction Feed column

Product ID

product_id

Not used

Style ID

style_id

Not used

Variant ID (SKU)

variant_id

ProductId

Barcode (GTIN or EAN)

gtin or ean

EAN

Set ID

set_id

Not used

For all attributes, see Product Attribute Model and Transaction Feed Attributes Reference.

Warning

In the Transaction Feed, the column ProductId contains the Variant ID of the purchased item, not the Product ID.


Tracking

Tracking events carry the Style ID and the Variant ID of the product.

Level

Smart Pixel

Standalone Tracking (Legacy)

Style

fashionStyleId

productCode

Variant (SKU)

id

sku

In the Smart Pixel, the product parameter id contains the Variant ID.

Recommendation Tracking

If you render recommendations yourself, track clicks on recommended items with Recommendation Tracking. It uses the identifiers from the recommendation response, not your own product identifiers. Pass them on unchanged:

Smart Pixel retrieval call

HTTP response

Used in Recommendation Tracking as

response_id

event_id

data-dressipi-event-id or requestId

content_id

content_id

data-dressipi-content-id or setId

dressipi_item_id

raw_garment_id

data-dressipi-raw-garment-id or itemId

Warning

Without the internal Mapp Fashion ID, clicks on recommendations are not tracked. You do not need to match this ID to your product data, only pass it on. Over HTTP, the v2 endpoints only return it as raw_garment_id if you set include_fashion_ids=true. The Smart Pixel retrieval calls always return it as dressipi_item_id in the detailed format, in the simple format only with include_fashion_ids: true. Hosted widgets are not affected because they track interactions automatically.

Attributing purchases to recommendations in Mapp Intelligence is a separate feature. See Recommendation Tracking in Mapp Intelligence.


API Requests

Item-based API requests pass one identifier in id. The identifier_type parameter defines how Mapp Fashion interprets it. Identifiers in excluded_ids must be of the same type.

identifier_type

Matches

Note

product-code

Style ID

Default.

sku

Variant ID

Works on all endpoints.

gtin

Barcode, for example EAN-13 or UPC

Only works if barcodes are included in your product data.

fashion-id

Internal Mapp Fashion ID (raw_garment_id)

Called dressipi-id in v1.

The following rules apply:

  • Not every identifier type is available in every integration. It depends on what your product data contains and how it is processed.

  • Identifiers must match completely. There is no fallback for partial matches.

  • Identifier values must be sent exactly as they appear in your product data.

  • In v2, outfits and partner_outfits return 422 if the item in id cannot be found. similar returns fallback recommendations instead, so if the results look unrelated, check the identifier.

  • basket ignores identifiers in ids that cannot be found.

To check whether Mapp Fashion knows an identifier, request Get information about an item by id with the same identifier_type. This is a v1 endpoint, so send fashion-id as dressipi-id there.

Identifiers in API Responses

Field

Content

garment_id

The identifier of the item from your product data. It has the same type as the identifiers in the request (identifier_type), by default the Style ID.

product_id

The product level identifier, Product ID in your Product Catalog. Only returned if your product data contains it.

ancillary_product_code

An alternative product code. Only returned if it is included in your product data.

raw_garment_id

The internal Mapp Fashion ID. For recommended items, v2 only returns it with include_fashion_ids=true.

available_skus

The Variant IDs of each recommended item that are in stock, keyed by garment_id.

event_id, content_id

Identify the request and each set of items. Needed for Recommendation Tracking.

Warning

product_id, ancillary_product_code and available_skus are only correct if Product ID, Style ID and Variant ID in your Product Catalog are filled at the right level, see Identifier Levels above. available_skus also requires that your products have their real product images from the first import on. If products were imported with placeholder images or dummy URLs, available_skus can contain Variant IDs of other products.

For request parameters and response formats, see Recommendation Items and the Mapp Fashion API.


Customer and Order Identifiers

Purchases are linked to shoppers through customer and order identifiers. Use the same values in tracking and in the Transaction Feed.

Identifier

Smart Pixel

Transaction Feed

Customer ID

id in wtSmart.customer.data

CustomerId

Customer email

registrationEmail in wtSmart.customer.data, pseudonymized automatically

Not used

Order ID

id in wtSmart.order.data

OrderId

  • Use a stable customer ID, such as a database ID. An opaque identifier is preferred over a hashed email address.

  • If CustomerId contains a hashed email address, document how the hash is generated, for example lowercase followed by SHA-256.

  • OrderId must match the order number sent with the order confirmation tracking.