Force customers through Cart page before Checkout in Impulse Theme?

Topic summary

A merchant using Shopify’s Impulse theme needs to enforce Terms & Conditions acceptance before checkout but faces a critical limitation: customers can bypass the Cart page entirely, where the T&C checkbox is located.

Key Challenge:

  • The merchant lacks access to checkout.liquid (reserved for Shopify Plus subscribers at $2k/month)
  • Without this access, standard cookie-based redirect solutions won’t work

Proposed Solutions:

Theme-Level Approach:

  • Check if Impulse theme has settings to force cart page vs. cart drawer/popup
  • Modify cart-drawer.liquid snippet and associated JavaScript to control checkout button behavior
  • Disable the checkout button by default in cart.liquid template (around line ~215) and re-enable via JavaScript only when T&C is checked

Important Considerations:

  • T&C customizations only apply to online store themes—other sales channels may never display the cart page
  • Third-party cart apps or floating cart UIs may require removal or custom modifications
  • Testing with JavaScript disabled is recommended to ensure the solution works properly

Status: The discussion remains open with no definitive resolution for non-Plus merchants.

Summarized with AI on November 21. AI used: claude-sonnet-4-5-20250929.

Hello,

We need to add a T&C checkbox. Figured out the coding thanks to these boards. The issue is it only appears on the Cart page and the Cart page is not a stop in the Checkout process. Customers click through to Checkout without having to visit their Cart. Is there a way to program so that any approach to Checkout involves passing through the Cart?

Edited to add: as we are not on Shopify Plus, we have no access to the checkout.liquid section of the theme.

Thank you

One way I can think of to do this is to set a cookie to a specific value when the checkbox is checked. Then in the checkout.liquid, you can check for the cookie. If it’s not there, redirect back to the cart page. Here’s a stack overflow with a function for setting a cookie and getting a cookie:

https://stackoverflow.com/questions/14573223/set-cookie-and-get-cookie-with-javascript

That should give you a pretty good idea. If you’re not particularly code savvy you’ll probably need to reach out to an expert. There are a lot of helpful people on here though who may have an even better idea and can help you for free. I’d help but I don’t have the time lately so I just figured I’d point you in the direction I was thinking.

1 Like

Thank you, but I don’t have access to the checkout.liquid section of the theme. That is reserved for $2k/month Shopify Plus subscribers. I’ll edit the question to reflect this limitation.

Merchants be aware that a terms & conditions checkbox customization only applies to the online sales channels theme, other channels may never even see the websites cart page.

@ACKPerfume

This should be a theme setting, generally whether your using a cart popup/drawer versus a cart page setting. And this includes apps that create floating cart UI’s or notifications.

If it is a theme setting but you still want to use a cart-popup AND have it only allow going to the cart-page then you’ll need a customization, potentially advanced for a premium theme, to change/remove the buttons behaviors.

Not sure if it’s changed recently but for impulse the drawer template used to operate with snippet cart-drawer.liquid which javascript used to pull in the code for template cart.liquid over ajax when items are added.

So in template cart.liquid you should just be able to change the button to be disabled by default around line ~215 <button type=“submit” name=“checkout”… which then requires javascript to re-enable it. You will then want to test the experience with javascript disabled to test your t&c customization , it may be broken and need a behavior that uses cart attributes to control checkout-button display.

If you need help with all that contact me directly, info in signature, please provide context: store url, theme name, storefront password if any , post url and further detail if required.

If it’s an app contact their support or remove it.

1 Like