Please consider removing Shopify Plus for cart transform update

Hello!

The cart transform function was recently updated to add an update functionnality. I believe this feature originates from this github discussion.

This feature allows for dynamic pricing and cart images in a much more elegant way than the current possibilities.

Here is a list of some current possible ways to do dynamic pricing and their drawbacks.

Creating new variants before adding to cart
With this method you create a variant with the calculated price dynamically uppon adding to cart.

  • The 100 variants limit requires you to either delete old variants when you reach the limit, or create multiple products that models a single one.
  • Deleting old variants can create problems if people already have it added to their cart.
  • Creating multiple products is a lot of work in order to retrieve an existing price if it has been created and it requires a lot of code to hide the extra products from the store. It also messes with the analytics.
  • Dynamic variants makes it almost impossible to correctly integrate with inventory management and all the other features that are handled by variants (weight, barcodes, etc)
  • There is an ongoing bug (2+ years) where new variants will sometimes show up as 0$ in the cart.

Extra price product
Having a product with it’s price set as 0.01$ and you add it to the cart as many times as the difference between the base price of the product and the dynamic price.

  • Shopify offers no easy way to hide a product so there is work involved with hiding this extra price product from the store.
  • The orders and analytics become messy because of the extra price product.

Discounts
This method implies settings the base price of the product to the maximum possible dynamic price and then adding a discount dynamically to set the correct price.

  • The product will display the maximum price which is not good for conversion unless you do manual work in the theme files.
  • Showing discounted products in the cart can bring a lot of confusion for customers.
  • Probably a lot of other drawbacks.

We truly believe that dynamic pricing is a core feature of ecommerce and should not require a Shopify Plus plan to access it. Having the app developers make the decision of only making their apps available to Shopify Plus users is really a double edge sword because we cut our user base by so much.

Thank you!

21 Likes

We have a couple use cases to add.

“Pay what you want” feature (NPO-Focused).

We are currently in the process of developing a free donation box app for the marketplace that utilizes Transform/Update. This is an extremely common request especially among the non profits we support on the agency side of our business. There are existing marketplace apps that create custom discount codes or custom products/variants for individual cart sessions, but these crude workarounds at are confusing for donors, resulting in increased support requests and abandoned carts.

I’m sure I’m not the only Shopify Partner who hoped the introduction of Shopify Functions would eliminate the need for this sort of hack.

Transform/Update is the perfect solution for “pay what you want” since we can apply line properties during the “add to cart” event and use metadata to limit minimum & maximum price server side. Pricing for these variable line items is clear and apparent in both cart & checkout, regardless of theme, and a single Shopify-hosted theme app extension can apply all necessary logic to the front end.

Since Shopify hosts the logic for Shopify Functions hosting the admin interface for this app would cost us next to nothing on AWS, so we had planned on making the app freely available to stores on non-profit plans.

Limiting this feature to Plus customers makes a straightforward donation box inaccessible to NPO storefronts.

A/B price testing.

Our R&D team is fairly deep into development of an A/B price testing app. The entire feature set of the app depends on use of the Cart Transform/Update function to enable metadata-based custom pricing. Our reach is significantly limited if this is only available to Plus customers and we’ll have to increase our pricing drastically, but we would much prefer to offer a lower cost solution. Using discounts to apply price testing is counterintuitive because in order to run an accurate test the customers should not be aware the price is discounted.

–

While we were disappointed to learn that this feature we had invested heavily in would be limited to Plus, we can recognize that robust A/B testing is a valuable feature, even more so to merchants exploring Plus, and don’t feel it’s unreasonable that Transform/Update is limited to Plus.

However, at bare minimum it’s our view that this feature should be unlocked for storefronts on either of the NPO plans since a clean donation box feature is such a common need for that group.

2 Likes

I would like to have an input on the reasoning behind the gatekeeping of those features behind Shopify Plus. It makes it very hard for Shopify App developers to provide a good solution for our users when we have to either:

a. Make a basic functionnality that could be core for an app only available if you’re a Shopify Plus account
b. Have a fallback for non-shopify plus which will be less efficient. Also it can be a huge headache to try to support multiple different implementations for a solution.
c. Only have the fallback solution because we don’t want to invest too much time in supporting a an implementation that will only be used by a fraction of our user base.

Another example of this limitation being very contriving is not being able to make API calls within checkout validation functions unless it’s a Shopify Plus account. Shopify Functions feels like the missing piece of the puzzle for moving from hacky implementations to solid solutions but it seems like we will have to keep using the hacky workarounds because of the Shopify Plus limitation.

Hey @Nick_Wesselman

Any plans regarding this ? it would be awesome if the cart transform update could be available for all Shopify plans, it’s the feature i’ve waited all my life !