They open
A slider bounded between 50% and 95% of list, so the first bid is always a sensible one.
Name your price
A slider, a counteroffer, and a hard stop underneath it all. The shopper feels like they won something. You never sell below the number you set.
Try it
The counters below come from the same maths the app runs, with a floor at 90% of list. Try to get under it.
Started · make an offer
The Complete Snowboard · list US$699.95
Hey there! 👋 Fancy a fairer price? Let's chat!
Powered by Symbiotic
Demo negotiator. Real counters are computed on our server.
How a round works
A slider bounded between 50% and 95% of list, so the first bid is always a sensible one.
A concession curve walks from list toward your floor, conceding least in the early rounds.
Or they counter again. Accepting early costs them more than grinding, which is the honest trade.
The final round lands on your floor and never under it, whatever sequence of offers arrived.
Single-use, scoped to that product, expiring with the deal timer.
A visible timer on the struck deal, which closes the sale and makes a leaked code worthless.
Guardrails
A rule is an instruction some code path might miss. An invariant is the last thing that happens before a price is returned, on every path, with no branch around it.
A counter that goes up after a shopper concedes reads as bad faith and ends the conversation. Each counter is anchored to where the curve places the price already quoted, then clamped so it can never exceed the last one.
The concession is bounded by the shopper's own movement, so repeating the same number returns the same price. Without that, the optimal shopper strategy is to wait, and the negotiator walks itself to the floor.
Read the arithmetic in full on the concession curve post.
Every plan starts with a 7-day free trial and carries the whole product. See them on the pricing page.
Add to Shopify →Questions
It replaces a fixed price with a short negotiation. The shopper proposes what they would pay, and the store answers with a counteroffer. Symbiotic runs that exchange on the product page and mints a single-use discount code for whatever price the two of you settle on.
You set a margin floor: the lowest price you will accept on that product. The negotiation engine clamps every counteroffer, every final round and every stacked reward above that number, and a property-based test runs the engine over thousands of randomly generated negotiations to check that the floor never breaks.
No. The counteroffer never moves further in a round than the shopper just did, so a low opening bid does not buy a large concession. A shopper who repeats the same number gets the same price back, and the counter never rises above the previous one.
No. Counteroffers come from a deterministic concession curve, so the same offer always produces the same answer and you can reproduce any price a shopper was given. AI is used once, at setup, to draft the negotiator's greeting and counter lines for you to edit.
The deal mints a single-use Shopify discount code scoped to that exact product, applied on the way to checkout so nothing has to be copy-pasted. It expires with the deal timer, so a screenshot shared later is worthless.
Any of them. The negotiator, the floor and the basket goals all work on a standard Shopify plan. Only the native checkout UI extension, on our Scale plan, requires Shopify Plus.
Set the lowest price you'll take, price the favours, and let shoppers work their way down to it.