If you use a third-party checkout or a cash on delivery app that bypasses the Shopify cart, Atlas discounts will not apply, because Atlas applies discounts through the Shopify cart and checkout. This is structural rather than a bug, and there is no Atlas setting that changes it. Cash on delivery causes a second, separate problem too: those orders are excluded from Atlas revenue reporting.
In this article:
How Atlas discounts work
Atlas installs two Shopify Functions, one for bundle offers and one for cart drawer offers. Shopify runs them during the cart and checkout, evaluates the cart against your offers, and applies the discount.
That is why bundle discounts need no code: Shopify applies them automatically at the right moment.
It is also why an order that never passes through the Shopify cart and checkout receives nothing. The functions are never invoked, so there is no discount to apply.
Which apps are affected
App type | Effect |
Cash on delivery apps with their own order form | No Atlas discount |
One-page or one-click checkout apps that build the order themselves | No Atlas discount |
Custom checkouts built by an agency | No Atlas discount |
Express buy buttons that skip the cart | Depends on configuration |
Apps that create draft orders directly | No Atlas discount |
Apps that use Shopify's own checkout, including express payment buttons that go through the Shopify cart, are unaffected.
Step 1: Confirm this is what is happening
Open your store in a private window.
Add a bundle offer to the cart.
Go to the standard Shopify cart page, not an express or COD button.
Proceed to Shopify's checkout and look for the discount.
Result | Conclusion |
The discount applies at Shopify's checkout but not through the other app | Confirmed. The alternative checkout is bypassing it. |
The discount is missing at Shopify's checkout too | Something else is wrong. See Why aren't my bundle discounts applying at checkout? |
Your options
⚠️ There is no Atlas setting that makes discounts apply to a checkout that bypasses Shopify's. Do not spend time looking for one.
Route customers through Shopify's checkout. The most complete fix. Atlas discounts, analytics and reporting all work.
Keep the alternative checkout and do not advertise bundle discounts to those customers. A customer promised a discount who does not receive it is a complaint and often a refund. If part of your traffic uses a checkout that cannot receive the discount, do not show them an offer that implies they will.
Ask your checkout app whether it supports Shopify Functions. Some do, or can be configured to pass through the Shopify cart. This is a question for that app's support, not for Atlas.
Use the checkout app's own discounting. If it has its own discount engine, configure equivalent offers there. You lose Atlas's reporting on them, but customers get the price they were promised.
The second problem: revenue reporting
Cash on delivery causes two distinct issues, and they are easy to confuse.
Discounts do not apply, for the reason above.
The orders are excluded from Atlas revenue. Atlas leaves cash on delivery orders out of all revenue tracking, so they will not appear in your Atlas analytics even when everything else is working.
ℹ️ The exclusion works in your favour on billing. Bundle revenue and cart order counts drive your usage tiers, and excluded orders do not push you into a higher tier.
What Atlas can still do for you
Even with an alternative checkout, most of Atlas works normally.
Still works | Does not work |
AI page generation and publishing | Bundle discounts on those orders |
Landing pages | Cart drawer discounts on those orders |
Bundle offers displaying on product pages | Revenue reporting for COD orders |
The cart drawer and its upsells displaying | |
Page analytics and visitor tracking |
Customers can still see and choose your offers. What does not happen is the discount being applied by Shopify at the end.

