Field notes

How to Upsell and Cross-Sell Inside a Customer Conversation

Automation guide By plumcut Published 7 min read
Fresh produce laid out at a market

Photo by rick on Flickr, CC BY 2.0

Most retail upselling happens on a page where nobody is talking. A widget under the product image, a cart drawer, an offer wedged between order confirmation and the thank you page. It works well enough. But if a real share of your orders starts with someone messaging you to ask a question, then the place your customer actually said what they want is a conversation, and almost nothing on the market sells there.

There are four moments in a conversation worth an offer, and they are not equally good. Best is after the customer states a need but before they pick a product, because a recommendation is literally what they asked for. Second is right after they confirm, where a genuinely complementary item adds to a decision instead of questioning it. Third is when an objection appears that a different product actually answers. Fourth is after delivery, once the thing arrived and they are happy. One offer per moment, and a no ends it. The moment that always backfires is offering anything while a question of theirs is still unanswered.

The four moments, ranked

MomentOffer typeWhy it worksWhat kills it
Need stated, product not yet chosenA recommendation, including a better optionYou were asked for advice, so advice is not an interruptionRecommending something that ignores the stated need or budget
Just confirmed the purchaseA complementary itemAdds to the decision rather than reopening itOffering something more expensive, which reads as second guessing
An objection appearsA different product that answers the objectionSolves the actual blocker instead of arguing with itPushing the original item harder
After delivery, order went wellA refill, a matching piece, a reorderGoodwill is at its highest point and the product proved itselfSending it before you know the delivery went well

The ranking is the useful part. Most stores put all their effort into moment two, the classic add on at checkout, because that is where the tooling lives. Moment one converts better and needs no tooling at all, only someone who reads what the customer wrote.

What to say, concretely

Vague advice about being helpful is useless, so here are the shapes.

Moment one, a need stated. The customer says what they are looking for and roughly what they want to spend. The reply names two or three real options within that range, says plainly what separates them, and includes one slightly better option with the reason attached. Not "we also have a premium version" but "the larger one is 20 percent more and lasts about twice as long, which people buying it for daily use usually prefer". The offer is the reason, not the product.

Moment two, just confirmed. One item, obviously related, mentioned once. "Most people order the refill with this so they do not run out in a month, want me to add it?" If the answer is no, it is closed. Do not restate it in the confirmation message.

Moment three, an objection. The customer says it is too expensive, or the size is wrong, or delivery is too slow to their area. Each of those is answerable with a different product rather than with persuasion. A cheaper model, a different size, an item that ships from closer. Treating an objection as a product question rather than a sales obstacle is the whole technique.

Moment four, after delivery. This one has a rule attached. Only send it once you know the order actually arrived and nothing went wrong, which means it has to read your order and courier data. Sending a reorder prompt to someone whose parcel was lost is worse than sending nothing at all.

Where helpful turns into pushy

Three limits, and two of them are other people's rules rather than our opinion.

A declined offer ends the sequence. Not later in the same conversation, not in the confirmation message. Once.

Three consecutive offers is the documented ceiling, and a conversation should stay well under it. Shopify's own developer guidance for post-purchase product offers is to display a maximum of three consecutive upsell offers and to tailor them to the customer's actual behaviour. That is guidance for a page, where the customer is clicking rather than talking. In a live conversation there is a person on the other side and the practical limit is one.

Reaching back out later is a different thing with different rules. An offer inside a live conversation the customer started sits in the 24 hour customer service window, and non-template service messages there are not charged. Messaging someone after that window closes, a cart reminder or a reorder prompt, is a marketing message on the WhatsApp Business Platform. It needs opt-in and an approved marketing template, and it is charged per delivered message. We went through exactly where that line sits in the rules on WhatsApp cart reminders.

The cost consequence is worth sitting with. The offer made during a live conversation is the free one and the one that converts best. The one you pay for is the one you send to someone who already left.

The tools, and the surface each one sells on

plumcut sells in this category, so read this as a comparison published by a participant. Details are from each vendor's own pages, checked on 13 September 2026.

ToolWhere the offer appearsWhat you are billed on
RebuyProduct page, cart, checkout, post-purchaseOrders per month
LimeSpotProduct page, cart, checkout bundlesStore revenue tier
ReConvertCart, post-purchase, thank you pageTiered plans
SelleasyProduct page, cartTiered plans, free to install
AftersellCheckout, thank you pageTiered plans
Shopify post-purchase extensionsBetween order confirmation and the thank you pageBuild it yourself, beta access needed for live stores
ManychatIn the conversation, through flows and AI repliesActive contacts
plumcutIn the conversation, reading what the customer actually saidA fixed monthly fee, in bands

