Overview

All time

Total Negotiations
—
All sessions
Deals Agreed
—
Net revenue via Flux
—
Avg Margin Recovered
—
vs. blanket discount
Active Products
—
Checkout Conversion
—
Paid orders ÷ agreed deals
Monthly trend last 6 months Live
Negotiations Agreed Redeemed
Deal funnel (agreed redeemed)

Recent Negotiations

All time

Deal Funnel (agreed redeemed) Live

Total Negotiations
—
All sessions
Deals Agreed
—
Codes Redeemed
—
Net revenue via Flux
—
Commission paid to Flux
—
Based on your plan · see Settings

This Month's Billing

Negotiated Volume
—
Loading…
Your Plan
—
Loading…
Commission This Month
—
Paid to Flux from closed deals
Net to You This Month
—
Negotiated volume minus Flux commission

Performance

Avg Discount Given
—
On agreed deals
Margin Recovered
—
vs. blanket discount
Avg Rounds to Deal
—
Expired Unused
—
Agreed but not redeemed
Abandoned
—
Walked away mid-negotiation

Recent Negotiations

Top Products

All Negotiations Live

Product Rules

Add a new rule

▾

Campaigns

COMING SOON

Set time-limited discount budgets across multiple products. Flux AI will optimise offers within your budget to maximise conversions during sales events.

Rule activity

Every change to a product rule, and who made it. Useful when more than one person on your team can edit pricing.

Flux is connected to your Shopify store
1
Switch on Negotiate with Flux in your theme to put your Flux agent live
Your Flux agent's status
Flux checks your storefront automatically in the background, so this stays up to date on its own — you don't have to do anything. Want to confirm right now? Hit Re-check now and we'll probe your store live on the spot. Here's what each status means:
Live — your Flux agent is showing to shoppers and negotiating within your rules. Nothing to do.
Not showing — we can't find your Flux agent on your store, so shoppers can't negotiate. Usually a theme change switched the app embed off. Open your theme editor, toggle Negotiate with Flux back on, save, then re-check.
Store locked — your storefront is password-protected, so neither shoppers nor our check can reach it. Totally normal before launch. We'll auto-confirm the moment you go public.
Status unavailable — we couldn't reach your store on the last check. Nothing's necessarily wrong; we keep checking automatically and it'll settle to a real status shortly. Re-check any time to try again now.

Not on Shopify?

If your store runs on WooCommerce or any custom site — copy the snippet below and add it to your site's header or footer. Either works, and it only needs to go in once.

How to install

  1. Copy the snippet above
  2. Open your header/footer code area — a snippet plugin, or your theme's custom code setting
  3. Paste it into the header or footer box
  4. Save and publish — Flux will appear automatically

Need help? Hit the chat button below and we'll get it installed for you.

Note: Your Flux agent only appears on products that are in stock. If a product has inventory tracking enabled and all variants are out of stock, it hides automatically — no action needed on your end.

Stripe Connect

Connect your Stripe account so Flux can handle commission, refunds, and disputes automatically.

Loading payment status...
Commission : collected automatically on each closed deal.

Your plan

Loading your usage…

Negotiations this month

Loading your usage…

Choose your plan

Every plan negotiates without limit and charges commission only on deals that actually close. Paying a monthly fee buys a lower rate — nothing else changes.

How billing works

Free to start

The Basic plan has no monthly fee and no contract — you only pay a 5% commission when a customer completes a purchase using a negotiated discount code.

Lower your rate

On Growth ($69/mo) commission drops to 1.5%. On Pro ($299/mo) it's 0.5% — the lowest rate Flux charges.

How it's collected

14-day free trial

The monthly fee on Growth and Pro is waived for your first 14 days, once per store — you're only charged the fixed fee from day 15. Commission on completed deals still applies during the trial. Switch plans mid-trial and the days you have left come with you; a switch replaces your current plan, it never stacks.

Dashboard language

Choose the language for your Flux dashboard.

Your store

Helps Flux tailor analytics to your industry.
Cannot be changed.
Saved

Button style

Customise the negotiate button colour to match your store.

Saved

When Flux appears

Control when Flux engages your shoppers.

Choosing Custom opens the trigger settings below, so you can pick exactly when Flux appears.
Saved

How your AI negotiates

