Docs · Troubleshooting

Why is my tier discount not applied at checkout?

Usually a discount code or another automatic discount that does not combine, a product discount lowering the subtotal, or a tier set to Goal only.

· Markdown versionEN · FR · ES · DE

A discount code or another discount does not combine

Shopify stacks two discounts only when both allow it. This is the most frequent cause, and it is set on both sides.

  1. In the Shopify admin, open Discounts, then the code or automatic discount that wins over the tier.
  2. In its Combinations section, tick the class of the Yaco discount: order discounts for a percentage or amount off, product discounts for a free gift.
  3. Save, then test the cart again.

The tier's own Combines with line, in the tier card, must also allow the other discount's class: a struck-through class doesn't combine, click Edit to tick it. Tier discounts combine with product, order and shipping discounts by default.

No code is needed for this to happen. An automatic discount of your own, or one created by another app (a free shipping offer, for example), can win over the tier without the shopper doing anything. For a discount from another app, change its combinations in that app. If you have too many codes to edit one by one, write to support.

Video · Combine a Yaco discount with a discount code or other automatic discount · 0:55

A product discount lowers the subtotal

By default (After product discount), the tier is checked on the subtotal after product discounts. Example: a $264.99 item with $40 off leaves a $224.99 subtotal, so a "Spend $150" tier applies, not "Spend $240". The bar counts the same way, so what it promises is what checkout applies.

To reach tiers on original prices:

  1. In the tier card, click the threshold amount in the tier's sentence.
  2. In the menu under the amount, choose Before all discounts.
  3. Click Save.

On one bar, one tier applies per kind of discount: the highest percentage tier reached, and the highest amount-off tier reached. A percentage tier and an amount-off tier add up, and so do tiers on different bars when each discount allows the other's class. See discount tier. The exception is a tier tested with a Shopify rollout: in its bar, Shopify keeps the best discount (see below).

The tier is set to Goal only

With Goal only, the app shows the tier on the bar but creates no Shopify discount: you are expected to create the matching automatic discount yourself in Discounts. To let the app apply it, choose Goal + automatic discount in the tier card, then Save.

A tier imported at installation is set to Goal only: it shows your own Shopify discount. If that discount was deleted in Shopify, the tier shows a Shopify discount deleted warning and is turned off: see install.

The shopper is not eligible

The discount follows the tier's targeting.

  • A tier limited to customer segments is never applied to guests: a visitor who is not logged in belongs to no segment. To keep a tier away from B2B buyers, use the customer type B2C rather than a segment.
  • Tiers limited by country, market, active dates, cart attributes or traffic source are not discounted when the condition is not met.
  • After changing segments, click Save so the Shopify discount follows.

See targeting.

The discount is in a Shopify rollout

In the Shopify admin, Markets › Rollouts lets you schedule a discount or test it on part of your traffic. While a rollout runs, it takes over from the tier's settings: the tier's status and active dates no longer decide who gets the discount.

What the bar shows depends on the share of shoppers who get the discount:

  • Every shopper gets the discount: the tier is shown, even if it is turned off in Yaco or outside its active dates. Your other settings still apply: markets, customer targeting and so on.
  • Only some shoppers get it: the bar shows the tier wherever the Yaco block or placement of the shopper's theme shows it, with its usual Goal filter. List the tier in the block of the theme served to the group that gets the discount: this is how you A/B test a tier, see the next section. Checkout and recommendations keep it hidden. If no Yaco block or placement lists the tier, Yaco shows the error Not listed. If the rollout publishes no theme, every shopper sees the same bar: Yaco shows the warning No theme.
  • No shopper gets the discount: the tier is hidden.
  • The tier is blocked by your plan: it stays hidden even if a rollout activates its discount. Remove the discount from the rollout, or upgrade.

When the rollout ends, the tier's own settings apply again.

In Yaco, while a rollout runs, the tier's status says what the bar does with it, followed by the share of shoppers who get the discount (the same figure as the Status column of the Shopify discount list): Shown · 100%, Hidden · 0% or A/B test · 50%. A rollout that is only scheduled leaves the usual status. Next to it, the rollout icon (green dot while a rollout runs) lists the tier's rollouts with their end date; click one to open it. A separate badge flags what to fix: Not listed, No theme or Blocked by plan. In the tier settings, the active dates are managed by the rollout and can't be edited. If a free gift still isn't free in a shopper's cart, Yaco removes it so it's never charged.

A rollout can also be limited to some markets, but Shopify doesn't share this setting with apps. Copy it in Yaco: in the tier settings, each rollout shows its share of traffic and dates, then one column per group (control and treatments), like the rollout page in Shopify: its share, whether it gets the discount, and the theme it sees with an Edit theme button. Below, click Edit next to Eligibility to pick its markets: they are grouped by type (regions, B2B…) and you can search them by name. Until you do, Yaco assumes the rollout covers every market. The setting applies to every tier in the rollout. The online store is always concerned; on point of sale, Yaco follows the Apply on POS option.

After an app update, Shopify asks you to approve a new permission the next time you open Yaco: accept it so the app can read your rollouts.

Test a tier with a Shopify rollout

