> For the complete documentation index, see [llms.txt](https://crushsuite.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://crushsuite.gitbook.io/docs/compliance/troubleshooting/checkout-button-skips-the-compliance-form.md).

# Checkout Button Skips the Compliance Form

A customer reached Shopify checkout without seeing the compliance form. Usually a custom or mini-cart checkout button the app can't recognize, and a one-line theme fix.

#### Symptoms

* A customer places an order without completing the compliance form (no date of birth, no address check), and the order arrives with a compliance issue.
* The form appears when you check out from the cart page, but not from the cart drawer, mini-cart, or a custom section.
* The bypass only happens on one theme, or started after a theme change.

#### Common Causes and Solutions

**The checkout button isn't one the app recognizes**

The compliance form opens when the customer clicks a checkout button, and CrushSuite identifies that button by how it's built. It watches for:

* A button or link with the class `cart__checkout-button`
* A button named `checkout` (`name="checkout"`), which is how Dawn and Horizon build theirs
* An element with the ID `checkout`
* A link to `/checkout`
* The Shop Pay wallet button
* The cart form itself being submitted

A checkout button that matches none of these, which is common in custom mini-cart footers and third-party cart drawers, sends the customer straight to checkout. The fix is to give that button the class `cart__checkout-button`.

1. Find the file that renders the button. In Shopify Admin go to **Online Store** → **Themes**, click **…** next to the theme → **Edit code**, and search the theme files for the cart drawer or mini-cart snippet. In Dawn-based themes it's often a file like `snippets/cart-mini-footer.liquid`.
2. Find the line that renders the checkout button. It is usually a Liquid `render 'button'` tag or a plain `<button>`element.
3. Add the class. For a `render 'button'` tag, add `, class: 'cart__checkout-button'` just before the tag closes. For a plain `<button>`, add `cart__checkout-button` to its `class` attribute.

   Before:

   ```liquid
   {% render 'button', type: 'submit', text: text, block: true, disabled: disabled, size: 'md', style: 'primary' %}
   ```

   After:

   ```liquid
   {% render 'button', type: 'submit', text: text, block: true, disabled: disabled, size: 'md', style: 'primary', class: 'cart__checkout-button' %}
   ```
4. **Save**, then add a product to your cart and click that button. The compliance form should open before checkout.

{% hint style="info" %}
This change lives in the theme, not in CrushSuite. Publishing a different theme, or updating the theme from its developer, removes it. Tell whoever maintains your theme that the checkout button needs the `cart__checkout-button` class, and re-test after every theme change.
{% endhint %}

**Accelerated checkout buttons are still showing**

Shop Pay, Google Pay, Apple Pay, and PayPal buttons on product and cart pages skip the form by design. Hide them with the CSS in [Removing Accelerated Checkout Buttons](https://crushsuite.gitbook.io/docs/compliance/storefront-and-checkout/removing-accelerated-checkout-buttons-shop-pay-google-pay-and-more).

**The Main CrushSuite App embed is off**

If no compliance feature is appearing at all, not just the checkout form, the app embed is the more likely cause. See [App Embed Not Displaying](https://crushsuite.gitbook.io/docs/compliance/troubleshooting/app-embed-not-displaying).

#### When to Contact Support

If you've added the class and the form still doesn't open, [contact our support team](https://crushsuite.com/contact) with:

* Your theme name and version
* The file and line where you added the class
* A screen recording of the checkout button being clicked

We can identify the element on your theme and patch around it, but theme-specific patches don't survive a theme update and will need to be reapplied.