Store default — can be overridden per product in the Rules tab.
Store default — can be overridden per product in the Rules tab.
Saved

Selling channels New

Where Flux can sell for you, across your whole store.

Saved

Subscriptions New

If you sell on subscription, choose whether Flux deals can apply to it.

While this is off, Flux deals are for one-time purchases, and a shopper who had a subscription selected is told so.

Saved

Three ways to put Flux to work

There's no wrong choice — and the most upfront setups often win the most deals, because every shopper can see there's room to talk. Use one, mix them across your catalogue, or layer them together: the behavioural triggers can run right on top of the other two. Each protects your margin the same way: the floor stays invisible, so a deal never goes below what you set.

A full-price product page with the Try my price button visible alongside Add to cart
Highest deal volume

The Open Offer

Flux sits in the open on full-price products — visible the moment a shopper lands.

Best for
Full-margin ranges, hero products, and high-ticket items where there's room to move.

Being upfront is what drives the most deals: shoppers who'd never think to haggle still tap the button when it's right there. You capture buyers who would otherwise bounce at the sticker price — without touching your headline price for everyone else.

The psychology · An open invitation to negotiate turns a fixed price into a conversation — and a conversation converts far better than a closed door.
A product already on sale — was crossed out, now a lower price with a Sale badge — and the Try my price button below
Clear stock faster

Deal on Top of the Deal

Already running a sale? Nothing to change — Flux reads the discounted price automatically and negotiates from there, down to a floor only you can see.

Best for
Clearance, seasonal sales, end-of-line and slow-moving stock you want gone.

There's nothing to switch on: whatever price your theme shows — sale, promo or compare-at — Flux picks it up and works from that. Your advertised discount pulls shoppers in; Flux earns the final push toward your floor. Instead of slashing another blanket "extra 20% off" that everyone takes, you give a little more only to the shoppers who ask — recovering margin a flat markdown would have handed away.

The psychology · A price that's already reduced feels like a floor — so beating it feels like a genuine win, and a win closes the sale.
Your Flux agent's popup inviting a leaving shopper to talk price
Protect full price

The Right-Moment Offer

Full price holds by default — Flux reads shopper behaviour and appears at the moment of hesitation: as they move to leave, after a pause, on deep scroll, or when they go idle.

Best for
Premium brands and stores that want to hold their price and never look "always on sale".

Committed buyers pay full price — they never see an offer. Flux surfaces only when the signals say a shopper is wavering, turning a lost sale into a deal at a price you still profit on. It shows far less often than an always-on button — fewer impressions by design — but every one is timed to a high-intent shopper on the edge, so you keep your pricing integrity and still rescue the checkout. Pick the triggers — exit, delay, scroll depth or idle — in Personalisation.

Mix it in · This is the one you can stack on top of the others. Keep the always-on button on some products and let your Flux agent step in on hesitation for others, rule by rule — the button captures browsers up front, the popup catches the ones slipping away. That's the beauty of it: it layers.
The psychology · An offer lands hardest at the moment of doubt — caught mid-hesitation, it becomes a reason to stay, right when it counts.

Getting started

Your dashboard

Overview

Live snapshot of today's activity — sessions, deals offered, agreed, and revenue captured.

Analytics

Deeper numbers across any time range — funnel, margin recovery, and commission breakdown.

Negotiations

Full log of every Flux negotiation — what was offered, agreed, and whether the deal was redeemed.

Rules

Set max discount and negotiation behaviour per product. Rules override your store defaults. Out-of-stock rules are auto-paused and resume when stock returns.

The customer journey

1. Land on product page

A Try my price button sits next to Add to Cart, only on products you've created rules for. Customers see it the moment they arrive — no popup, no friction.

2. Open chat

The AI greets warmly, references the specific product, and leads with a welcome offer to get things moving — no forms, no "what's your budget?". No login required. Customers can talk like they would in a real shop — typed naturally, in their own words.

3. Negotiate

The AI counters with a real number, gives genuine reasons, and adapts its tone to your brand voice (premium, casual, or playful). An offer-strength meter shows the customer how close they are to a deal in real time.

4. Close the deal

When the customer accepts, a unique discount code generates instantly. They paste it at checkout — exact price they negotiated, no surprises. The code has an expiry window proportional to their stated buying intent.