A rollout can publish another theme to one group of shoppers, and each shopper gets the theme and the discounts of the same group. So you can A/B test a tier: one group sees it in the bar and gets the discount, the other keeps your usual bar. Yaco doesn't link the two for you: the Yaco block of each theme decides which tiers it shows.

  1. In the Shopify admin, duplicate your live theme.
  2. Open the copy in the theme editor. In its Yaco progress bar block, set Goal filter to Show only specific goals, then tick the tier you test and the tiers you keep. Same for a placement that shows the bar on this theme.
  3. On your live theme, make sure the Yaco block leaves the tested tier out: with Show only specific goals, leave it unticked; with Hide specific goals, tick it. With Show all goals, the tier also shows there, to shoppers who don't get its discount.
  4. In Markets › Rollouts, create an Experiment. In the treatment that gets the discount, publish the duplicated theme and activate the tested tier's discount. Both go in the same treatment.
  5. Start the rollout. In Yaco, the tier shows A/B test followed by the share of shoppers who get the discount, for example A/B test · 50%.

What shoppers see:

  • On the duplicated theme, the bar shows the tested tier and the checkout applies its discount.
  • On your live theme, the bar shows your other tiers as usual.
  • At checkout and in recommendations, the tested tier stays hidden for everyone, along with the other tiers of the same bar that offer the same kind of discount (percentage or fixed amount): the checkout can't tell which group a shopper is in. Free gifts still show.
  • If a shopper reaches the tier without getting its discount (a theme that shows it to both groups), Yaco hides the tier for the rest of their visit and removes an unpaid free gift.

While the test runs, the tiers of that bar with the same kind of discount as the tested tier no longer combine with order discounts. Shopify keeps the best discount. In practice, these tiers don't stack with your order discount codes, and the shopper gets the biggest saving, not always the highest tier. Everything goes back to normal on its own when the rollout ends.

Not listed

The rollout gives the discount to only some shoppers, but no Yaco block or placement lists the tier, on your live theme or on the themes the rollout publishes. Open the theme served to the group that gets the discount, set the Goal filter of its Yaco block to Show only specific goals and tick the tier. In the tier settings, the group that gets the discount says so, and its Edit theme button opens that theme in the theme editor.

A block set to Show all goals still shows the tier, but to every group: Yaco only counts a list that names it. After you fix the block, the error clears once you save the theme in the theme editor.

Yaco can't fix this for you: Shopify doesn't let apps edit rollouts, and Yaco never changes your themes. The tier settings give you the links.

No theme

The rollout gives the discount to only some shoppers, but none of its treatments publishes a theme. Every shopper sees the same theme, so the same bar: shoppers who don't get the discount also see the tier. If one of them reaches it, Yaco hides it for the rest of their visit.

To show the tier only to the group that gets the discount, duplicate your live theme, add the copy to that treatment in Markets › Rollouts, then list the tier in the Yaco block of the copy: follow the steps in Test a tier with a Shopify rollout above. If every shopper may see the tier, you can ignore this warning.

The Shopify discount is missing or out of date

Each tier creates an automatic discount in Shopify. If it was deleted from the Discounts page, or no longer matches your settings, open the app and click Save: saving recreates and realigns the discounts.

If saving shows You've reached the limit of 25 app-based automatic discounts, Shopify's cap of 25 automatic discounts per app is reached. Delete the tiers you no longer use, then save again. A tier that offers both a product and a discount uses two.

Some items are not counted

Items left out in the bar's What is counted card (excluded products or collections, gift cards, one-time or subscription purchases) do not count towards the threshold. With the default scope, the discount applies to the order subtotal minus the lines the bar does not count. See discount tier.

The cart is above the bar’s maximum order amount

A bar that counts the cart amount can have a Maximum order amount. Above it, none of the bar’s tiers apply, at checkout too, and the bar shows its Message above the maximum instead of its progress text. A cart exactly at the maximum still gets the discount. To change or remove the maximum, open the bar: see bars.

The order was not placed on the online store

The bar and the tier discounts work on the online store only. Draft orders, point of sale, the Shop app and payment links are out of the app's reach.

Buy X, get Y: no discount or the wrong item

For a Buy X, get Y tier, check in this order:

  • The batch is not complete. Items whose line already has a discount (a code or another automatic discount on the product, a Yaco gift) don't count. The bar shows the same count as checkout.
  • Another item is discounted. With Last item added, a cart created without the bar (Buy it now button, direct checkout link) gets the cheapest item discounted instead. Two items added within the same second are read in the order of the cart lines.
  • An item costs less than the set price. With At a set price, an item that already costs less is not discounted.
  • The tier shares its bar. Saving is refused until the tier has a bar of its own: click Give this goal its own item bar under the offer sentence.

Free shipping is not applied

A Free shipping tier follows its own checks: its mode, a threshold checked after all discounts by default, the shipping country, another shipping discount that takes its place, and its combinations. See free shipping bar, section Free shipping not applied at checkout.

An A/B test is running

Visitors in the group without the bar of an A/B test get no Yaco discount or free shipping: it is what the test measures. Your own discounts and discount codes still apply to them. Once the test ends, they get Yaco discounts again from their next visit to the store.

Still stuck?

Write to support@yaco.studio with:

  • your store URL and the name of the tier;
  • the order number, or a screenshot of the cart and checkout;
  • the discount code used, if any;
  • the steps to reproduce.

To speed things up, open Settings › Discount diagnostics in the app and click Grant access: our support team can then see what the discount received and returned.

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