Skip to content
Product cover

When Unhappy Customers Strike Back on the Internet

After finding his guitar badly damaged through United Air Lines' baggage handling, and after enduring
nine months of fruitless attempts to secure restitution from the company, an exhausted customer retaliated by posting a YouTube video about his misadventure. A year later, the video has become viral and generated more than 9 million hits. This musician's course of action is but one example of a bona fide
movement; and not only is online public complaining becoming more prevalent, this form of customer
response could also be very costly for companies. So what can companies do to deal with online complainers? Based on their eight years of research, the authors summarize their understanding of this phenomenon and provide actionable recommendations. They organize their conclusions into a two-bytwo
matrix. First, the matrix's rows differentiate between (1) understanding complainers' motives and
behaviors and (2) recommendations whereby offending companies may change those behaviors. Second,
the matrix's columns distinguish between the before and after of the online complaints, as motives and
behaviors change over time. The authors' recommendations highlight how companies can prevent, or at
least reduce, online complaining, and how companies should respond after an online complaint happens
anyway. In particular, they show that the best way to avoid the triggers of online complaining is to
develop fair processes and a triage system for initial non-online complaints. Also, they show that companies should respond to online complaints as quickly as possible--in any case, no later than four
weeks after the online complaint posting--and that the nature of the apology should depend on the
type of customer involved.
Purchase Options

Educator and Student Discounts Available. Learn more »

  BENCHMARKS  
Loading Time: Base Classes  0.0006
My Controller Construct  0.0004
Build Nav  0.0019
Controller Execution Time ( Products / Route )  0.0729
Total Execution Time  0.0735
  GET DATA  
No GET data exists
  MEMORY USAGE  
1.5679 MB
  POST DATA  
No POST data exists
  URI STRING  
store/when-unhappy-customers-strike-back-on-the-internet
  CLASS/METHOD  
products/route
  DATABASE:  MITSLOAN_DEV   QUERIES: 68  (Hide)
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0009  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '8182153543e7c249c9fbf16d311668a7'
ORDER BY `created_atDESC 
0.0002  

SELECT SQL_CALC_FOUND_ROWS cat_id
FROM 
(`product_categories`)
WHERE `status_id` =  'A'
AND `url_friendly` =  'when-unhappy-customers-strike-back-on-the-internet'
AND `parent_id` =  
0.0033  

SELECT c.parent_idc.format_id
                    FROM products 
AS pproducts AS c
                    WHERE p
.prod_id c.parent_id AND
                        
c.avail_id IN ('A','B','D') AND
                        
c.type_id 'V' AND
                        (
                            
c.sku 'when-unhappy-customers-strike-back-on-the-internet' OR
                            if(
c.format_id 'Certificate'''p.url_friendly) = 'when-unhappy-customers-strike-back-on-the-internet'
                        
)
                    
LIMIT 1 
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  697 
0.0004  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '697' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '697'
ORDER BY `sortAS
0.0001  

SELECT `cat_id`
FROM (`product_categories__products`)
WHERE `prod_id` =  '697' 
0.0003  

SELECT *
FROM (`product_flags__products`)
WHERE `prod_id` =  '697' 
0.0002  

SELECT `sku`
FROM (`products__xsell`)
WHERE `prod_id` =  '697'
ORDER BY IF(position 010) AS, `position
0.0325  

SELECT `products`.`parent_id`
FROM (`transaction_lines`)
JOIN `productsON `products`.`sku` = `transaction_lines`.`sku`
JOIN `product_categories__productsON `products`.`parent_id` = `product_categories__products`.`prod_id`
WHERE `products`.`avail_id` =  'A'
AND TO_DAYS(transaction_lines.updated_at) < (TO_DAYS(NOW()) - 90)
AND `
product_categories__products`.`cat_idIN ('247') 
GROUP BY `products`.`parent_id`
ORDER BY COUNT(*) DESC
LIMIT 6 
0.0003  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '1211' 
0.0003  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '1211' 
0.0003  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '1211'
ORDER BY `sortAS
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '305' 
0.0005  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '305' 
0.0005  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '305'
ORDER BY `sortAS
0.0004  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '1325' 
0.0013  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '1325' 
0.0003  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '1325'
ORDER BY `sortAS
0.0004  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '523' 
0.0009  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '523' 
0.0003  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '523'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '3987' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '3987' 
0.0003  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '3987'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '339' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '339' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '339'
ORDER BY `sortAS
0.0003  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '697'
AND `kind` =  'image_600x600'
ORDER BY IF(position 010) AS, `position
0.0001  

SELECT *
FROM (`media`)
WHERE `media`.`media_id` =  '340' 
0.0002  

SELECT *
FROM (`mime_types`)
WHERE `mime_types`.`extension` =  'jpg' 
0.0015  

SELECT *
FROM (`media_metadata`)
WHERE `media_id` =  '340' 
0.0003  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '697'
AND `kind` =  'gallery_image'
ORDER BY IF(position 010) AS, `position
0.0005  

SELECT *
FROM (`products`)
WHERE `avail_idIN ('A''B''C''H') 
AND `
parent_id` =  '697'
AND `type_id` =  'V'
ORDER BY IF(position 010) AS, `position`, `title
0.0002  

SELECT `c`.`format_id`, `c`.`price`, `c`.`sale_price`
FROM (`productsAS c)
WHERE `c`.`prod_id` =  '698'
LIMIT 1 
0.0018  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '698'
AND `kind` =  'thumbnail'
ORDER BY IF(position 010) AS, `position
0.0004  

SELECT `product_categories__products`.`cat_id`
FROM (`product_categories__products`)
JOIN `product_categoriesON `product_categories__products`.`cat_id` = `product_categories`.`cat_id`
WHERE `product_categories__products`.`prod_id` =  '697'
AND `product_categories`.`parent_id` =  1
AND `product_categories__products`.`cat_idNOT IN (1261)  
0.0016  

SELECT `cat_idAS id, `parent_idAS parent, `status_id`, `name`, `description`, `url_friendly`, `page_title`, `meta_keywords`, `meta_description`, `position`, `updated_at`
FROM (`product_categories`)
WHERE `cat_id` != 1
ORDER BY 
`parent_id`, IF(position 010) AS, `position`, `name
0.0016  

SELECT *
FROM (`product_categories`)
WHERE `status_id` =  'A'
AND `parent_id` =  1
AND `cat_idNOT IN (1261) 
ORDER BY `name
0.0006  

SELECT *
FROM (`site_settings`)
WHERE `option_key` =  'announcement' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)