How to handle price objections when “too expensive” arrives as a one-line message
Yevhen Kurapov, co-founder · Updated Oct 23, 2026
Don't discount on the first “too expensive”. Reply the same day, ask what they're comparing with, say what the price includes, offer the smaller option or payment in parts if you really have it, and let it go politely when the budget isn't there. Decide your discount rule before the message arrives, not in the middle of a chat.
A queen hybrid mattress on a small Shopify store in Grand Rapids, Michigan: $1,290. Late one night the chat on the product page gets one line, "1290 for a mattress?? lol". Tom, who owns the store with his sister, sees it the next morning and, half awake, types "I can do $1,150 for you". Nobody answers. A week later two more people ask for "the $1,150 price" because a friend mentioned it.
Across town, a wedding photographer gets "that's way over our budget 😬" in her Instagram DMs and doesn't reply at all, because she can't think of anything to say that isn't a discount or a lecture.
Neither of them had a reply ready. A price objection in a message is one line, often sent late, with no tone of voice to read, and most of this page is about what to send back.
What “too expensive” usually means
Shoppers compare, and they expect prices to move. In a 2026 survey Dynata ran for Akeneo, a company that sells product-information software, 46% of 1,000 US consumers said they compare prices across several retailers when shopping online and only 9% typically buy without comparing. The same survey found 79% had delayed a purchase because they expected the price to drop, and only 32% mostly or completely trust retailers to offer a fair price.
Ask people why they left a cart and the comparison shows up again. In a 2023 YouGov survey for commercetools of 4,581 US and UK adults, 19.5% cited a better deal elsewhere and 14.9% were waiting to see if it went on sale. And sometimes it isn't your price at all but the total: in Baymard Institute's research, 40% of US online shoppers who abandoned an order (leaving out those just browsing) did so because extra costs like shipping, tax and fees were too high.
So one word, "expensive", can mean four things: there's something cheaper, I'll wait for a sale, the total surprised me, or I really can't afford it. Your first job is finding out which one you got.
Replies that work in a chat
Each of these is short enough to save as a reply on your phone. Change the details; keep the length.
Ask what they're comparing with
This is the reply to send first, almost always. It's not a trick; you genuinely don't know yet.
Fair question. What are you comparing it with? If you send me the link, I'll tell you honestly how they differ.
Sometimes the other mattress is a foam one at half the weight, and you can say so. Sometimes it's the same thing cheaper, and you've learned something about your pricing.
Say what the price includes
People compare the number they can see. Yours might include things the other one charges for, and in a DM they don't scroll your FAQ to find out.
The $1,290 includes delivery and setup, taking away your old mattress, a 100-night trial and a 10-year warranty. A lot of online prices don't, so it's worth checking theirs.
For a service, list what's in the package in plain words, hours and deliverables first:
The full day is up to 10 hours with a second shooter, at least 600 edited photos in an online gallery, and an engagement session. Happy to walk you through how it compares with a shorter package.
Offer the smaller option
Don't argue for the big one. Show the next one down and let them choose.
If you'd like to spend less, the Linden is our hybrid at $899 and the Aspen all-foam is $599. Happy to tell you how they differ.
Payment in parts, if you have it
If your checkout offers paying in installments, say so once, plainly. If it doesn't, don't invent a plan in the chat that your bookkeeping can't handle.
You can also split it into four payments at checkout, with nothing extra on top.
Let reviews answer for you
Arguing about quality in a chat rarely convinces anyone. Other customers do. Send the link to your reviews, or one review that talks about the thing they doubt.
Know when to let it go
Some people can't spend $1,290 this month, and no reply will change that. Once you know it's the budget and not a comparison, stop selling and send something like this:
Totally understand, it's a big purchase. If it's not the right time, no pressure at all. I'm here if you want to look again later.
Discounts: decide before the message comes
The worst moment to decide a discount is first thing in the morning on your phone, which is how Tom ended up with a $1,150 price he never chose. And once one person got $140 off for pushing, the next person who pushes expects it too, while everyone who didn't push paid more for the same mattress.
Write the rule down once: when you discount, by how much, and what you get in return. A weekday wedding, the floor model, a discontinued fabric, payment in full up front. "I can do that price for a Thursday date" ties the lower price to a reason. Anyone who answers your messages should be able to apply the rule without asking you.
Reply the same day, even when the answer is the same price. By the next morning, a person who heard nothing has usually asked another store. When you can't settle it in the chat, the lead capture guide covers getting a number for a callback, and our customer service reply templates have thirty more replies to save.
What ChatPal does with price questions
ChatPal's assistant doesn't negotiate, and whether to discount stays your decision. Its part is narrower.
On a connected Shopify store it answers "anything cheaper?" or "under $900" from your catalog. In the chat on a product page it knows which product the visitor means, so "cheaper than this one" works without explaining. It calls something a sale only when your store shows a previous price ("$899, was $1,049") and never makes up a discount or a code. For a service business it explains what the price includes from your own price list.
A bulk or wholesale request gets a request for a name and phone number so you can send the price. A customer who wants to haggle can be passed to you: set a category such as "asks for a discount" to hand off, and the chat waits in Chats → Handed off to a human.
Two price conversations
In Tom's shop the Linden Hybrid is marked down in the store from $1,049 to $899, and a category "asks for a discount" is set to hand off to the owners. A visitor on the Harbor Hybrid's product page opens the website chat late at night.
A made-up example, not a recorded chat. The replies follow the rules the assistant works by.
Client: 1290 for a mattress?? anything cheaper than this one
Assistant: Here are the closest ones below the Harbor Hybrid's $1,290:
[Card: Linden Hybrid, queen · $899, was $1,049 | Birch Foam, queen · $749 | Aspen Foam, queen · $599]
Client: ok but could you do the harbor for 1000
Assistant: I've handed this to the team. They have your message and will reply to you here in this chat.
The "was $1,049" is on the card only because Tom's store shows that old price. The offer of $1,000 lands in his handed-off chats, where he can apply the rule he wrote down.
The photographer's version runs on her price list instead of a catalog:
Client: why is the full day $3,600?
Assistant: The full day is up to 10 hours with a second photographer, at least 600 edited photos in an online gallery, and an engagement session.
Client: do you have something smaller?
Assistant: The 6-hour package is $2,800, with one photographer and at least 350 edited photos in an online gallery.