Vacation Mode

store url

store/product description

Shungite items, health and wellness products, herbal apothecary, blog; I am a one person business

What feedback do you want?

This is not a question but a request much needed functionality. As a one-person business, I need a Vacation Mode to place the store in that does not require a plan change just to be away for a week. It needs to preserve browsing and access to products and blog posts, but prevents purchases. The Pause and Rebuild is a nightmare for a one week pause because it is tied to the billing cycle and not my vacation week! I can’t be the only person who needs this. Etsy had a functional Vacation Mode - it can’t be that difficult to put one in Shopify.

Screenshot

There are multiple Shopify apps already available for the vacation mode:

Hi @val

You can achieve this using either an app or custom code.

Best regards,
Devcoder :laptop:

I realize there are apps and coding, and that is what I use as a workaround. However, it seems like this is a basic thing that would not be that difficult for Shopify to build in. They already have a Pause and Rebuild, which is not ideal for just a few days.

I realize there are apps and coding and that is what I use as a workaround. However, it seems like this is a basic thing that would not be that difficult for Shopify to build in. They already have a Pause and Rebuild, which is not ideal for just a few days.

Problem:

A workaround:

  • Built on your Dawn theme.
  • The store stays fully browsable (products, blog, everything)
  • all the buy buttons and the cart are hidden
  • a “back soon” banner shows at the top.
  • You flip it on and off yourself in seconds. No app, no plan change, no billing cycle.

Steps

  • Go to Online Store > Themes. On your theme, click the … (three dots) > Edit code.
  • Open layout/theme.liquid. Scroll to the very bottom, find </body>, and paste this block just above it. Save.
{%- comment -%} ===== VACATION MODE ===== turn on/off by changing false to true below {%- endcomment -%}
{%- assign vacation_mode = false -%}
{%- assign vacation_banner = "We're away and back on Monday, August 18. Browse freely - ordering is paused until we return." -%}
{%- if vacation_mode -%}
  <div class="vacation-banner" role="status">{{ vacation_banner }}</div>
  <style>
    .product-form__buttons,
    .product-form__submit,
    .shopify-payment-button,
    .quick-add,
    .quick-add-modal,
    #cart-icon-bubble,
    .cart-count-bubble,
    cart-drawer,
    #cart-notification,
    .cart-notification-wrapper,
    .cart__ctas,
    .cart__dynamic-checkout-buttons,
    [name="checkout"] { display: none !important; }
    .vacation-banner {
      background: #1f2d3d; color: #fff; text-align: center;
      padding: 12px 16px; font-size: 15px; line-height: 1.45;
    }
  </style>
  <script>document.body.insertAdjacentElement('afterbegin', document.querySelector('.vacation-banner'));</script>
{%- endif -%}

When you leave

  • In that block, change false to true, put your return date in the message line, and Save. That’s all, the store is now browse-only.

When you’re back

  • Change true back to false and Save. Everything returns to normal.

Prefer an on/off checkbox in the customizer instead? Two small edits:

  1. In Edit code, open config/settings_schema.json. At the very bottom, just before the final ], paste this (keep the leading comma):
,
{
  "name": "Vacation mode",
  "settings": [
    { "type": "checkbox", "id": "vacation_mode", "label": "Vacation mode (browse-only)", "default": false },
    { "type": "text", "id": "vacation_banner", "label": "Banner message", "default": "We're away and back soon - ordering is paused until we return." }
  ]
}
  1. In the theme.liquid block you pasted, delete the two assign lines, then change {%- if vacation_mode -%} to {%- if settings.vacation_mode -%} and {{ vacation_banner }} to {{ settings.vacation_banner }}.

Now open Customize > Theme settings > Vacation mode: tick the box to pause, untick to reopen, and change the banner text right there. No code editing after that.

If you want to go on vacation, go. No one is preventing that. It’s your store. You can do as you please. You can shut it down. You can password protect it. You can make homepage say whatever you want. If you’re looking at a real pause, shopify already offers that.

Thank you. I have a workaround. I was just trying to prompt Shopify developers to add this feature natively, as directed by the support staff yesterday who suggested I post it here. I appreciate the instruction however.

Actually, Pause and Rebuild does not work for this purpose. Of course, I did try that and it was a disaster two years ago when I used it. It requires changing actual billing plans and is tied to one’s billing cycle - so it’s not designed for short pauses like a week. You can’t just toggle it on and off when you need a week or less. I have a vacation mode workaround, but I was hoping the Shopify developers would take note and make a similar pause feature that could be toggled on and off, not tied to billing cycle and changes in plans.

Hey, @val. I agree that it’s very silly that Shopify doesn’t have a proper vacation mode. Many other platforms have it. I suspect that Shopify will eventually get the memo and add a proper vacation mode that isn’t tied to your Shopify plan. But until they do, I added vacation mode into my app, CartGate. Full disclosure: it’s paid ($9/month, free trial).

Cartgate’s vacation mode will let you pause all orders for your store for a set time while still letting the store be completely browsable (no pause-and-build, no password protection).

If you were to use CartGate’s vacation mode, you would install the app, and on the homepage, select “Vacation Mode”, which is the last restriction type in the list.

Then, you just enter the start and end date/time of your pause, save, and you’re done. Alternatively, leave the start time blank to use “now” as the start time.

Once vacation mode is active, your store works as normal, but all checkouts are blocked during the pause interval:

Optionally, if you want to alert people you’re on vacation before checkout, check the “also warn shoppers on the product page” option

Then, any time somebody is browsing a product, they’ll get a warning that you’re away and not allowing orders:

The app automatically un-blocks checkout after the end time you set, so no need to remember to un-set it.

If anybody needs more than a week to kick the tires, just message me inside the app and I’d be happy to extend the trial. Again, the app is called CartGate. I hope this helps.

Hi Kory - that’s awesome. Sidekick helped me basically set that up (just hiding the add to cart buttons), so I am all set up for this trip in October. I will see how that works. That said, your app looks really nice and handy! If this doesn’t work or I want more functionality, I will definitely add your add in the future. I appreciate the detailed recommendation.