Discount Ninja includes out-of-the-box integration with a variety of apps and Shopify features.

Subscription apps

  • The app automatically detects subscription products and can handle a checkout where one-time purchases and subscription products are combined.

  • The app was tested with:

    • Shopify's subscription app

    • Seal

    • Appstle

    • Recharge

    • Yotpo

Email marketing apps

Discount Ninja can detect codes from the following apps:

  • Klaviyo: Email marketing

Loyalty apps

  • Discount codes generated by loyalty apps can be redeemed using Discount Ninja's promotion code field.

  • The app includes an offer type to build "wrapper" promotions to display Discount Ninja widgets when a loyalty discount code is entered in the promotion code field.

  • Discount Ninja can detect codes from the following apps:

    • Appstle Loyalty & Rewards

    • Loyalty Rewards

    • Loyalty & referrals by Yotpo (Swell)

    • Loyalty, rewards and referrals by LoyaltyLion

    • Loyalty, Wishlist, Reviews UGC by Growave

    • Referral Candy

    • Smile: Rewards & Loyalty

    • Loyalty & Rewards

Pickup + delivery apps

  • Discount Ninja has built in integration with Zapiet.

    The integration relies on a method named Zapiet.Widget.checkoutEnabled() which must evaluate to true to allow the app to continue the checkout pipeline.

Currency conversion switchers

  • The app detects the currency based on the Shopify.currency object

  • We are compatible with all apps that rely on this object

Installment apps

  • The app can apply discounts to installment payments proposed by:

    • AfterPay

    • QuadPay

    • Sezzle

    • Hoolah

Search and filter apps

  • Rendering discounted prices in search results and collections managed by apps requires the following:

    • Discount Ninja must be able to identify where prices are rendered. This can be achieved in one of two ways:

      • Using a CSS selector

      • By marking the section with an attribute

    • For each collection product the app must, at a minimum, have access to the product handle

  • The app has been tested with the following apps:

    • AI Search, Filter & Discovery Boost Commerce (formerly known as PFS)

    • Searchanize

    • Globo Smart Search & Product Filter (SPF)

    • Ultimate Search

Page builders

  • The app has different levels of support for different page builders. More information about each integration is available from the following support articles:

Terms and conditions checkboxes


The app automatically checks for known checkboxes that are related to terms and conditions. The app will not proceed the checkout pipeline until those checkboxes (if marked mandatory and visible) are checked.

Important: note that the logic to cancel the checkout based on the status of the checkbox should be present in the code of your theme (or the app that handles this checkbox). Discount Ninja does not display an error message, it relies on the theme to cancel the checkout and display a message.

Explicitly marking a checkbox

If you use a custom checkbox that isn't automatically detected by the app, you may need to mark it explicitly. To explicitly mark a checkbox as required before checkout, add the following attribute to the input field:



<label for="termsAndConditions">I accept the terms and conditions</label>


  • The app can be used on stores that have multiple markets configured.

  • Shopify functions mode supports most features included in Shopify Markets:

    • International pricing: fixed product prices configured in Shopify Markets are used.

    • Exchange rates: exchange rates will be applied to product prices as configured in Shopify Markets.

    • Rounding: rounding will be applied to product prices as configured in Shopify Markets.

  • Caveats

    • Thresholds and fixed amounts: thresholds and fixed amount discounts are calculated based on the conversion rate defined in Shopify Markets.

    • Rounding: discounted prices are only rounded at checkout, not in the cart.

Other discount apps

  • Discount Ninja strives to be as compatible as technically possible with other discount apps.

  • Note that the app is not compatible with:

    • Shopify's automatic discounts

    • Apps that use a discounted checkout prepared by the Draft Order API

    • Apps that require more than two discount functions

    • Apps that add/remove products at checkout using Checkout UI extensions

Show/hide custom HTML

Discount Ninja includes building blocks that can display specific HTML content to help you promote offers.

If you need to show or hide custom HTML blocks, you can use the following classes:

  • limoniapps-discountninja-whenproductdiscounted-show and limoniapps-discountninja-whenproductdiscounted-hide: these classes can be used on product pages only; they hide or show the content of the element based on whether the selected variant is discounted by Discount Ninja or not

  • limoniapps-discountninja-whenactivepromotions-show and limoniapps-discountninja-whenactivepromotions-hide: hide or show the content of the element based on whether Discount Ninja active promotions are available for the visitor or not

  • limoniapps-discountninja-whenpromotionsincart-show and limoniapps-discountninja-whenpromotionsincart-hide: hide or show the content of the element based on whether Discount Ninja promotions have been applied to the cart or not

  • limoniapps-discountninja-whencartdiscounted-show and limoniapps-discountninja-whencartdscounted-hide: hide or show the content of the element based on whether the total amount of the cart is discounted by Discount Ninja promotions or not

Last updated