Two things fall out of that table.

Almost every upsell tool is billed on a proxy for your size. Orders per month, store revenue, plan tier by volume. That is defensible, and it also means the better the tool works the more it costs, at a rate set by your growth rather than by its contribution.

Only the bottom two rows put the offer where the customer is talking, and the difference between them is what decides the offer. A flow fires a preset offer when a preset condition is met, which is page logic moved into a chat window. Choosing the offer from what the customer actually wrote, including the budget they named and the objection they raised, is a different thing, and it is the reason a conversation is worth more than a page view in the first place.

How to automate it, and what it has to be connected to

An offer is only as good as what the system knows when it makes it. Four connections, in order of how much they matter.

Live stock. Offering something out of stock is worse than not offering. This is the one that breaks most often.

The product catalogue with real attributes. Size, price, what goes with what. Without relationships between products, a recommendation is a guess dressed up as advice.

Order history. It turns moment four from a broadcast into a reorder that makes sense, and it lets you stop offering someone the thing they already bought.

Courier status. The gate on moment four. No confirmed delivery, no offer.

On Shopify, WooCommerce and BigCommerce these connections are well trodden. If you run on Salla or Zid, both publish merchant APIs, but neither appeared on the Gorgias, Zendesk, Intercom, Siena or Tidio integration listings when we checked on 13 September 2026, so plan for a custom connection.

This is the part plumcut treats as the job rather than the setup, since it runs the build and the connections for you and the selling is the headline rather than a side effect of support deflection. Worth saying plainly: if you want to configure flows yourself and your traffic is small, a rule based tool is cheaper and you should take it.

What to do this week

  1. Read your last fifty conversations and mark where an offer would have been natural. You will find moment one is the most common and the least used.
  2. Write down five product pairs. What genuinely goes with what, in your catalogue, in your customers' words rather than your category names.
  3. Check whether your stock data is live. If it is not, fix that before you automate a single offer.
  4. Count how many of your orders started with a message rather than a click. That number is how much of your upsell opportunity your current tooling cannot reach.

Questions people also ask

When should you upsell in a customer conversation?

At four moments, in descending order of how well they work. When the customer has stated a need but not yet chosen a product, because a recommendation is what they asked for. When they have chosen and confirmed, where a genuinely complementary item is a natural addition. When they raise an objection that a different product actually answers. And after delivery, once the order arrived and the customer is satisfied. The moment that does not work is while the customer is waiting for an answer to something else, because an offer there reads as a business ignoring the question.

What is the difference between upselling and cross-selling?

Upselling offers a better or larger version of what the customer is already buying, such as a bigger size, a longer warranty or a higher specification. Cross-selling offers a different item that goes with it, such as an accessory, a refill or a matching piece. In a conversation cross-selling usually lands better after the customer has committed, because it adds rather than questions the choice they just made, while upselling works best before the decision is final.

How many upsell offers is too many?

Shopify's own developer guidance for post-purchase offers is to display a maximum of three consecutive offers. In a live conversation the practical limit is lower, usually one, because a conversation has a person in it and a declined offer repeated is experienced as pressure rather than as a second chance. The rule that holds in both places is that a declined offer ends the sequence.

Does it cost money to upsell a customer on WhatsApp?

It depends on when you send it. An offer made inside a live conversation the customer started falls in the 24 hour customer service window, where non-template service messages are not charged. Reaching back out later, for example a cart reminder or a reorder prompt after the window has closed, is a marketing message that needs opt-in and an approved marketing template, and those are charged per delivered message. The offer during a live conversation is the free one, and it is also the one that converts best.

Can AI upsell without annoying customers?

Yes, on three conditions. It only offers something that genuinely relates to what the customer said they want, it offers once and accepts a no, and it never places an offer in front of an unanswered question or a complaint. The failure mode is not automation, it is offering the same thing to everyone regardless of what they asked for. A conversation contains the customer's stated need in their own words, which is more than a product page ever knows.

Where do most upsell tools place the offer?

On a page. Product page widgets, cart drawers, checkout extensions and post-purchase pages between order confirmation and the thank you page. Apps such as Rebuy, LimeSpot, ReConvert, Selleasy and Aftersell all operate in those surfaces. That works for storefront traffic and it covers none of the customers who skipped the storefront and asked you directly in a message, which in many regional retail businesses is a large share of the buyers.

Don't take our word for it

Have a question? Ask plum.
See it for yourself

Ask plum where it would place an offer in your conversations, and where it would stay quiet.