How Ikea tricks you into buying more stuff

The home furnishings giant enlists a maze-like layout, cheap food, and crafty psychology to get you to fill up your cart.

On a recent Saturday afternoon, Alex Santos journeyed to his local Ikea with a singular mission: the procurement of a new Poäng chair.

It was a simple in-and-out task. But 3 hours later, the 37-year-old IT manager found himself in the parking lot, slightly stupefied, with a shopping cart full of hand towels, throw pillows, and martini glasses.

“It’s like Ikea makes it impossible to leave with only the stuff you came here for,” Santos told The Hustle.

He isn’t wrong.

It’s estimated that 60% of Ikea purchases are impulse buys. And Ikea’s own creative director has said that only 20% of the store’s purchases are based on actual logic and needs.

Zachary Crockett / The Hustle

All of this unplanned buying has earned Ikea an enviable position in the struggling retail landscape. As of 2021, it boasts:

  • ~$47.6B USD in annual retail sales
  • 458 stores in 61 markets
  • 775m store visits + 5B web visits per year
  • 225k global employees

On the surface, this success may seem a bit perplexing because Ikea’s way of doing business is extremely unorthodox.

It sells meatballs and lamps under the same roof. It has been described as both “Disneyland for adults” and “a nightmare hellscape.” And the idea of spending an afternoon stuck in a one-way maze — then going home and assembling your own bookcase — isn’t exactly appealing.

But these eccentricities are intentionally engineered to get you to make unplanned purchases, and come back for more.

Enjoying this article?

Get the Hustle’s 5-minute weekday roundup that keeps you hip to happenings in tech, business, and internet… things.

Let’s start with that ridiculous store layout

In general, retailers design their stores with 3 goals in mind:

  1. Intelligibility: Easy to understand the floor plan
  2. Accessibility: Easy to navigate
  3. A clear visual field: Exposure to products and the lay of the land 

Most companies use store layouts that give customers the freedom to explore at their own will.

Commonly used configurations — grid, racetrack, freeform, and spine — don’t have defined routes: You can wander down any aisle you please, in any order you want.

Zachary Crockett / The Hustle

Ikea breaks all of these rules.

Inside, customers are led through a preordained, one-way path that winds through 50+ room settings. The average Ikea store is 300k sq. ft. — the equivalent of about 5 football fields — and their typical shopper ends up walking almost a mile.

Want a lamp? You’re going to have to walk past cookware, rugs, toilet brushes, and shoehorns to get there.

This serves several purposes:

  1. It forces wider product exposure: At most retail shops, customers only lay eyes on ~33% of all the items for sale; Ikea’s layout herds shoppers past its entire catalog.
  2. It creates a false sense of scarcity: When shoppers pass by items they’re on the fence about, they’re inclined to just put them in the cart because they don’t want to backtrack through the maze later on.
  3. It creates a sense of mystery: Every 50 feet, the path breaks left. Shoppers never know what’s around the next turn, stoking their desire to continue exploring.

Alan Penn, a professor of architecture at University College London who has studied Ikea’s layout, calls it a “psychological weapon” used to drive unintended consumption.

“Going to Ikea is truly a submissive experience,” he told The Hustle. “You relinquish control to its maze. And when you’ve done that, you’re more likely to hand over control of your wallet, too.”

Zachary Crockett / The Hustle

Ikea has mastered the use of a psychological principle called the Gruen effect — when the layout of a store is so bewildering that it makes you forget the original reason you came there, leading to impulse buys.

Jeff Hardwick, who wrote a book on the Gruen effect, told The Hustle that the principle is at play all around you at Ikea.

“You get lost in that maze, and then you are surrounded by nothing but ever-changing fantasies of what your life could be like,” he said. “It’s like you can walk into a magazine advertisement and pick up the dishes, sit on the couch, try out the desk chair. It’s very tactile and participatory.”

