Docs · Tiers and bars

How to base a progress bar on cart amount, weight, quantity or order history

A bar sets what its tiers measure (cart amount, weight, number of items, or a customer’s lifetime spend or order count) and which products count towards it.

· Markdown versionEN · FR · ES · DE

What a bar is

A bar is one measure, on a set of products, with its tiers. At install, the app only creates the bars that the tiers imported from your existing discounts need: a cart amount bar for a free shipping threshold or a minimum amount, a quantity bar for a Buy X Get Y discount, and one bar for each set of products a discount is limited to. With nothing to import, the store starts with a single bar on cart amount, the classic free shipping bar. You can add others, for example a quantity bar next to a spend bar.

Tiers on the same bar share it: changing its scope applies to all of them. When a tier needs its own scope, Duplicate for this goal gives it a copy of the bar. A Buy X, get Y tier always has a bar of its own, counting items. How several bars look on the storefront, side by side or stacked, is set in design. Stacked, each bar can show its own success message: see success message.

Add a bar

There are two ways to add a bar:

  • From a tier: click the measure in the tier sentence, then Create a bar, or pick an existing one under Shop bars. The bar is only created when you confirm.
  • From the Bars tab: open Goals & Discounts, tab Bars, then Add a bar.

Then click Save. Bar name is only visible in the app.

Choose the measure

Progress measured by sets what the tier thresholds are expressed in. The measures come in two groups: Current cart, visible to every visitor, and Customer history, for logged-in customers only.

Measure What the bar counts
Amount The cart amount, for spend thresholds.
Quantity The number of items.
Weight The cart weight, in the bar’s weight unit: kg, g, lb or oz (your store’s unit by default).
Total spent Everything the customer has spent since their first order, plus the current cart.
Past orders The number of orders the customer has already placed. The current cart doesn’t count.

Switching a bar to another measure keeps the numbers of its tier thresholds: a $20 tier becomes a 20-item tier. Check the thresholds after the switch. On a weight bar, Weight unit sets the unit the thresholds are entered in; changing it converts them (1 kg becomes 2.2 lb).

Choose what is counted

The What is counted card sets which cart items move the bar forward:

  • Purchase type: one-time purchase, subscription, or both.
  • Exclude gift cards.
  • Cart item filtering: Include only items from or Exclude any item from chosen products or collections. A list holds one type of resource.
  • Count items inside bundles (quantity bars): a native Shopify bundle of 6 counts as 6; turned off, it counts as 1.

Two limits apply to bundles. Bundles from apps that don’t use native Shopify bundles always count as 1. And for a percentage or amount-off tier on a quantity bar, the checkout discount counts a bundle as 1 item (a Shopify limitation): only the bar and the gifts count its components.

Products that count as several items

On a quantity bar, the Products that count as several items section makes a pack or a subscription box count for the number of items it holds: a 6-can box counts as 6. Use it for products that are not native Shopify bundles, such as a subscription box (Shopify bundles can't be sold as subscriptions).

Set the number with one or more rules:

  • Products and variants: pick products, or only some of their variants, and enter the number for each.
  • Collections: every product of the collection counts as the number entered.
  • Products with the tag: every product that carries the tag.
  • Number of items read from a metafield: a product or variant metafield holding the number, such as custom.pack_size.
  • Number of items read from a variant option: the option whose value holds the number, such as “6-pack” in Pack size. A value without a number counts as 1.

When several rules match a product, the most specific one wins: variant, then option, product, metafield, tag and collection. In a list, the first rule wins. A rule also wins over the contents of a native bundle. Rules only apply to items the bar counts: an excluded product stays excluded.

After you change a tag, an option or a metafield in Shopify, the bar uses the new number within a few minutes. Discount tiers count packs the same way at checkout. In a Buy X, get Y tier, a pack fills the batch but is never the discounted item.

Quantity labels

On a quantity bar, the Quantity labels card (Order count labels on a past orders bar) sets how the bar writes numbers. {quantity} is replaced by the number; {number}, the threshold label variable, works too.

  • One item (singular) and Several items (plural): the values shown on the bar, such as “3 items”.
  • Remaining quantity (singular) and Remaining quantity (plural): the text in the progress message, such as “2 more items”.
  • Show only the number on the bar: “3” instead of “3 items”.

These labels apply to every tier of the bar. To change the text of a single tier, such as “3+ prints”, use its threshold label: see add a tier.

The fields come prefilled in your store’s main language and translated into its other languages, wherever the bar is created: at install, from a tier, from the Bars tab or through your AI assistant. Switching a bar to another measure (cart amount to quantity, quantity to past orders) moves the labels and translations you haven’t edited to the new wording; text you wrote is never replaced. Each field is translated or corrected from the translation icon at the end of the field. An older bar may only have your main language: add the others from that icon.

Maximum order amount

On a bar that counts the cart amount, the Maximum order amount card switches off the bar’s tiers above a cart amount, for example for large orders you quote yourself. It is optional: leave Maximum order amount empty for no maximum.

When the cart is above the maximum (a cart exactly at the maximum still qualifies):

  • None of the bar’s tiers apply. No discount, including the automatic Yaco discounts at checkout, and no free gift: a gift already in the cart is removed, as when the cart drops below its threshold.
  • The bar stays full and no tier shows as unlocked.
  • The message replaces the bar’s text. Message above the maximum takes the place of the progress text and of the bar’s success message, on the storefront and in the checkout block. {price} is replaced by the maximum, in the customer’s currency. Left empty, the bar stays full with no text.

Your other bars are not affected.

  • Enter the maximum in your store’s currency. It is converted to the customer’s currency at the exchange rate, without a per-market adjustment.
  • It must be above the threshold of every tier of the bar, otherwise saving is refused.
  • Switching the bar to another measure (quantity, weight…) removes the maximum.
  • The message is translated from the translation icon at the end of the field.

Example: tiers at 10% off from $300, 15% from $500 and 20% from $800, a $5,000 maximum and the message Orders over {price}: contact us for pricing. A $5,000 cart gets 20% off. A $5,200 cart gets no discount, and the bar reads “Orders over $5,000: contact us for pricing”.

Customer history bars: the common trap

A bar measured on customer history doesn’t measure the cart. Choosing it by mistake gives two typical symptoms:

  • The bar disappears in a private window. These bars are hidden from logged-out visitors.
  • The tier is reached as soon as the cart opens for a customer who has already ordered. The discount or free shipping is granted without adding anything.

Product and collection filtering doesn’t apply to these bars. To measure the cart, switch the bar’s measure back to Amount.

Bar total looks wrong? See wrong amount.

Something missing? Write to support@yaco.studio, or try it first in the demo.

Read next

Ready to try it on your store?

Install Yaco Progress Bar, set your first tier, and the bar shows up in your cart in minutes. No developer, no pop-up.

Try for free14-day free trial · free plan forever