It’s not infrequently that I’m asked for my advice on bargaining whilst traveling, particularly for those venturing to Morocco or Turkey. Here are my six golden rules, so to speak.
1) Go for what you love. Something that catches your eye and is beautiful to you can be your personal piece of art, and there honestly is not a value on that. Think about what it's worth to you, and be willing to pay that.
2) Spend time with sellers. Drink tea with them, and coffee too. They want to sell to you, but are also interested in learning about you, and helping you find something that you want to bring home.
3) Most sellers of rugs absolutely love the pieces they sell (I have never met anyone who sells rugs that doesn't). The geek out looking at photos of rugs on their phones when they aren't selling, and genuinely have a passion for textiles and preserving these pieces. They do this for love, but also need to make a living! Try to re-frame and think that they are not swindling you, but rather trying to share the love, and support their family.
4) Try to avoid arriving to a rug seller via a tour guide. It typically doesn't begin or end well.
5) Be thoughtful when you haggle. Do you really need that last $10, $100, etc off, or can you live with just paying a little more? If you have the money to get to Turkey and Morocco, you can probably afford to pay them.
6) If there is someone who is assisting the owner in showing you rugs, tip them. They work hard and even if you don't buy anything, a tip is hugely appreciated.
In business, I am always respectful, courteous and kind to anyone I buy from. This goes a long way. I have seen plenty of tourists who think they are bargaining kings/queens, or approach the time like they are "getting screwed" and honestly, it's never pretty. It's just not the right approach, and sellers won't love you if you come from that approach. They know all the types of customers there are, and you will probably go better, see cooler pieces, and pay what you believe you should if you just smile a lot, and have a good time.