On a discount offer or a bundle, the section headed When the agent may offer this code holds up to four conditions. The page's own summary calls this column When to offer.
Leave all four empty and the offer is always available. Set any of them and you are narrowing the moments Arbyn is allowed to bring it up. This article covers what each condition actually measures, because two of the four measure something slightly different from what their names suggest.
The four conditions
On screen | What it measures |
Minimum cart total | The subtotal of the shopper's real Shopify cart |
Customer type | Who the shopper is, by order history (see the Customer type article) |
Trigger only after the customer has been idle (seconds) | The gap between the shopper's previous message and this one |
Cart must include this product | Whether that product is in the shopper's real Shopify cart |
They all have to be true, and they never combine as "or"
Conditions combine as AND. Every condition you fill in must be satisfied at the same moment for the offer to be available.
Set Minimum cart total: 75 dollars and Customer type: Repeat customers only, and the offer reaches a repeat customer with a 75 dollar cart. It does not reach a repeat customer with a 40 dollar cart, and it does not reach a first-timer with a 200 dollar cart. If you want either of those to qualify, that is two offers, not one, and Priority decides which wins if both could apply.
Every condition fails closed
If Arbyn cannot establish the answer, the condition does not match and the offer is held back.
This is deliberate, and it is the behaviour you want when the thing at stake is a discount going to someone who did not earn it. But it explains most cases of "my offer never fires":
No cart yet? A Minimum cart total condition fails. Not "passes because zero is less than the minimum", and not "passes because we cannot tell". It fails, and the offer stays quiet.
Email not given yet? A Customer type condition fails, because Arbyn does not know who the shopper is.
Nothing in the cart? A Cart must include this product condition fails.
So the more conditions you stack, the earlier in a conversation the offer becomes unreachable. An offer with three conditions set is, in practice, an offer for a shopper who is already well into a purchase.
The cart these conditions read is the real Shopify cart
This is the distinction worth being careful about, because Arbyn has two cart-like things.
Minimum cart total and Cart must include this product both read the shopper's real Shopify cart. Not the chat bag.
The chat bag is the list of items a shopper collects inside the conversation while they browse with Arbyn. It becomes a real Shopify cart at the point items are actually added to the cart. Until that has happened, a shopper can have half a dozen things they like inside chat while their Shopify cart is still empty, and both cart conditions will fail.
If you are building an offer that should reach someone who is still assembling a shortlist in chat, do not use a cart condition for it. Use Customer type, or no condition at all, and let Priority and the Cap control how often it comes up.
Two smaller points on the same conditions:
Cart must include this product matches at the product level, not the variant level. Pick a product and any variant of it counts. There is no way to require one specific size or colour.
Minimum cart total is compared against the cart's own subtotal in the cart's own currency. If you sell in multiple currencies through Shopify Markets, a threshold you set with one currency in mind is compared against whatever currency that shopper's cart is priced in, without conversion. On a multi-currency store, set thresholds conservatively and check a real conversation before running a large campaign on one.
Idle time measures the conversation, not the cart
The filter chip on the list page reads After idle time, which sounds like a cart sitting untouched. It is not.
It measures the gap between the shopper's previous message and their current one. In other words: how long were they quiet before they came back and said something. The field's own help text on the form says this plainly, and it is worth repeating because the short label does not.
Set it to 1800 and the offer becomes available when a shopper who last wrote half an hour ago returns and writes again. It is a "welcome back" condition, not a "cart has gone cold" condition.
Two consequences:
It cannot fire on the shopper's first message. There is no previous message to measure from, so the gap is zero and the condition fails. An idle-time offer is always a second-message-or-later offer.
It does not watch a cart at all. If you want to react to a cart sitting untouched on the storefront, that is a Proactive trigger with the Cart abandoned kind, which is a different feature on a different page and genuinely does poll the cart.
What is not a condition
Two things gate an offer that do not appear in this section at all, and both catch people out:
Validity comes from Shopify, not from this page. A discount offer is usable only while Shopify itself reports it as Active and it has not passed its end date. Pausing or activating the row here does not make a dead Shopify discount live, and a discount that expires in Shopify stops being offered even though nothing on this page changed.
Show in decides the channel. An offer set to Perks is not available in chat, and one set to Off is available nowhere. Conditions only narrow within the channels you allowed.
Good to know
Bundles use the same four conditions with the same meanings. The evaluator is shared, so anything you learn here applies on the Bundles page too.
A conditional offer never appears on the Perks tab, even if Show in includes Perks. A Perks card is something any shopper can take with nothing to check first, so an offer with conditions attached stays in chat where Arbyn can confirm the condition is genuinely met before mentioning it.
The form warns you about duplicates. If another offer already targets the exact same set of conditions, the editor says so, because two offers competing for identical moments means one of them will rarely be chosen.
Empty is a valid answer. An offer with no conditions is an offer Arbyn can bring up whenever it judges the moment is right, bounded by the Cap and by Priority. That is a legitimate configuration, not an unfinished one.
FAQ
My offer has conditions and never fires. Where do I start? In this order: is Show in set to Chat or Both; does Shopify still report the discount as Active and unexpired; does the shopper have a real Shopify cart if you set a cart condition; has the shopper given an email if you set Customer type. Most silent offers are one of those four.
Does the chat bag count toward Minimum cart total? No. Both cart conditions read the real Shopify cart. Items a shopper has collected in chat do not count until they are added to the cart.
Can I require a specific variant, like a particular size? No. Cart must include this product matches any variant of the product you pick.
Is idle time about the cart or the conversation? The conversation. It is the gap between the shopper's previous message and their current one, so it never fires on a first message. For a cart that has gone quiet on the storefront, use a Proactive trigger with the Cart abandoned kind instead.
Can I make two conditions optional, so either one qualifies? No. Conditions are always AND. Build two offers and set Priority to decide which one wins.