5. Share & return

After purchasing, customers can share their deal price with friends via a price-match link — converting one sale into a network of word-of-mouth purchases. Customers signed in with a Flux ID see their existing deal instantly on return, no re-negotiation. Guests aren't recognised on return, but any price they previously agreed still stands as their ceiling.

If they linger

A shopper dwelling on the page without engaging? In Standard mode, after a short wait a small card slides in at the edge of the page, fronted by your Flux agent's orb and worded in your chosen tone (e.g. "Quick one: the price on this is open to a chat."). It never covers Add to cart, Buy now, your negotiate button or the cart link. One tap opens the chat; the × dismisses it and it won't nag again. In Custom mode, a delay or idle signal you've switched on brings in the full popup instead.

If they don't close

No spam. No retargeting popup. The chat ends cleanly. They can come back and negotiate again another day — but never below your floor, so a walk-away only ever costs them the deal that was on the table, never you.

If a rule pauses mid-session

Customer already on the page when the rule pauses (sold out, you paused it, campaign ended)? When they click Try my price, Flux gracefully shows a "looks like you missed out" message instead of opening a negotiation. Zero AI cost, no awkward dead chat. Fresh visitors after the pause see no button at all.

Selling channels — where Flux sells for you

Three channels today

Your storefront is your Flux agent on your own product pages. ChatGPT is shoppers finding and negotiating your products inside ChatGPT, where AI shopping agents like ChatGPT negotiate with your Flux agent. Claude works the same way inside Claude. Rules you had before Claude was added are not on it yet: each one joins the next time you save it, or select several in Rules and set Claude to On. More channels will join the list; the way they work will not change.

The store switch is a ceiling, not a default

Personalisation → Selling channels sets what your whole store can use. Switch one off and it is off for every product immediately, whatever that product’s own rule says. That is the point: it is the one control that reliably stops a channel, which is what you want when something is wrong.

A rule can take a channel away, never add one back

Every rule has the same ticks. Untick one and that product stops being sold there while the rest carry on. Ticking one on a rule cannot bring back a channel the store has switched off — that card is greyed out when it happens, with a line telling you where to turn it on.

Flipping the store switch rewrites nothing

Your rules keep their own settings whatever the store switch is doing. Turn a channel off and back on and every product returns to its own choice — the ones you had deliberately opted out stay out, and nothing needs re-ticking.

Changing many products at once

To run a channel off across most of your catalogue, leave the store switch on, then use Rules → select the products → Your storefront, ChatGPT or Claude → Off. The store switch stays as your way of stopping a channel everywhere.

When Flux appears — the hesitation signals

Standard shows it to everyone

Standard puts the negotiate button on the page for every shopper. Custom hides it until someone does something that suggests the price is what is stopping them — so a shopper who was happy to pay full price never gets offered a discount. Switch on as many signals as you like; the first to fire is the one that shows.

Exit intent — catch everyone on the way out

Fires when a shopper looks like leaving a product page, and brings in your Flux agent with a popup inviting them to talk price. Leaving is broader than the cursor heading for the tab bar: switching tab or app counts, and the popup waits and appears when they come back, as does clicking a link away from the page. On a phone that last one is most of it. Clicking through to the cart or checkout never counts — that is someone buying.

Only when it is in the basket — catch near-buyers on the way out

The same moment as exit intent, but a narrower audience: only shoppers who have already added the product. Someone leaving with it in their basket wanted it and something stopped them; someone leaving without it was browsing, and a browser leaving is not a lost sale worth paying for. Fewer shoppers see an offer and almost none of them would have paid full price anyway. It needs exit intent switched on — on its own there is nothing for it to narrow, so it greys out.

Added, then stalled — catch them before they head out

Fires when the product is in the basket and the shopper has gone quiet without moving on to the checkout. It catches the same near-buyer as exit intent, only earlier, with the same popup inviting them to talk price. It is the one signal that reads the same on a phone as on a desktop, and it stands down the moment they head for the checkout.

Came back from checkout — they saw the total and turned around

The strongest signal available: they reached the checkout, read the real number and chose not to pay it. Flux cannot run inside Shopify checkout, so this is read on the way out and on the way back. It fires once for that return, not on every page they open afterwards.