Lost in this stupor, you might find it easy to fall victim to some of Ikea’s other tricks:

  • Strategically placed mirrors: When you catch a glimpse of yourself in an Ikea room, you’re primed to believe you belong in it.
  • Contextual positioning: Rooms are set up exactly as they would be in a natural setting. Familiarity encourages purchasing. 
  • “Bulla bulla” (dump bins): Ikea places overstuffed crates of dirt-cheap products (plush toys, slippers, pillows) along the route to reinforce the idea that its products are a good deal.

If you look closely, something else you’ll likely see at play in Ikea is decoy pricing: when a retailer throws a less appealing option into the mix to make other products seem like a better deal.

Let’s say there are 2 cabinets for sale: a $40 budget unit, and an $80 unit with more premium materials. Ikea might create a 3rd unit — one that offers neither the low price of the budget unit, nor the premium materials of the pricier unit — to make the others look better.

Studies have shown that the decoy effect can increase retail sales by as much as 14%.

Zachary Crockett / The Hustle

Strategies like this help explain why we buy more stuff once we’re inside an Ikea.

But what brings us there in the first place — and what ultimately dictates many of our spending decisions — is the allure of affordable prices.

Ikea works hard to keep prices low

Ikea often follows a “price first, design later” philosophy: It starts with a price target — say $6.99 for a new stool — then reverse-engineers the design process to meet that goal.

And once an Ikea product hits the shelves, the company is militant about maintaining, or even reducing, its retail price.

Researchers at Boston University and the Wharton School studied hundreds of Ikea catalogs in 6 different countries between 1994 and 2010 and found that many of the company’s products get cheaper over time

Take, for instance, Ikea’s uber-popular Poäng chair — a product that sells 1.5m units per year: In 1994, it went for $179 (~$340, adjusted for inflation). Today, it’s $129.

Zachary Crockett / The Hustle

The Hustle looked back at newspaper ads from 1985 and found that this holds true with other bestselling Ikea products, too:

  • The Billy bookcase — a product so beloved that one is sold every 5 seconds — retailed for $82 in 1985. Today, it goes for $50.
  • The Lack side table came with a $25 price tag in 1985. Now, it can be had for $13.

Ikea seems to adhere to a “survival of the fittest” pricing model: If a product’s price can’t be reduced over time, it tends to get discontinued. (There are exceptions to this: In 2022, Ikea says it will raise its prices by ~9% to offset pandemic-related supply chain woes.)

Zachary Crockett / The Hustle

The main ingredient of the company’s affordability is a technique called flat packing.

The company reduces manufacturing, logistics, and fulfillment costs by disassembling items and fitting pieces together in a box as tightly as possible. “We hate air” is a common mantra at Ikea: Every pocket of space is accounted for and minimized.

“Ikea designs products with manufacturing and transit in mind from the get-go,” said Katelan Cunningham, of the logistics software company Lumi. “They design for the realities of the supply chain, rather than having to make sacrifices for it.”

Obsessive changes in packaging have saved Ikea millions of dollars:

  • When Ikea transitioned its Ektorp sofa to be flat packed, it shrunk its packaging for that product by 50%, reduced its logistics by 7,477 truckloads, and led to a 14% price reduction for consumers.
  • Repackaging the Jules office chair by separating the base and the seat saved the company ~$1.4m per year.

The obvious downside to flat packing is that consumers have to assemble their own furniture — but even offsetting labor works in the company’s favor.

The Ikea effect

There’s a running joke that assembling Ikea furniture with a loved one is a surefire way to get a divorce.

The reality, though, is that Ikea’s furniture building model likely contributes to, rather than inhibits, overall sales.

In a 2011 Harvard Business School study, researchers divided subjects into 2 groups: One was given pre-assembled origami, and the other was given paper to build their own origami. At the end of the experiment, subjects were asked how much they’d pay for the creations.

The result: Those who built their own origami were willing to pay nearly 5x more than the non-builders.

The researchers dubbed this the Ikea effect: a cognitive bias wherein we place a higher value on items we build ourselves, regardless of the quality of the end result.

