2.0 Beta

Smootify 2.0 is in public beta. Your 1.x store keeps working. Move when you want.

What changed

What 2.0 fixes

The Smootify 1.x bugs that 2.0 corrects - cart totals and discounts, unit prices, dates, weights, countdowns, subscriptions, large products, interactions, add-ons, analytics and in-app browsers on iPhone.

v2.0 beta
Open .md
On this page
  1. Cart totals and discounts
  2. Prices and values
  3. Product pages
  4. Webflow interactions and elements
  5. Account pages
  6. Forms
  7. Add-ons
  8. Analytics
  9. In-app browsers on iPhone
  10. Where people get stuck

Smootify 2.0 corrects a number of 1.x bugs. You do not need to change anything for these fixes, but some numbers and texts on the page can differ from what the 1.x site showed, so check them before you go live and tell your client. If you built a workaround for one of these bugs, you can remove it. What changes by design, and may need a change in your markup, is in What changes for your site.

Cart totals and discounts

What a 1.x cart showed, and what 2.0 shows:

cart="compare-at-total"

The crossed-out cart total

1.x
Added a discounted line's unit price once per discount and multiplied it by the quantity. Left out the lines at full price, so a cart with one item on sale and one at full price showed a total lower than the real one, or none.
2.0
Counts each line before its discounts, or at its compare-at price when it is on sale, or at its total when it has neither, and shows the sum when it is above the cart total. A discount code on the whole order also shows the total before it.
cart="discount"

Automatic discounts

1.x
Listed only the discount codes.
2.0
Also lists the automatic discounts of the order, after the codes and with their amount.
urgent-cart-countdown

The cart countdown

1.x
Showed the minutes left over after the hours: 90 minutes showed as 30.
2.0
Shows the total minutes.
direct-add-to-cart

Upsells closing the mini cart

1.x
The button of the cart upsells closed a mini cart built with a details element as soon as it added a product.
2.0
The cart stays open and shows the new line.

Prices and values

Some numbers and texts read differently for the same data:

variant="unit-price"

Unit prices

1.x wrote Shopify's unit name without the quantity, so a price per 100 g read as a price per gram. Text written after {{unit}} in data-format no longer ends up inside the unit.

Date metafields

Dates west of Greenwich

For a date stored as 2026-01-15, 1.x read midnight UTC and showed the day before in the Americas. 2.0 shows the day stored in Shopify, in every time zone.

metafield="weight"

Weights and volumes

2.0 prints the symbol, such as 0.75 L, not Shopify's unit name.

tagged="vip, gold"

Tags with spaces

1.x looked for " gold", with the space, and exclusive="true" could never match two listed tags. The same for exclude on product="tags", product="collections" and customer="tags": exclude="Home, Sale" now leaves out Sale too.

separator=", "

List separators

1.x joined the values with a bare comma. 2.0 keeps the separator as written, spaces included.

smootify-variant

Sale on variant cards

1.x could set is-on-sale for a compare-at price that was not higher than the price. 2.0 sets it only when the compare-at price is higher, as smootify-product always did.

Product pages

  • Products with more than 250 variants. 1.x showed the first 250 variants and added the others later, so option values used only by later variants were missing, and prices and stock covered the first 250 only. On its product page, 2.0 loads every variant before showing the product. In lists, the cart and search, products keep their first 250 variants, as in 1.x.
  • Subscription tabs. subscription-swatches scrolled the page to the top when it started. 2.0 does not.
  • Wishlist per variant. wishlist-toggle with data-use-variants never worked: the toggle always saved the product. In 2.0 it saves the current variant. Remove the attribute to keep saving the product.