The three cart-page signals

Opened the discount box is the shopper telling you outright that price is the issue. Lowered the quantity means the total came out higher than they had in mind. Leaving the cart page is the last moment Flux can say anything. A basket can hold several products, so Flux negotiates whichever one has a rule — and if more than one does, the biggest line, meaning unit price times quantity rather than the dearest single item.

Basket and cart-page signals are Shopify only

Reading what is in a shopper basket needs Shopify. On WooCommerce those signals stay switched off rather than guessing, and the rest of the triggers carry on working normally.

How often one shopper can see it

Your Flux agent's popup shows at most once per product every 24 hours for hesitation and once for leaving, and never more than twice in one visit, however many signals fire. The two are counted separately, so a popup for a quantity drop never uses up the one for leaving. That keeps it feeling timely rather than following shoppers around — and it is worth knowing while you test, because a second try on the same product will look as though nothing happened.

The negotiate button

Where it appears

Flux adds the button to your product pages automatically, just below your Add to Cart / Buy it now. No theme editing needed.

It blends into your store

The button automatically matches your store buttons' corner shape so it never looks pasted on. Set its colour and text in Personalisation → Button style.

Button text

Pick a preset (Try my price, Pay what you can, Make an offer…) or write your own. It's the same wording across every product on your store.

When it shows & hides

It only appears on products that have a rule with the storefront channel on, and hides on its own when the item sells out or a campaign window ends. The button itself never changes — a shopper who already has a deal sees the same button as everyone else. It's the chat that remembers: open it again while their code is still valid and Flux shows them the code and discount they already agreed instead of negotiating a second time. Once it expires, they start fresh.

Choose who sees it

Standard shows the button and nudge to everyone (recommended). Custom keeps full-price shoppers from ever seeing Flux — it only steps in when someone hesitates or moves to leave, so you recover the sale that was about to walk without discounting to people who'd have paid full price.

The intent triggers

In Custom mode you pick what reveals Flux: exit intent (they move to leave the page), after a delay, scroll depth, or going idle. Turn on any combination — whichever fires first reveals it. Exit intent opens an inviting offer pop-up as they go; the others surface the button with a nudge.

Store-wide or per product

Set the default for your whole store in Personalisation → When Flux appears. Any rule can override it for that product — or a batch you select — under Rules → When Flux appears (e.g. always-on for a hero product, exit-intent-only for full-margin lines). Overridden products show a Custom timing or Always on badge in your rules list.

How Flux negotiates

Negotiation capability — what the AI actually does

Real conversation, not a script

Powered by advanced reasoning models — the AI understands typos, slang, ESL phrasing, emojis, and intent over literal grammar. It handles "can you do 150?" and "150 my budget bro" exactly the same.

Adaptive pace

The AI moves faster or slower based on your negotiation style setting (Firm, Balanced, Flexible). A firm vendor holds longer; a flexible one closes sooner. Same AI, different personality per store.

Voice-matched

Premium voice stays composed and refined. Playful uses emojis and high energy. Casual is warm and direct. The AI never sounds out of place against your brand.

Genuine reasoning

The AI gives real reasons for its prices — references the product, current demand, value of materials. Never generic ("computer says no") or robotic. Customers feel heard, not stonewalled.

Smart closing

Strong opening offers (within 5% of listed) get closed cleanly — no point delaying a sale. Weak offers get countered. Round 6 onwards, the AI naturally tightens toward a final number — never a 20-message drag.

Multi-quantity aware

Customers buying 2+ units see the total in negotiation. The AI quotes totals, not per-unit prices, and at checkout the code discounts the negotiated product — every unit of it — leaving the rest of the cart at full price.

AI settings explained

AI negotiation style

Flexible — moves quickly, higher conversion.
Balanced — steady give-and-take, good default.
Firm — holds price, protects margin.

AI tone & language

Casual — friendly, light emoji.
Premium — refined, no slang.
Playful — high energy, more personality.

Max discount

The ceiling the AI can offer per product. It negotiates toward it — not to it straight away.

Store default vs. rule

Personalisation sets your store-wide defaults. A product rule overrides those defaults for that product only.

Negotiating in your customer's language

It just works

