In early 2015, Thad Vogler became an unwitting pioneer of the movement to eliminate tipping at restaurants. Vogler, who owns Bar Agricole and Trou Normand in San Francisco, had worked and traveled throughout Europe and Asia, where he loved the convenience and lack of pretense that came from restaurant pricing in which service was already included. Less than a year into his experiment, he found himself struggling with the consequences of a tip-free dining room: His staff was in a constant state of flux, and he would routinely attack anyone who expressed even the slightest bit of doubt about his new policy. “I started to feel like Stalin,” Vogler says. “I was being a total ideologue.” After nine months of being tip-free, he knew something needed to be done.
“I said to my managers, ‘If we could switch back tomorrow, would you want to do it?’” Vogler remembers. “Literally, one of them started to cry, she was so relieved.”
When Danny Meyer announced in October 2015 that he would eliminate tipping at all of his restaurants, the idea was hailed as a move that would “save the hospitality industry,” and other big-name restaurateurs — Tom Colicchio, David Chang — adopted similar tip-free models at some of their own establishments. The moves made national headlines. “There was this idea that it was inevitable, and a huge groundswell,” Vogler says. “But that was bullshit — it wasn’t catching on, and it was very difficult. As much as I agree and I believe in the principle, it was too hard.”
The no-tipping policy lasted just six months at Chang’s Momofuku Nishi. Claus Meyer, a Noma co-founder, announced in February that he was ending the no-tipping policy at his own New York restaurant, Agern, after two years, citing slow business as a result of the higher menu prices. Gabe Stulman reversed course at his restaurant, Fedora, after four months without tips, telling Eater that guests were ordering less food than they had before. And last week, Andrew Tarlow — the owner of Brooklyn restaurants like Roman’s and Diner — revealed to his staff in an email that the no-tipping policies at his businesses had “created new challenges that we are unable to sustainably resolve. Ultimately, we ended up serving an ideal at the expense of taking care of you, our staff, which is a trade-off I didn’t fully anticipate and am unwilling to continue to make.”
“Andrew was very disappointed,” says an employee of Tarlow’s restaurant group, Marlow Collective, who asked to remain anonymous. “But when we went to non-tipping, we pretty much lost our entire staff that had been there for ten years. He wanted to make it work, but it just became really difficult.”
Tip-free dining was supposed to be the future of dining in New York and beyond. Instead, many owners are now scrambling to revert to the old way of doing things. There are holdouts — especially in the upper echelons of the fine-dining world — but it has become clear in just over three years that, for the time being, they will remain the overwhelming exceptions, not the rule. Here’s why.
Staff turnover becomes too difficult to manage. “There’s not a more important stakeholder to get right than our staff,” Meyer told Eater in 2015. His tip-free model, called Hospitality Included, he said “is absolutely going to be a win for cooks. It’s going to be a win for entry-level managers.” By eliminating tips, Meyer suggested he would be able to free front-of-house staff from kowtowing to the whims of finicky customers, better protect them from racism and sexual harassment among diners, and give them a sense of financial stability, since they’d get paid regardless of how busy the restaurant was.
Meanwhile, by raising menu prices and thus revenues, the extra money would go toward higher wages for kitchen staff, who could start making $12 to $15 an hour at a time when the state minimum wage was $8.75.
But, it turned out, many front-of-house staffers were more concerned with making money than with maintaining the moral high ground. This February, Meyer admitted that he had lost 30 to 40 percent of his “legacy” staffers since 2015. (One Meyer employee told Grub last year that her wages dropped from $60,000 per year to $50,000 under the new policy.) While he insisted that the employees that replaced them “understand ‘Hospitality Included’ and are thrilled about it,” added employee attrition in an industry where turnover is already 1.5 times that of the private sector average has to hurt.
“You just get a better, well-adjusted employee with tipping,” said the anonymous Marlow Collective employee. “They’re more focused and they get that instant gratification. Before we even announced anything, there was buzzing about a return to tips. People were like, ‘Is it true, is it true?’ And, yes, people were very happy.”
Without widespread buy-in from other restaurants, it’s just too easy for front-of-house workers to leave to make more money elsewhere. “About 40 percent of our servers were like, ‘Hey, this is awesome, but I’m going to go to State Bird Provisions, where I can make 10 percent more,’” Vogler says. “And who doesn’t want to make 10 percent more? They’re not freedom fighters.”
Without tips, prices look higher, and customers balk. When restaurants adopt tip-included pricing, they necessarily have to raise menu prices, often by 20 percent. Customers, in turn, struggle to adjust to the new gratuity-included prices.
“Even though the cost of the dinner is going to be the same at the end, or pretty close to it, that initial reaction makes it look like it’s going to be more expensive,” says Amanda Cohen of Dirt Candy, the Lower East Side restaurant that remains tip-free. “I’ve found myself standing outside the restaurant when someone is looking at the menu and going, ‘Don’t worry, tip’s included.’” But you can’t explain it to everybody.”
In a 2018 study published in The Journal of Hospitality Management, Michael Lynn, a professor of food and beverage management at Cornell, noted that “tipping is a form of price-partitioning that reduces perceptions of expensiveness even when it does not affect the actual total costs of eating out, so replacing tipping with service inclusive pricing may decrease consumers’ perceptions of value.” In other words: the food just feels more expensive.
Cohen also believes this perception feeds into a bigger misconception among diners and restaurateurs about the real cost of running a restaurant, which is more expensive than ever before. Sticking with no tips is her way of planning for an inevitable future in which front-of-house staffers will legally have to be paid at least $15 an hour instead of the measly $10 to $11 an hour currently required by New York State law. (Federally, the tipped minimum wage is $2.13/hour.)
“The tipped minimum wage isn’t going to stay where it is forever,” she says. “It was so crappy and that’s how we were able to make these bigger profit margins and now we’re seeing it rise and our profit margins are getting smaller and smaller. We allowed that to happen because it was good for business and now all the big restaurant groups are like, ‘The minimum wage thing is really hurting us.’ Well, of course, it is.”
For better or worse, tips make customers feel empowered. Generally speaking, Americans hated the practice of tipping when it was first introduced in the late 19th century, perceiving it as a form of bribery for service workers who should simply do their jobs. But as we’ve adjusted to it, tipping has become undeniably intertwined with a sense of power.
Short of walking into the kitchen and telling off the chef, tipping is the easiest way to express satisfaction or dissatisfaction with a dining experience. Without it, diners will look for another way to voice their opinions. Lynn published a study this year in which he analyzed restaurant reviews for 18 Joe’s Crab Shack locations that went tip-free in 2015. His finding: Shacks with a no-tipping policy received ratings on Google Reviews and Yelp that were 0.24 to 0.45 points lower than locations with tipping in place.
“Online consumer reviewers were happier with restaurant experiences when the restaurant had a tipping system than when it had a no-tipping, service-inclusive pricing system,” Lynn wrote. Without the obligation to tip, a minor annoyance, like a partially-forgotten order or a drink that’s slow to arrive, can feel like a wrong that can’t be righted. Others still may view tips as the most direct form of showering praise, and restaurant operators who have eliminated tips tell Grub Street that diners will nevertheless try to leave tips on a regular basis.
“The habit of tipping in this country among customers is incredibly ingrained,” says New York restaurant critic Adam Platt. “People don’t even trust places where they can’t tip. And it’s a habit that for restaurant owners, too, is extremely hard to kick.”
Will there ever be a way to make no-tipping policies work? By and large, hospitality industry workers agree that the practice of tipping allows racism, sexism, and classism to flourish in restaurants, and there will always be operators who are willing to fight back. “This is one of the hardest things I’ve ever done in a restaurant, but I’m sticking to it,” Cohen says. “I do not judge anybody for giving up on it and wanting to be more profitable or not close. We knew it was always going to be hard, but morally, for me, it was the right thing to do.”
But industry observers like Saru Jayaraman, the co-founder and co-director of the Restaurant Opportunities Centers United and the director of the Food Labor Research Center at UC Berkeley, hope this conversation will become moot once we get rid of the tipped minimum wage altogether.
“Danny Meyer and Andrew Tarlow wanted to go one step beyond and eliminate tipping altogether,” Jayaraman says. “But it’s challenging to do that on your own without a policy change that requires everyone to be paid a full minimum wage.”
That policy change has never been closer to fruition than it is now. In March 2018, President Trump signed the Consolidated Appropriations Act into law. It includes a provision that allows restaurant owners that pay front- and back-of-house employees full minimum wage to pool tips and split them between all employees. (Previously, tips were the sole property of front-of-house employees.)
Meanwhile, eight U.S. states (MI, NV, CA, AK, MT, MN, WA, and OR) are now so-called “One Fair Wage” states, where tipped minimum wages have been eliminated. Twelve more states, including New Jersey, have similar bills in the works, and in New York, the Department of Labor held public hearings on the issue from April to June and will soon submit its findings to Governor Andrew Cuomo for consideration.
Until then, restaurant owners are trying to find creative solutions to problems that have festered for too long. After Vogler brought tipping back, for example, he continued to pay back-of-house workers their higher wage and pared down front-of-house labor accordingly (he has one less manager than before). “It was liberating to kind of eat a plate of shit and say, ‘Well, okay, we’re going back,’” Vogler explains, of returning to tipping. “A friend of mine in the industry says, ‘We’re in this business to innovate on the level of food, drink, and service, not to reinvent compensation.’”
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(3),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(136),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(408),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"408":408,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]