Valid discount code passed as a query parameter to checkout isn't being added to order

Topic summary

Valid discount codes passed via the ?discount=CODE query parameter are intermittently not applied at checkout, leading to discounts disappearing between cart and payment screens.

Key symptoms:

  • Backend receives the discount and sets a discount_code cookie, but a 302 redirect often clears it (discount_code=;), removing the discount.
  • Issue correlates with the “checkout_one_experiment” cookie and checkout URLs containing /checkouts/c/… (new checkout path), vs classic paths.
  • Recurs after customers remove a code, return to cart, and retry; intermittent across customers and sessions.

Scope & impact:

  • Reported across multiple stores and bundle/upsell apps, with many cases in AU/NZ (also South Africa, Poland).
  • Notable drops in conversion and increases in abandoned checkouts.

Workarounds tried:

  • Manually setting the discount_code cookie via client-side JS before redirecting to checkout (code snippet provided); works but prevents removing the code for some users and isn’t universal.
  • Asking support to revert to “classic checkout” helped some; others used draft orders as stopgaps.

Shopify response & status:

  • Acknowledged by Shopify staff; developers investigating, no public tracker. Support responses vary, sometimes attributing to app changes.
  • Intermittency decreased for some, but reports persist. Deep-linking affiliates require ?discount=, so /discount/{code} isn’t a substitute.

Resolution: Ongoing; no permanent fix or documented changes provided yet.

Summarized with AI on January 26. AI used: gpt-5.

We experienced and are still experiencing the same issue. There was a couple of weeks in November when the problem seemed to have disappeared (I assume a rollback to the previous checkout) and then again starting on November 23rd the problem has re-appeared, affecting most of our customers.

Shopify needs to communicate about this issue and provide a fix.