Zachary Crockett / The Hustle

This phenomenon harkens back to an old tale about cake mix.

In the 1950s, manufacturers noticed that powdered cake mix sales were suffering. All the consumer had to do was add water. But this process was too easy: It removed the effort and emotion from baking. When manufacturers took out the egg powder and made consumers add their own fresh eggs to the mix, sales went back up.

Furniture and food are, of course, different beasts. But at Ikea, they enjoy a symbiotic relationship.

Food courts drive furniture sales

Ikea may be a home furnishings store, but it also reels in ~$2.4B in food sales per year (~5% of its overall revenue).

To put that into perspective: If you were to look at Ikea’s food operation as a stand-alone entity, it would rank as one of the 50 highest-grossing food chains in the world, right above IHOP.

A typical Ikea has 2 dining options that can accommodate 600+ diners at a time:

  1. A Swedish food market on the main floor that serves up meatballs, gravlax salmon, and other Scandinavian entrees.
  2. A bistro near the exit that slings hot dogs, cinnamon buns, pizza, and other fast-serve favorites.

Why, you might ask, are there food courts in a furniture store?

When Ikea’s founder, Ingvar Kamprad, originally integrated food courts into his stores back in 1958, his rationale was simple: “It’s difficult to do business with someone on an empty stomach.”

But the more direct answer is that there is a clear link between food sales and furniture sales.

In a 2012 study, researchers in Italy set out to determine the impact of Ikea’s food courts on furniture buying. A survey of 700 shoppers found that those who ate at the food court spent an average of more than 2x more on home furnishings than those who didn’t.

Zachary Crockett / The Hustle

Chris Spear, a former Ikea restaurant manager who now hosts the podcast Chefs Without Restaurants, told The Hustle that the food courts actually aren’t a very profitable venture in their own right.

“I was clearly told that profit margin was not something I should be aiming for in the restaurant,” he said. 

The real objective, he claims, is to reinforce Ikea’s low price profile of the store.

Spear said that when he worked at Ikea, it had a policy that certain food items, like hot dogs, had to be the lowest price within a 30-mile radius. Each quarter, corporate would send him out to assess the competition; if Costco sold a hot dog for $1.50, Ikea would have to sell it for less.

A person might not know if $500 is a good price for a couch, but they surely know that $0.99 is a fantastic deal for breakfast. The idea is that customers will associate Ikea’s low food prices with the store’s other offerings.

“Ikea might be selling some of that food at cost, or even at a loss,” said Spear. “But it’s worth it to lose money on scrambled eggs if it means helping them sell more couches.”

Ikea declined a request for comment. But Gerd Diewald, who once ran Ikea’s food operations in the US, echoed a similar sentiment in the past.

“We’ve always called the meatballs ‘the best sofa-seller,’” he told Fast Company in 2017. “When you feed [customers], they stay longer, they can talk about their purchases, and they make a decision without leaving the store.”

Zachary Crockett / The Hustle

Santos — the guy who went to pick up a $129 Poäng chair and left with a full cart of goods — has a slightly different take on the food courts.

After falling prey to Ikea’s labyrinth of affordable housewares and spending $297.20 more than he intended to, he stopped at the restaurant to cleanse his guilt.

“Nothing washes away buyer’s remorse like a plate of Swedish meatballs,” he said.

Get the 5-minute roundup you’ll actually read in your inbox​

Business and tech news in 5 minutes or less​

Psst

How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