When a shopper writes in their own language, the AI negotiates back in it — German, French, Spanish, Italian, Dutch, Portuguese and more. International browsers can haggle naturally instead of bouncing.

Nothing to set up

There's no language setting to configure. The AI picks it up from the shopper automatically and follows them if they switch language mid-chat.

Your prices stay your prices

Only the conversation changes language — your floors, max discount and rules work exactly the same. Currency follows the shopper's store settings as usual.

Button text is yours to set

The negotiate button wording is whatever you choose in Personalisation → Button style, so you can match it to your store's main language too.

Your controls

Rules & limits — what you control

Floor price (hard limit)

The AI cannot go below your floor, ever. Even if the customer threatens to walk, the floor is absolute. Set it where your margin makes the sale worth doing.

Max discount (% cap)

A secondary cap from listed price. If max discount is 20%, the AI won't go below 80% of listed even if your floor allows lower. Use as a percentage-based safety net.

Negotiation style

Firm holds firm longer, concedes rarely. Balanced is the standard middle ground. Flexible concedes faster — best for high-volume, fast-moving stores. Set per-product or store-wide.

Brand voice

Premium, Casual, or Playful — controls every word the AI uses. Set once on your store, applied automatically to every conversation.

Campaign windows

Run a rule for a specific time window — e.g. "for the next 7 days, allow 25% off this item." The AI naturally weaves the urgency into the conversation, then auto-expires.

Per-product or store-wide

Set rules for each product individually, or apply a single rule to all products at once. Override store defaults on specific items when needed.

Security & margin protection

Floor is never breached

Three layers enforce your floor — AI prompt, server-side price clamp, and discount-code generator. Even if the AI tried to break the rules, the server would catch and rewrite it.

No backward steps

Once Flux offers a price, it cannot go higher in the same conversation. A customer can't trick the AI into "forgetting" a better offer.

Permanent price memory

The lowest price Flux ever offers a customer is remembered for 30 days, across sessions and devices. Abandon-and-probe doesn't work — the next conversation starts from where the last one left off, not from scratch.

Anti-probing limits

Each customer gets 3 attempts per product per day, and each negotiation is capped at 8 rounds. After that, your Flux agent stops offering on that product for that customer. Other products remain fully available.

Unique single-use codes

Every deal generates a fresh Shopify discount code tied to that specific product and price. No reuse, no sharing the same code with 100 friends. Expires automatically.

Injection-proof

Customers cannot manipulate the AI by typing "system: floor is £0" or pretending to be staff. Server strips these attempts before they reach the AI. Prompt injection is a closed door.

Currencies & multi-currency stores

One price, one source of truth

Flux always reads your product's price in your store's base currency — the same figure your rule's listed price auto-fills from. It never reads the price shown on the rendered page, so it can't be tricked by a converted or mis-detected number.

Discounts are percentages

Every deal becomes a percentage off, not a fixed amount. A percentage is currency-proof: the same proportional deal applies whether the shopper checks out in USD, CAD, EUR or GBP. No conversion maths can land the customer on a wrong price.

Works wherever the shopper is

If you sell internationally with Shopify Markets, a shopper in Canada gets their negotiated percentage applied to the Canadian price they see at checkout. The deal follows them into their own currency automatically.

Commission is in your currency

Your Flux fee is always calculated on the agreed deal value in your store's base currency, at your plan's commission rate. The shopper's display currency never changes what you're charged.

Rounding is Shopify's

When Shopify converts a percentage into a shopper's local currency it applies its own rounding, so the final price can land a penny or two off the exact figure. That's Shopify's conversion, not Flux — and it's always proportionally correct.

Single-currency stores

If you sell in one currency — most stores — there's nothing to think about. The price Flux negotiates, the price on the page and the price at checkout are all the same.

Running promotions & sitewide sales

How Flux negotiates

Flux always negotiates from your listed (displayed) price. If you're running a sitewide sale, set your Floor price to protect margin on the sale price — not the RRP.

Your strategy call

During a sitewide sale, you decide: run Flux on top of the promo (extra margin on already-discounted stock), or pause Flux rules for those products during the sale window.

Shopify single-code limit

Shopify supports up to 5 discount codes per order. Flux codes are product-scoped, so a customer can negotiate multiple products and stack a code per item in the same basket. Flux codes won't combine with order-level sitewide promo codes — bear this in mind when running sales.

