Skip to main content

Cart Item

Object representing a cart entry. Note that the cart item may represent multiple bought items. cartItem.quantity provides the number of bought items.



cartItemId: string

Globally unique identifier (GUID) of a cart item. This ID is unique per fresh impression of a catalog item. As such it can change on subsequent visits to the upsell page where Rokt SDK presents items to a customer. As usual in the case of a change to cart item Rokt triggers Cart.onUpdateItem, however in this particular case an updated item and an old item may have a different CartItem.cartItemId. Be mindful of this behavior if you use CartItem.cartItemId value to correlate items in your cart to the ones provided in the Cart.onUpdateItem callback.


catalogItemId: string

Unique identifier of a catalog item. The same catalog item is presented to different customers and unlike CartItem.cartItemId, its value does not change between fresh impression of a catalog item. This can also be thought of as a product SKU.


currency: string

ISO 4217 compliant currency code.


description: string

Description of an item.

linkedProductId (optional)#

linkedProductId: string | undefined

ID (SKU) of a product from partner's inventory linked to Rokt's cart item. If present, it signifies that the cart item is attached to the product on the partner's side and the Rokt item cannot be sold separately from the partner's product.

One example would be a customer using Rokt's services to purchase a warranty for an item sold on a partner's page. In this case linkedProductId would represent ID of partner's item. If at any point of the transaction flow, the customer chooses to remove the partner's item from their cart, the Rokt cart item should also be removed as warranty cannot be purchased without the item it covers.


name: string

Name of an item.

quantityMustBeSynchronized (optional)#

quantityMustBeSynchronized: boolean | undefined

The presence of the flag signifies the cart item quantity is synchronized with the quantity of the partner's product represented by linkedProductId.

One example would be a customer buying a warranty from Rokt for a product sold on partner's page. In case of multiple items of the same product being purchased, warranty would be represented by a single Rokt cart item with a quantity matching the number of products added to the cart by the customer at the time of selection. If at any point of the transaction flow, the customer changes the quantity of the partner's item, then the total price of Rokt's cart item needs to be updated.


providerData: string

A JSON string containing arbitrary information specified by the product or service provider.


quantity: number

Quantity of requested items.


totalPrice: number

Total price is equal to unit price times quantity.

If quantityMustBeSynchronized is set to true, the value may not represent the final total price if the customer makes changes to the linked product quantity.


unitPrice: number

Price per item.

Was this article helpful?