What Cart Transform can do
- Add fees to cart lines (per-option, per-character)
- Split single line into multiple (merge components)
- Merge multiple lines into single (bundle)
- Update line properties
Deployment
- Create Shopify app
- Add Function extension
- Write Rust or JavaScript function
- Deploy via Shopify CLI
- Merchant installs app
Example: per-character fee
function run(input) { const charCount = input.cart.lines[0].attributes.find(a => a.key === 'Name').value.length; const fee = Math.max(0, charCount - 10) * 0.50; return { operations: [{ update: { cartLineId: input.cart.lines[0].id, price: { amount: fee } } }] }; }
Non-Plus support
Cart Transform is native on Plus. Non-Plus stores get equivalent via personalizer apps (Print It My Way handles both).
Frequently asked questions
What is Shopify Cart Transform?
Shopify Function API that modifies cart lines at checkout. Add fees, split, merge, update properties.
Is Cart Transform Plus-only?
Native yes. Apps provide equivalent on non-Plus. Customer experience identical.
How to deploy Cart Transform Function?
Shopify CLI + Function extension. Rust or JavaScript code. Deploy to app.
Best use cases for Cart Transform?
Per-option pricing, bundle discounts, per-character fees, shipping upgrades.
Cart Transform vs Discount Functions?
Cart Transform: modify prices + lines. Discount Functions: apply discounts to lines.
Debug Cart Transform locally?
Shopify CLI dev environment. Test function with sample cart input.
Cart Transform performance?
Sub-100ms execution required by Shopify. Keep logic lean.
Best language for Cart Transform?
Rust (faster). JavaScript acceptable. Both compile to WASM for execution.
Related reading
Try it free on Shopify
Print It My Way's permanent Free plan includes live preview, custom options, and Cart Transform pricing.
Install Print It My Way