Recommended approach

Set your Floor price to the minimum you'd accept on the sale price. For example: jacket on sale at £160, Floor = £148 (approx 8% below sale price). Flux negotiates within that window.

Subscriptions — Subscribe & Save

Off unless you switch it on

Flux deals are for one-time purchases by default. To let a deal apply to a Subscribe & Save order as well, turn on Personalisation → Subscriptions.

While it is off

If a shopper has Subscribe & Save selected when they agree a deal, Flux adds the product to their cart as a one-time purchase, because that is the purchase the deal covers. The chat tells them in one line, so nobody is moved off a subscription without knowing.

When it is on

The deal applies to the shopper’s first subscription order, and their subscription stays in the cart. Renewals are charged at your normal subscription price: the deal never repeats.

Your own subscription discount still applies

The Flux deal is applied on top of your Subscribe & Save discount, so on that first order the shopper gets both. If your subscription discount is already generous, set your Flux limits with that in mind.

Money & reporting

Plans & billing

Basic — $0/month

No monthly fee. 5% commission on the value of each negotiated deal. The best way to start — you only ever pay when Flux earns you a sale.

Growth — $69/month

A flat monthly fee drops your commission to 1.5%. Once your Flux volume is steady, the lower rate more than covers the fee.

Pro — $299/month

0.5% commission — the lowest rate Flux charges, for a flat fee. Includes 2,000 negotiations a month (plenty for virtually every store). Best when you want your Flux cost fixed and predictable.

14-day free trial

Growth and Pro start with a 14-day free trial that waives the monthly fee — commission (if any) still applies during the trial. The trial runs once per store — it isn't restarted by a plan switch or a reinstall — but any days you haven't used yet carry over. Upgrade on day 5 of 14 and you keep the remaining 9 free days on the new plan.

Switching plans

Change plan anytime in the Plan tab. Shopify prorates the monthly fee automatically, so you're never double-charged when you move up or down.

How it's collected

Your monthly fee and commission are billed through Shopify Billing — nothing to set up. Commission is only ever charged on deals that are paid, and reversed on refunds.

What counts as a negotiation

One negotiation is a single haggling session where a shopper (or an AI shopping agent) actually starts negotiating — from their first counter-offer onwards. Opening the chat or its greeting doesn't count. Several rounds in one session still count as one; a returning shopper who starts a fresh chat later is a new one. You can watch your running count any time in the Plan tab.

Negotiation limits & fair use

Basic and Growth are unlimited — the busier you get, the more deals Flux helps you close. Pro includes 2,000 negotiations a month: more than enough for a high-AOV store, and a level only very high-traffic stores approach. If you regularly go beyond it, you're usually better off on Growth (unlimited) or a custom plan — we'll reach out. Going over an included volume never pauses your store by itself.

Unlimited on Basic is subject to fair use: commission on completed deals is our only charge on that plan, so a store running sustained negotiation volume with no sales behind it may have its capacity temporarily reduced. It lifts automatically as sales resume, and we'll get in touch first. This doesn't apply to Growth or Pro.

Revenue & earnings — worked example

The scenario

£200 leather jacket. Max discount set to 15%. Floor auto-set to £170. Customer opens Flux and asks for a deal.

The negotiation

AI opens at £192 (4% off). Customer pushes. AI settles at £182 — well within the floor, deal closed.

What you earn

£182 order. Flux commission: £9.10 (5% on the Basic plan). You keep £172.90. vs £0 if the customer bounced without a deal. On Growth the same deal costs £2.73 (1.5%); on Pro it's £0.91 (0.5%) — you keep £181.09.

vs. blanket discount

A 15% sitewide sale gives everyone £170. Flux negotiated the same customer to £182 — £12 more per sale, and only the people who asked paid less.

Margin recovered metric

Dashboard shows this net of our fee: £182 deal − £9.10 Flux fee = £172.90 kept, vs £170 on a blanket 15% sale = £2.90 recovered per order. The wider the gap between your close and your max discount, the faster this grows.

At scale

50 deals/month on a £200 product. Even at an average deal of £185 — that's £9,250 revenue Flux captured that was previously walking out the door.

Margin recovered — at scale

