Skip to content
Product cover

How Starbucks Has Gone Digital

Retailers struggle with keeping brand strategies consistent across the physical and digital worlds. Starbucks has made great strides in maintaining its brand message, whether customers are on Facebook or in one of its 17,000 stores, anywhere in the world. The company’s digital transformation began with the seemingly simple decision to offer Wi-Fi and access to digital media such as The Economist as a free service in its stores. That was Adam Brotman's first big idea after he was hired in 2009 to the new job of vice president of digital ventures. The free Wi-Fi and content put the customer's wants at the center of Starbucks' digital strategy. Brotman was named Starbuck's chief digital officer in March 2012, putting Starbucks in the front ranks of companies that have a digital czar.

Brotman works closely with Curt Garner, a 15-year Starbucks veteran named chief information officer at the same time Brotman became CDO. The two talk every day, their leadership teams meet every other week, and the two run digital scrums at least once a quarter, where their teams brainstorm how to use technology to give customers a better experience at Starbucks.

Brotman and Garner's close collaboration leads to iterative transformations, like figuring out how to use a point-of-sale system upgrade and save 10 seconds per card transaction, eliminating 900 million hours of line time for customers. Starbucks is now piloting mobile ordering in stores, which should mean less time in line, and perhaps even the ability to walk in and order "the usual." They believe Starbucks acts like a consumer technology company.

Purchase Options

Educator and Student Discounts Available. Learn more »

  BENCHMARKS  
Loading Time: Base Classes  0.0006
My Controller Construct  0.0003
Build Nav  0.0010
Controller Execution Time ( Products / Route )  0.1768
Total Execution Time  0.1775
  GET DATA  
No GET data exists
  MEMORY USAGE  
1.5531 MB
  POST DATA  
No POST data exists
  URI STRING  
store/how-starbucks-has-gone-digital
  CLASS/METHOD  
products/route
  DATABASE:  MITSLOAN_DEV   QUERIES: 68  (Hide)
0.0007  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0019  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0005  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0003  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0010  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0006  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0022  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '949541a0d977ed3b7f71759624bbd930'
ORDER BY `created_atDESC 
0.0006  

SELECT SQL_CALC_FOUND_ROWS cat_id
FROM 
(`product_categories`)
WHERE `status_id` =  'A'
AND `url_friendly` =  'how-starbucks-has-gone-digital'
AND `parent_id` =  
0.0163  

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 'how-starbucks-has-gone-digital' OR
                            if(
c.format_id 'Certificate'''p.url_friendly) = 'how-starbucks-has-gone-digital'
                        
)
                    
LIMIT 1 
0.0005  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  2901 
0.0019  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '2901' 
0.0015  

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

SELECT `cat_id`
FROM (`product_categories__products`)
WHERE `prod_id` =  '2901' 
0.0007  

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

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

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 ('249') 
GROUP BY `products`.`parent_id`
ORDER BY COUNT(*) DESC
LIMIT 6 
0.0002  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SELECT *
FROM (`media_metadata`)
WHERE `media_id` =  '1325' 
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` =  '2901'
AND `kind` =  'gallery_image'
ORDER BY IF(position 010) AS, `position
0.0017  

SELECT *
FROM (`products`)
WHERE `avail_idIN ('A''B''C''H') 
AND `
parent_id` =  '2901'
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` =  '2902'
LIMIT 1 
0.0004  

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

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` =  '2901'
AND `product_categories`.`parent_id` =  1
AND `product_categories__products`.`cat_idNOT IN (1261)  
0.0006  

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.0006  

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

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