[email-submission-form button-text="Join Free" include-trends-opt-in="true" success-url="https://thehustle.co/new-thank-you-v2/" default-source="thehustleco" default-medium="home-exit-popup" default-campaign="home-page" form-id="exit-popup-general" optinmonster-conversion="true"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function getCookie(name) { var cookieArr = document.cookie.split(";"); for(var i = 0; i < cookieArr.length; i++) { var cookiePair = cookieArr[i].split("="); if(name == cookiePair[0].trim()) { return decodeURIComponent(cookiePair[1]); } } return null; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); if (utmName == 'ref') { var newVal = searchParams.get(utmName) || getCookie(cookieName); } else { var newVal = searchParams.get(utmName) || getCookieValue(cookieName); } if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission'); Array.prototype.forEach.call(wrappingDivs,wrappingDiv => { var sp = new URLSearchParams(window.location.search); setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home-page'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', 'home-exit-popup'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('validate-email-message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; error.style = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('email-submission'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; captchaVersion.name = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); captchaEl.id = 'verify-your-humanity'; subForm.prepend(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = 'https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit'; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } window.addEventListener('DOMContentLoaded', (event) => { initForm(); }); if(typeof hp_interval == 'undefined') { var hp_interval = 0; var hp_ts = 0; var hp_try = 0; jQuery(document).ready(function ($) { hp_interval = setInterval(function(){ $('input.hp_ts').val(hp_ts); hp_ts += 1; if(hp_ts >= 180) { clearInterval(hp_interval); } },1000); $('.email-submission:not(.prevent-default)').submit(function (e) { var form = $(this); if(hp_ts < 3 && hp_try < 1) { e.preventDefault(); if (form.find('.email-form-submit-message').length < 1) { form.find('.email-form-wrap').after('<p class="email-form-submit-message" style="padding: 0em 1.5em;">Too fast! Are you a human? Try again please.</p>'); } hp_try += 1; hp_ts = 0; $('input.hp_try').val(hp_try); } }); }); } </script> <div class="email-signup" id=email-submission> <div class="funnel-error" style="display:none;"></div> <form class="email-submission " id="exit-popup-general" action="https://cms.thehustle.co/api/v1/contacts/wordpress_create" method="post" autocomplete="email"> <div class="email-form-wrap"> <input class="funnel-source hidden-input" type="hidden" name="source" value="pocket-newtab"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="home-page"> <input class="funnel-medium hidden-input" type="hidden" name="medium" value="home-exit-popup"> <input class="funnel-form-id hidden-input" type="hidden" name="form-id" value="exit-popup-general"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-ip-country-wordpress hidden-input" type="hidden" name="ip_country_wordpress" value="US"> <input class="funnel-submission-url hidden-input" type="hidden" name="submission_url" value="https://thehustle.co/how-ikea-tricks-you-into-buying-more-stuff/?utm_source=pocket-newtab&fbclid=IwAR2ugjoeAsb1bfIIOWlnO_QKBTNJmd9-rLBtEn-r0LeHdXGj3tL9TX9FHlg"> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value="https://thehustle.co/new-thank-you-v2/"> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <div class="signup-icon" style="display:none;"> <svg width="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6Zm-2 0-8 5-8-5h16Zm0 12H4V8l8 5 8-5v10Z" fill="#848B92"></path></svg> </div> <input type="hidden" name="hp_ts" class="hp_ts" value="0"> <input type="hidden" name="hp_try" class="hp_try" value="0"> <input type="text" name="first_name" placeholder="Enter your name" value=""> <input class="signup-email" type="email" name="email" placeholder="Your email address" required autocomplete="email"> <input class="email-submit om-trigger-conversion" type="submit" value="Join Free"> </div> <div class="validate-mistake-emails-message" style="display:none;"></div> <div class="form-options" style="display:none"> <div class="form-options-wrap"> <div class="trends-opt-in"> <input id="trends_opt_in_email_submission" class="trends-opt-in-checkbox" type="checkbox" name="trends_opt_in"> <label for="trends_opt_in_email_submission" id="trends_opt_in_label" class="trends-opt-in-text">Yes, I’d like to receive additional marketing emails on hot business opportunities from Trends, by the Hustle.</label> </div> <div class="privacy-text"> <p>We're committed to your privacy. The Hustle uses the information you provide to contact you about our relevant content and services. You may unsubscribe from these communications at any time. For more information, check out our <a href="https://thehustle.co/privacy">Privacy Policy</a>.</p> </div> </div> </div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>