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 same values must appear under the following names in your product data and transaction data:

Level

Product Catalog

Product Feed

Transaction Feed

Product

Product ID

GroupId

Not used

Style

Style ID

Id

Not used

Variant (SKU)

Variant ID

VariantId

ProductId

Barcode

GTIN or Ean

GTIN/EAN

EAN

Fashion Set

Set ID

SetId

Not used

For the full attribute lists, see Product Attribute Model, Product Feed Attributes Reference and Transaction Feed Attributes Reference.

Note

The Product Feed and the API reference call the product level style level. It is not the same as the Style ID, which also includes the color. Put the product level into GroupId and the Style ID into Id.

Warning

The term Product ID means different things. In the Product Catalog, Product ID is the product level and covers all colors and sizes. In the Transaction Feed, ProductId is the variant level. Always send the Variant ID there.


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 or variant, see below

sku

Where the Variant ID Goes in Smart Pixel

The Mapp Fashion extension reads the Variant ID from one of two product parameters. The useProductIdAsIdentifier option in the extension configuration decides which one:

  • useProductIdAsIdentifier: true: the extension reads the Variant ID from the product id.

  • useProductIdAsIdentifier: false (default): the extension reads the Variant ID from the product variant parameter.

The examples in User Interaction Tracking pass the Variant ID in id. They require useProductIdAsIdentifier: true.

Recommendation Tracking

If you render recommendations yourself, Recommendation Tracking uses the identifiers returned with the recommendations, not your own product identifiers:

Returned value

Used in Recommendation Tracking as

event_id

data-dressipi-event-id or requestId

content_id

data-dressipi-content-id or setId

raw_garment_id

data-dressipi-raw-garment-id or itemId

Warning

The v2 endpoints and the Smart Pixel retrieval calls only return raw_garment_id for recommended items if include_fashion_ids is set to true. The default is false. Without it, you have no value for data-dressipi-raw-garment-id or itemId. Hosted widgets are not affected because they track interactions automatically.


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

Recommendation

product-code (default)

Style ID

Use this type unless Mapp has agreed a different one with you.

sku

Variant ID

Only works if your product data contains Variant IDs.

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.

  • A 422 response usually means that the item was not found or that the identifier type or value does not match the processed product data.

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. Which identifier is returned depends on garment_format.

product_id

The product level identifier (GroupId in the Product Feed, Product ID in the 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.

event_id, content_id

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

For request parameters, 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.