Webflow interactions and elements

  • Animations played again. After Smootify rendered, 1.x replayed page-load animations from the start, or froze intros and page-load loops. In 2.0, page-load and scroll animations that already played keep their state.
  • Placeholders that never went away. Outside the product, the cart, search and a few account lists, a skeleton stayed forever and left the element unclickable: customer values, addresses, the store rows of the store locator and of store availability, policy, the wishlist count, the image of a box item. 2.0 removes it from every element it fills.
  • The sort dropdown. sort-dropdown did not close its Webflow Dropdown after a choice. It does in 2.0.
  • The location switcher toggle. The toggle of location-switcher stayed empty. In 2.0 it shows location="name" and location="address", like the list items.
  • Store locator. data-fit-bounds="false" was read as true. 2.0 turns the fitting off.

Account pages

  • Subscription totals. subscription="subtotal-price", shipping-price, total-tax, total-refunded and total-price always showed 0. 2.0 shows the amounts of the order that started the subscription.

Forms

  • Webflow’s Email field in the back in stock form. The form answered “Invalid Email” with Webflow’s own Email field. In 2.0 a field named email, in any case, or the email field works.
  • A note in a Text field. A Text field named Note was ignored: only a Text area saved the order note. In 2.0 both save it.
  • The metafields editor. Select fields, Text areas and fields named with spaces stayed empty, and a ticked checkbox could not be unticked. In 2.0 they are filled in, and an unticked checkbox saves false.
  • The name form. Any field besides the first and last name made Shopify refuse the update. In 2.0 the other fields are ignored.
  • Styled cookie checkboxes. Webflow’s styled checkboxes did not show the choice the visitor had saved. In 2.0 they do.

Add-ons

  • Quantity breaks in the product configurator (server plan). A quantity-break price was shown but not charged when no field changed the price: the line went into the cart at the variant price. 2.0 charges it.
  • Preselected configurator values. A value a configurator field had when the page opened (a default set in the Designer, a value typed before the page was ready, or one the browser put back on Back) was left out of the price until the next change, while the cart line still carried it. In 2.0 it is in the price from the start, so the price and the line match.
  • The configured price. smootify-price showed the configured price but not the total. 2.0 shows both. Buy now with a configured price no longer empties the visitor’s cart, and the links of configurator-dropdown show the option’s label instead of its value.
  • Name your price (server plan). Only the main product was added: the add-ons and bundles of the same form were left out. 2.0 adds them with it, and smootify-price shows the amount the customer types.
  • Magic Box. A remove button also sent the box form. In 2.0 it only removes the line.
  • Uploads (server plan). A product could be added to the cart while its file was still uploading. In 2.0 the form cannot be sent until the upload has finished.

Analytics

  • Product views sent without consent. The automatic product-view events for GA4, Meta, Klaviyo and Mixpanel went out before the visitor gave consent. In 2.0 they wait for it, like the add-to-cart and checkout events already did.
  • Page views counted twice. Turning analytics on again with the same consent, from a script, sent a second page view. 2.0 sends one.
  • Mixpanel. Mixpanel did not receive the events. It does in 2.0.

In-app browsers on iPhone

Links opened from Instagram or Facebook on an iPhone open in the app’s own browser. The 1.x loader sent these browsers a build that did not work there. The 2.0 loader gives the in-app browsers of Instagram, Facebook and TikTok on iPhone a build made for them. Where such a browser changes every request the page makes, Smootify sends its requests from a worker those changes do not reach. It needs the loader: see Install Smootify 2.0.

Where people get stuck

Check these first

  • The crossed-out cart total is missing. It shows only when it is above the cart total: nothing in the cart is on sale or discounted.
  • The crossed-out total differs from the 1.x site. 1.x added it up wrongly. 2.0 shows what the lines add up to before their discounts.
  • The unit price stays empty. The variant has no unit price measure in Shopify. Add the quantity and the reference unit to the variant.
  • The mini cart stays open after an upsell is added. That is the fix: 1.x closed it. The cart now shows the new line.
  • The wishlist saves variants instead of products. The toggle has data-use-variants, which did nothing in 1.x. Remove it to save products.
  • A list metafield has spaces around its separator. 2.0 keeps the separator as written. Write the one you want.

    ↑ ↓ to moveEnter to openEsc to close