Skip to main content

How to Force Customers to Review the Cart

Ensure customers always review their cart before checkout and prevent “quick checkout” options that skip the cart

Updated over a week ago

Dawn Theme: Force Cart Page & Disable Quick Checkout

Applies to: Shopify Dawn theme (OS 2.0)
Goal:

  • Always send customers to the Cart page after clicking Add to cart

  • Disable Buy Now / Dynamic checkout / Accelerated checkout options


Overview

By default, the Dawn theme uses:

  • Dynamic checkout buttons (Buy Now, Shop Pay, Apple Pay)

  • AJAX add-to-cart behavior (no redirect)

  • Optional cart drawer

This article explains how to fully disable quick checkout and force cart review before checkout — no apps required.


Part 1 — Disable Quick Checkout (Required)

Step 1: Disable Accelerated Checkouts in Shopify Admin

  1. Go to Settings → Payments

  2. Scroll to Accelerated checkouts

  3. Disable:

    • Shop Pay

    • Apple Pay

    • Google Pay

    • PayPal Express (optional)

Note:
This prevents checkout buttons from appearing across the store, even if enabled in the theme.


Step 2: Disable Dynamic Checkout Buttons in Dawn

  1. Go to Online Store → Themes

  2. Click Customize on the Dawn theme

  3. Open a Product page

  4. Select the Buy buttons block

  5. Disable:

    • Show dynamic checkout buttons

  6. Save changes

Example:
If this setting is ON, customers may see:

  • “Buy it now”

  • Shop Pay button

  • Apple Pay button

Disabling it ensures only Add to cart is available.


Part 2 — Force Add to Cart → Cart Page

Dawn uses AJAX add-to-cart by default. There is no native toggle to redirect to the cart, so JavaScript is required.


Method: JavaScript Redirect (Recommended)

This method works across all Dawn versions and does not break cart functionality.

Steps

  1. Go to Online Store → Themes

  2. Click … → Edit code

  3. Open theme.liquid

  4. Paste the following code just before </body>

<script>   document.addEventListener('submit', function(event) {     const form = event.target;      if (form.action && form.action.includes('/cart/add')) {       event.preventDefault();        fetch('/cart/add.js', {         method: 'POST',         body: new FormData(form),         headers: {           'Accept': 'application/json'         }       }).then(() => {         window.location.href = '/cart';       });     }   }); </script>
  1. Save the file


What This Does

  • Intercepts all Add to Cart forms

  • Adds the product via Shopify’s AJAX endpoint

  • Redirects the user directly to /cart

  • Bypasses cart drawers and inline updates

Result:
Every Add to Cart action → Cart page


Part 3 — Disable Cart Drawer (Optional but Recommended)

If the cart drawer remains enabled, it may briefly appear before redirecting.

Steps

  1. Go to Theme Editor

  2. Open Theme settings → Cart

  3. Disable:

    • Cart drawer

  4. Enable:

    • Cart page

Note:
This ensures a consistent cart experience and avoids UI flicker.


Part 4 — Remove Express Checkout from Cart Page (If Present)

Even after disabling dynamic checkout buttons, Dawn may still show express buttons in the cart.

Option A: Theme Setting

In Theme Editor → Cart, disable:

  • ❌ Express checkout buttons

  • ❌ Accelerated checkout


Option B: Code-Level Removal (Advanced)

  1. Go to Edit code

  2. Open main-cart-footer.liquid

  3. Locate this line:

{{ content_for_additional_checkout_buttons }}
  1. Remove or comment it out:

{%- comment -%} {{ content_for_additional_checkout_buttons }} {%- endcomment -%}

Warning:
This removes all accelerated checkout buttons, even if re-enabled in settings.


Validation Checklist

After completing all steps, confirm:

  • ✅ No “Buy it now” button on product pages

  • ✅ No Shop Pay / Apple Pay buttons anywhere

  • ✅ Clicking Add to cart always loads /cart

  • ✅ Checkout can only be reached from the cart page


Notes & Best Practices

  • This setup is ideal for:

    • Custom product validation

    • Upsells/cross-sells in cart

    • Compliance or review requirements

  • Shopify updates will not overwrite theme.liquid custom JS

  • Test with:

    • Logged-in customers

    • Guest checkout

    • Mobile & desktop


Example Use Case

“We require customers to review cart terms, custom engraving details, or subscription rules before checkout.”

This configuration guarantees cart review cannot be skipped.


Rollback Instructions

To undo this behavior:

  1. Remove the JavaScript block from theme.liquid

  2. Re-enable:

    • Dynamic checkout buttons

    • Cart drawer (optional)

    • Accelerated checkout methods

Did this answer your question?