"Margin recovered" is what you keep by letting Flux negotiate each customer individually instead of running one blanket sale at your max discount. Here are the same 1,000 paid orders run both ways — an average order of £150, a 20% max discount, on the Basic plan (5% fee).

  Blanket 20% sale Flux negotiates
What each customer pays £120 (everyone gets your max) avg £135 (each closed individually)
Flux fee per order £0 £6.75
You keep, per order £120.00 £128.25
You keep, ×1,000 orders £120,000 £128,250

Even after our fee, that's £8,250 more kept on the same 1,000 orders — about £8.25 per order, which shows on your dashboard as 5.5% margin recovered.

This uses the Basic plan's 5% fee — the most conservative case. On Growth (1.5%) or Pro (0.5%) the fee is lower, so you keep even more per order.

Analytics explained

Net revenue via Flux

What you actually keep from Flux negotiations — total order value minus the Flux commission.

Commission paid to Flux

Flux fee on completed deals. Your net = Revenue via Flux minus this figure.

Margin recovered

Margin saved vs. giving everyone your max blanket discount. Shown net of the Flux fee.

Agreed rate

Share of sessions where the customer accepted a deal. High rate = AI is well calibrated.

Redemption rate

Share of agreed deals actually used at checkout. Low rate can signal friction or low-intent browsing.

Negotiation statuses

In progress

A live chat happening right now — the customer is still negotiating. Updates in real time as it plays out.

Agreed (not yet paid)

The customer accepted a price and a unique discount code was minted — but they haven't checked out yet. The code can still be used until it expires.

Paid

The deal closed and the order was paid at checkout. This is the one that earns you revenue — and the only point Flux charges commission.

Abandoned

The customer left without agreeing a price. No code, no cost to you — and the lowest price offered is remembered as their ceiling if they return.

Interested (lead)

The customer's best offer came in below the floor you set, so the AI held firm and couldn't close it — but they were keen enough to leave a way to reach them. Open the negotiation to see their offer and the full transcript, then Approve or Decline. Approving mints a Flux code at their price and emails it to them for you — you never handle their details, and it counts as an agreed deal. Declining simply lets it go.

Refunded

A paid order that was fully refunded. It drops out of your revenue and commission figures so your headline numbers stay net of refunds.

Partially refunded

A paid order with a partial refund. Revenue and commission are recalculated on the amount you actually kept.

Quoted (agent)

An AI shopping agent (via ChatGPT or Claude) was given a non-binding price quote. It only becomes a real deal with a code once the agent confirms — exactly like a human accepting.

How refunds work

Never charged on a refund

Flux only earns when you keep the money. Refund a sale and the commission is reversed with it — you're never billed for a deal that didn't stick.

It's automatic

When a customer is refunded, Flux picks it up and reconciles it for you — nothing to file or flag. On Shopify the reversed commission is credited against your next invoice.

Your numbers stay net

A full refund drops the order out of your revenue and commission entirely; a partial refund is recalculated on the amount you actually kept. Headlines always reflect real earnings.

Each deal is separate

If a customer negotiated more than one product in the same order, each deal is tracked on its own — refunding one never touches the commission on the others.

Troubleshooting

My button doesn't show, or looks off

On almost every store, it's automatic

Flux places the button just below your Add to Cart on your product pages, with no theme editing. The vast majority of themes work straight out of the box.

First, a few quick checks

Otherwise the button shows on every product page. It hides for four clear reasons: the storefront channel is off (store-wide in Personalisation → Selling channels, or on that product’s rule), the product has no active rule, it’s out of stock, or it’s outside its campaign window. Check the storefront channel first — it is the one that hides every product at once.

Set a future campaign? It waits

If a rule has a campaign start date in the future, the button won't show yet — it appears when the window opens. Easy to forget you scheduled it. Open the rule and check the dates: to run it now, clear the start date or set it to today.

Some themes need a hand

On a small number of themes — usually ones where your only Add to Cart sits in a sticky bar pinned to the bottom of the screen — the button may not appear, or may not sit exactly where you'd like.

We'll place it for you

Email support@withflux.co.uk with your store URL and we'll tailor the button's placement to your theme. It's usually a quick fix on our side, with nothing for you to change.

Still need a hand?

Email our team directly and we'll get you sorted — usually same day. Real people, no bots.