Help us help small businesses. Become a small business champion. Learn more

Independent bookstores are vital cultural and social hubs for many communities. While they’ve proved resilient in the face of competition from chain and online retailers, the rise of ebooks, and the increasing cost of running a brick-and-mortar business, their strength has been further tested by COVID-19. As Amazon continues to gain market share and indie stores are forced to remain closed, booksellers are looking for new ways to adapt and reach customers. 

Recently, Gravity Payments sat down with three bookselling pros to discuss how they’re adapting in the wake of this crisis. Sarah High, partnerships manager for Bookshop.org, discussed how the new online retailer is partnering with bookstores during this time, and Lexi Beach, owner of Astoria Bookshop in Queens, NY, and Christy McDanold, owner of Secret Garden Books in Seattle, WA, shared how they’ve revamped their businesses in a way that allows them to continue to serve customers while they wait to reopen. 

The conversation ranged from the super practical to the emotional and inspirational. You can watch the full discussion below or read on for more highlights.

12 Things Booksellers Can Do

  1. Allow discovery online: “Discovery is now gone,” Christy says in describing the challenges of selling inventory when customers can’t browse your store. While it can never truly match the in-person experience, online retailing does offer opportunities to promote books that customers may not otherwise know to look for. For example, Lexi says that they’ve been continually updating the browsing section of the shop’s website in order to promote books that are currently in stock. This also provides an added convenience for customers as letting them buy something you already have means they can get their books faster.
  2. Work with partners: The independent bookselling community is strong, and there are several groups that are offering specific assistance during this time. The American Booksellers Association offers a list of resources for booksellers on their website, and publishers are offering generous terms to booksellers to ensure they can continue to stock their titles. Talk to your rep to find out what’s possible. Meanwhile, Bookshop.org, which launched in late January and has seen a huge uptick in sales since the outbreak started, allows customers to buy books online while supporting local bookstores. A portion of all sales are donated directly to bookshops, and customers can even choose which bookstore they want to support so the money gets sent to them directly. If you don’t have an e-commerce platform, you can also use the Bookshop platform to sell your books directly and earn 30 percent of the cover price of any title purchased.
  3. Use downtime strategically: After reading about how Barnes and Noble was remodeling its stores while they were closed, Christy got an idea. During the time the shop has been closed, she’s refinished the wood floors so the store will have a fresh feel when it’s finally time to reopen. Since you’d have to close your shop to do any major remodeling anyway, why not use the forced closure to your advantage?
  4. Communicate and offer options to customers: Direct communication can go a long way in building customer trust. If you’re not able to fill orders as quickly as you normally would, let customers know and, if possible, offer them the option to cancel or go elsewhere. Many will be happy to wait because they want to support you, but even if they cancel, you will have bolstered your business’s reputation by offering good customer service. Lexi says she’s also referred many customers to Bookshop for orders she can’t fill right away and says it’s provided a great alternative.
  5. Offer curbside pickup: Even as businesses remain closed, many are able to offer curbside pickup–including bookstores. There are few ways you can go about curbside, but Lexi recommends giving people the option to schedule their pickup time after you’re sure you have their order ready. This allows you to control the flow of people to the store so you can maintain social distancing while also ensuring customers don’t show up prematurely. Lexi recommends a tool like Schedulicity or Skedda to facilitate scheduling. Make sure to also be explicit about how the process works, especially when it comes to social distancing. Lexi and Christy both caution that this will likely require repetition and patience as customers get used to things. Clear signage at the storefront can help.
  6. Reimagine staff responsibilities: If you’re able to keep your staff on the payroll, you’ll need to figure out how to keep them busy while their regular jobs are on hold. “The jobs you had before don’t exist anymore,” Lexi says in describing how she’s rejiggered rolls at her shop. Since several people on her staff rely on public transportation to get to work, she’s had to give them tasks, like answering customer emails or managing social media, that they can do from home. Meanwhile, the employees that live within walking distance are handling things like shipping and receiving and managing curbside pickup. One of Christy’s staff members is using her merchandising skills to post photos of various items on Instagram, which has helped drive some sales. If possible, ask your staff what duties they’d like to take on since many of the things that need to get done are far outside their regular job descriptions.
  7. Market items you don’t have to ship right away: Both Lexi and Christy say they’re working through a backlog of mail orders since they’ve been understaffed for the past several weeks. While they’re happy that customers want to support them, they’re encouraging them to do so in ways that don’t require as much stress on the business. For instance, Lexi says she’s been promoting gift cards and preorders, which customers are embracing. “It’s really interesting to see what people are preordering that wasn’t necessarily something I thought was going to be a high-profile book,” she says, referring to the fact that the store has received a large number of preorders for Piranesi, the long-awaited new novel from Susanna Clarke, which doesn’t publish until September.
  8. Promote sidelines: Many retailers have seen a huge increase in demand for jigsaw puzzles as people are finding ways to occupy themselves while stuck at home. If you sell these or other games people can do at home, promote them as much as possible. You might have to check with vendors to make sure you can sell online, but you can also get creative. Christy says once she started offering curbside pickup, she filled the front shop window with puzzles and games and allowed people to point to what they wanted and pay over the phone. Lexi has also started offering face masks from a local quilter and friend of the store and says they sell out pretty much as soon as new a batch arrives. 
  9. Learn from other businesses: “Look around and see what other businesses are doing,” Christy says. “I think you can learn a lot.” Christy says she modeled her curbside-pickup program on that of a local grocery store, which gives people the option of either scheduling an appointment to shop or waiting outside the store until there is enough space for them to enter the store. 
  10. Take advantage of resources: Consider federal and local assistance programs like the Paycheck Protection Program (PPP) or the Emergency Economic Injury Disaster Loan (EIDL), which provide financial relief to businesses. Christy and Lexi each received a PPP loan, which will help them cover payroll for at least a few months, and Christy received an EIDL. Lexi recommends setting up a separate checking account to keep track of any PPP money you receive since there are specific guidelines and repayment terms you have to follow. To learn more, check out the guidelines outlined by the ABA.
  11. Embrace the support of your community: Although often overwhelmed by the amount of work that needs to be done and the general stress of managing a business remotely, “It’s good to be busy,” Lexi says because it means your customers want to support you. “[That] kind of thoughtfulness in consumer behavior I don’t think you see in other kinds of retail.” Keep in touch with customers, update them on your progress, and figure out how to help them help you.
  12. Be kind to yourself: Most important, remember that this time is presenting challenges to everyone and it’s okay if you don’t have all the answers or even if you want to quit. “I will admit that there have been days in the past few months where I’ve let myself think well, ‘What if we don’t have a store in six months? What if we fail?’” Lexi says. It’s normal to be stressed right now, so give yourself and those around you some grace. “I don’t think there are any experts right now. We’re all kind of making it up as we go along,” Lexi says. “When I screw something up, [I try to remind myself] to forgive myself and to forgive other people.”

