--- title: "Product Catalog" slug: "engage-personalization-functions-product-catalog" updated: 2026-01-21T14:06:27Z published: 2026-01-21T14:06:27Z canonical: "docs.mapp.com/engage-personalization-functions-product-catalog" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Product Catalog These functions allow you to use the contact's Wishlist data in email personalization. --- ## ecx:productCatalog #### Product Catalog This function fetches a specific product by its product SKU from the product catalog. The product doesn't have to be (but can be) on any wishlist or in the abandoned cart of any user. The product is detached here from any specific user. ```javascript <%${ecx:productCatalog('aaa-bbb-ccc','productName')}%> ``` #### Wishlist This function fetches all products on the contact's wishlist. The product to be fetched must be in the product catalog and on the wishlist under the same product SKU. ```javascript <%ForEach var='wishlistProduct' items="${user.wishlistProducts}" %> <%${wishlistProduct['productName']}%> <%/ForEach%> ``` #### Abandoned Cart This function fetches all products in the contact's abandoned cart. The product to be fetched must be in the product catalog and in the abandoned cart under the same product SKU. ```javascript <%ForEach var='abanonedCartProduct' items="${user.abandonedCartProducts}" %> <%${abanonedCartProduct['productName']}%> <%/ForEach%> ``` ### Available Properties | Name | Type | | --- | --- | | `productSKU` | String | | `productName` | String | | `localizedProductNames` | Map | | `productPrice` | Float | | `localizedProductPrices` | Map | | `variant` | Map | | `stockTotal` | Integer | | `productURL` | String | | `imageURL` | String | | `zoomImageURL` | String | | `brand` | String | | `category` | String | | `msrp` | Float | | `localizedMsrp` | Map | | `description` | String | | `localizedDescriptions` | Map | | `customAttribute1-5` | String | --- ## ecx:productCatalog: Localized Property Names The `ecx:productCatalog` function handles the resolution of localized values. Below are the accepted function formats. | Value | Formats | | --- | --- | | `productName` | <%${ecx:productCatalog('aaa-bbb-ccc','localizedProductNames')['de']}%> | | <%${ecx:productCatalog('aaa-bbb-ccc','productName_de')}%> | | `productPrice` | <%${ecx:productCatalog('aaa-bbb-ccc','localizedProductPrices')['de']}%> <%${ecx:productCatalog('aaa-bbb-ccc','productPrice_eur')}%> | | `msrp` | <%${ecx:productCatalog('aaa-bbb-ccc','localizedMsrp')['eur']}%> <%${ecx:productCatalog('aaa-bbb-ccc','msrp_eur')}%> | | `description` | <%${ecx:productCatalog('aaa-bbb-ccc','localizedDescriptions')['de']}%> <%${ecx:productCatalog('aaa-bbb-ccc','description_de')}%> | | `productURL` | <%${ecx:productCatalog('aaa-bbb-ccc','localizedProductURLs')['de']}%> <%${ecx:productCatalog('aaa-bbb-ccc','productURL_de')}%> | | `variant` | <%${ecx:productCatalog('aaa-bbb-ccc','variant')['xl']}%> <%${ecx:productCatalog('aaa-bbb-ccc','variant_xl')}%> |