How often is the last section of the trigger form and the one that decides whether a trigger feels helpful or feels like being followed around a shop.
It also sits next to Priority, which is where this article has something uncomfortable to tell you.
The three frequency settings
Setting | What it means | Where it is remembered |
Once per session | Show at most once each visit | The browser tab. Cleared when the tab closes. |
Once per visitor | Show a single time, ever, per shopper | The browser, permanently |
Every time it matches | No cap, governed by the cooldown below | The browser, with a timestamp per trigger |
Once per session is the sensible default for most triggers. A visit is the natural unit: one offer of help per visit reads as attentive, and the same offer three times in one visit reads as broken.
Once per visitor is for things that only make sense once, such as a first-order welcome discount. Be aware what "ever" rests on: it is stored in that person's browser. Clearing browsing data, switching to a phone, or opening a private window all make them a fresh visitor who can see it again. It is a courtesy limit, not a guarantee.
Every time it matches hands control to the cooldown.
The cooldown
The cooldown only does anything when frequency is set to Every time it matches. On the other two settings it is ignored.
Unit: minutes.
Scope: per trigger, per browser. Each trigger remembers its own last-fired time, so a cooldown on one does not quiet another.
A cooldown of 0 means no gap enforced between fires.
In practice, most signals only evaluate once per page load anyway, so "every time it matches" mostly governs what happens as a shopper moves from page to page rather than what happens while they sit on one.
A reasonable starting point is a cooldown at least as long as it takes to read the opening message and decide, so 5 to 15 minutes for most offers. A short cooldown on a fast signal such as Inactivity is the configuration most likely to annoy someone.
When two triggers could both fire
Here is the part that matters most, and it is not what the Priority field currently implies.
Priority does not decide which trigger wins. The fastest one wins.
Every trigger you have active installs its own independent watcher. There is no queue and no first-match-wins arbitration. Each one fires when its own real-world condition is met, so the trigger that wins is simply the one whose condition arrives first in time.
A worked example, because this is easier to see than to describe:
Trigger A: Inactivity, 5 seconds, Priority 1.
Trigger B: Cart abandoned, 5 minutes, Priority 999.
Trigger A wins, every time, on every visit. Its condition is met 5 seconds in; B's cannot be met for another five minutes. The priority numbers change nothing.
What Priority actually does today is set the order the triggers are handed to the page. That has no bearing on which one's condition is satisfied first. The field's help text on the trigger form says higher numbers are evaluated first, and that wording promises more than the current behaviour delivers. We have logged it as a defect and this article will be updated when it changes.
What happens if two do fire close together
The first one to fire opens the chat and its opening message is the one the shopper reads. If a second fires a moment later, the chat is already open, so it opens nothing new and its message is quietly dropped. The shopper never sees it and nothing reports it.
How to actually control which trigger wins
Since priority will not do it, use the levers that will:
Make the conditions not overlap. This is the real answer. Give triggers different pages under Where it fires, or different audiences under Who sees it, so two of them are rarely eligible in the same moment.
Watch your fast signals. A short Inactivity or a low Time on page threshold will out-race everything. If you have a trigger you really want to land, do not run a 5-second inactivity trigger alongside it.
Use exclude rules. Excludes always win over the URL rule above them, so they are a precise way to carve one trigger out of another's territory.
Run fewer triggers. Three well-separated triggers beat eight overlapping ones, and are far easier to reason about later.
What happens after it fires
The shopper sees your opening message with two replies: accept, or decline.
If they accept, what happens depends on what you chose under What it says and does:
Just start a conversation hands the shopper to Arbyn as a normal chat.
Offer a discount code shows the code with a copy button and an Apply at checkout button. The discount is not applied automatically. The shopper has to tap Apply, and if their bag is empty the button tells them to add something first. If the discount is an automatic one with no code, there is nothing to copy and Arbyn tells them the price already reflects it.
Offer a bundle, Recommend a product or collection, and Start a product quiz each present that thing directly.
If they decline, they see your decline message if you wrote one, and the replies collapse quietly if you did not.
One thing worth knowing about declines: a decline is not remembered beyond that trigger. The trigger that was declined will not re-fire within the limits you set, but Arbyn does not carry "this shopper said no to a discount" into the rest of the conversation. A different trigger, or the agent itself later in the chat, may still raise an offer. If that matters to you, keep the number of offer-bearing triggers small.
Good to know
A trigger never interrupts a conversation in progress. If the shopper is already chatting, the opening message is dropped rather than inserted.
All the frequency limits live in the shopper's browser, so they are per device. The same person on a phone and a laptop gets a fresh allowance on each.
Duplicate a trigger from its row's Actions menu when you want a variant for a different page or audience, rather than widening one trigger until it overlaps everything else.
Nothing fires while the chat widget is off, and the page shows a banner telling you so.
FAQ
I set Priority to 999 and my trigger still does not win. Why? Because priority does not resolve collisions today. Whichever trigger's condition is met soonest opens the chat. Separate the triggers by page or audience instead.
Can two triggers fire in the same visit? Yes. Frequency limits are per trigger, so each one has its own allowance. Only one of them gets to open the chat at any given moment; a second firing while the chat is already open is dropped.
Does "once per visitor" survive someone clearing their cookies? No. It is stored in their browser, so clearing data, switching device, or using a private window resets it.
Does the cooldown do anything on "once per session"? No, it applies only to Every time it matches.
If a shopper declines, will Arbyn offer them something else later? Possibly. The declined trigger will respect its own frequency limit, but the decline is not remembered across the wider conversation.
