> ## Documentation Index
> Fetch the complete documentation index at: https://codebeans-discount-engine-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cart Transform

> Merge cart items into a bundle line, or change an item's title, image and price.

Cart Transform changes how items look in the cart and at checkout. Open it with **Create** on the Home page's **More Functions** card and choose **Cart Transform**. The **Cart Transform** tab on the Manage page lists every operation you have built and which are active.

## First-time setup

The first time you open it, click **Set up Cart Transform**. This registers the function with Shopify and switches it on. Nothing changes at checkout until you add an operation.

![Cart Transform before setup](https://mintcdn.com/codebeans-discount-engine-pro/vADWEe_DBoVbp2Z1/images/ct-setup.png?fit=max\&auto=format\&n=vADWEe_DBoVbp2Z1\&q=85\&s=fb9f5500841fa3f9c5199ae3cbca8a1b)

## Operations

All operations live in one function. Click **Add new** and choose a type:

| Operation | What it does | Plan |
| - | - | - |
| **Merge items** | Groups several cart items into a single bundle line | Any Shopify plan |
| **Update line item** | Changes a line's title, image and price at checkout | Shopify Plus |

Each operation has an optional **Operation name** (not shown to customers), an **Operation status**, and the same customer and cart qualifiers as campaigns. The row menu has **Edit**, **Duplicate**, **Move up**, **Move down** and **Delete**.

> [!NOTE]
>
> A saved operation keeps its type. To change it, add a new operation instead.

## Merge items

| Field | What it does |
| - | - |
| **Bundle Parent Product** | The product that represents the bundle in the cart |
| **Items to Merge** | The products combined into the bundle, each with the quantity needed. A merge needs at least two items |
| **Bundle Title** | The title shown for the merged line in the cart |
| **Discount on the bundle (%)** | A percentage off the bundle. Leave empty to charge the sum of the item prices |
| **Properties** | Optional key-value properties added to the merged line, for example `_bundle_title` |

> [!NOTE]
>
> Shopify reduces a merged line by a percentage only; there is no fixed bundle price.

## Update line item

Choose which lines to change with **Match lines by**: a **Selector** (product, collection, SKU and more) or **Specific variants**. Then set the update:

| Field | What it does |
| - | - |
| **New title** | Replaces the line's title. Leave empty to keep it |
| **Image** | Pick a file from your store's **Content > Files**, or paste a Shopify-hosted image URL. Shown in checkout only |
| **New price each** | A fixed price per unit |

Fill in at least one of the three. Use **Market scope** to apply the update in **All markets**, or add **Market-specific updates** for particular markets.

## Cart Transform or Bundle Discount?

| | Cart Transform (merge) | [Bundle Discount](https://codebeans-discount-engine-pro.mintlify.site/campaigns/campaign-types.md) |
| - | - | - |
| Cart shows | One combined bundle line | The separate items the shopper added |
| Best for | Selling a bundle as one product | Rewarding shoppers for buying a combination |

> [!WARNING]
>
> Shopify allows one cart transform per app per store, and its configuration is limited to 10 kB. If you go over, the page shows **Over the configuration limit**: remove an operation, or simplify the qualifiers on one.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.