To learn more about how Gravity works with indie bookstores to facilitate payments and other solutions that can grow your business, view our services page or reach out to one of our specialists here.

By Brooke Carey, Lead Storyteller

[gravityform id="37" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_37' ><div id='gf_37' class='gform_anchor' tabindex='-1'></div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_37' id='gform_37' action='/blog/12-things-indie-bookstores-can-do-to-thrive-during-covid-19/#gf_37'> <div class='gform_body'><ul id='gform_fields_37' class='gform_fields top_label form_sublabel_below description_below'><li id='field_37_1' class='gfield gf_left_half gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_1' >First Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_37_1' type='text' value='' class='medium' placeholder='First Name*' aria-required="true" aria-invalid="false" /></div></li><li id='field_37_2' class='gfield gf_right_half gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_2' >Last Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_37_2' type='text' value='' class='medium' placeholder='Last Name*' aria-required="true" aria-invalid="false" /></div></li><li id='field_37_3' class='gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_3' >Email<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_37_3' type='email' value='' class='medium' placeholder='Email*' aria-required="true" aria-invalid="false" /> </div></li><li id='field_37_9' class='gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_9' >Phone</label><div class='ginput_container ginput_container_phone'><input name='input_9' id='input_37_9' type='tel' value='' class='medium' placeholder='Phone Number' aria-invalid="false" /></div></li><li id='field_37_4' class='gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible' ><label class='gfield_label' for='input_37_4' >Business Name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_37_4' type='text' value='' class='medium' placeholder='Business Name*' aria-required="true" aria-invalid="false" /></div></li><li id='field_37_7' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_7' id='input_37_7' type='hidden' class='gform_hidden' aria-invalid="false" value='Gravity Website' /></li><li id='field_37_8' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_8' id='input_37_8' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_13' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_13' id='input_37_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_12' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_12' id='input_37_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_11' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_11' id='input_37_11' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_10' class='gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible' ><input name='input_10' id='input_37_10' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></li><li id='field_37_14' class='gfield mixpanel-id field_sublabel_below field_description_below gfield_visibility_hidden' ><label class='gfield_label' for='input_37_14' >Mixpanel ID</label><div class='ginput_container ginput_container_text'><input name='input_14' id='input_37_14' type='text' value='' class='medium' aria-invalid="false" /></div></li><li id='field_37_15' class='gfield gf-post-slug field_sublabel_below field_description_below gfield_visibility_hidden' ><label class='gfield_label' for='input_37_15' >Post Slug (js)</label><div class='ginput_container ginput_container_text'><input name='input_15' id='input_37_15' type='text' value='' class='medium' aria-invalid="false" /></div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_37' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_37"]){return false;} if( !jQuery("#gform_37")[0].checkValidity || jQuery("#gform_37")[0].checkValidity()){window["gf_submitting_37"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_37"]){return false;} if( !jQuery("#gform_37")[0].checkValidity || jQuery("#gform_37")[0].checkValidity()){window["gf_submitting_37"]=true;} jQuery("#gform_37").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=37&amp;title=&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_37' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='37' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_37' value='WyJbXSIsIjFkZWJiYTQzOTc0NWE5NmY1ODc3NTgwMWVlMTJhNGM1Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_37' id='gform_target_page_number_37' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_37' id='gform_source_page_number_37' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_37' id='gform_ajax_frame_37' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 37, 'https://gravitypayments.com/wp-content/plugins/gravityforms/images/spinner.gif' );jQuery('#gform_ajax_frame_37').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_37');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_37').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_37').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_37').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_37').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_37').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_37').val();gformInitSpinner( 37, 'https://gravitypayments.com/wp-content/plugins/gravityforms/images/spinner.gif' );jQuery(document).trigger('gform_page_loaded', [37, current_page]);window['gf_submitting_37'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_37').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_37').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [37]);window['gf_submitting_37'] = false;}, 50);}else{jQuery('#gform_37').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [37, current_page]);} );} );</script><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 37) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }jQuery('#input_37_9').mask('(999) 999-9999').bind('keypress', function(e){if(e.which == 13){jQuery(this).blur();} } );} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [37, 1]) } ); </script>