The Functions version is built on Shopify Functions, allowing discounts to be applied natively in Shopify checkout. It is ideal for merchants who want a modern, seamless checkout experience and need advanced discount types that work directly with Shopify’s discount engine.
Choose the Functions version if:
You want discounts to apply natively at Shopify checkout
You need advanced offer types beyond basic volume discounts
You want to use Shopify’s native discount code box
You need support for order-level and shipping discounts
You can work within Shopify’s 25 active discount limit
What the Functions Version Supports
Active Offers
Up to 25 active discounts per store
This limit is enforced by Shopify Functions and applies across all function-based discount apps installed on the store
Supported Offer Types
The Functions version supports the following discount offer types:
Volume discounts
Variant-based
Product-based
Collection-based
Bundle discounts
Buy X Get Y (BXGY) discounts
Order (cart-level) discounts
Shipping discounts
All discounts are created and applied using Shopify’s native discount system.
Buy X Get Y (BXGY) Configuration
The Functions version supports flexible Buy X Get Y combinations:
Product + Product
Collection + Collection
Collection + Product
Product + Collection
For BXGY offers:
Quantities can be defined for both X and Y
The discount is applied to the Y group
Supported discount types include:
Percentage off
Price discount
Free gift
BXGY discounts are applied natively at checkout using Shopify Functions.
Checkout & Discount Behavior
The Functions version uses Shopify’s native checkout flow:
Discounts apply automatically at checkout
Uses Shopify’s native discount code box
Discounts are reflected consistently across:
Checkout
Order summary
Shopify Admin
This provides a smoother and more predictable checkout experience compared to draft-order–based flows.
Frontend & Theme Capabilities
Theme integration: No
(Only the app extension needs to be enabled)Product Detail Page widget: Yes
On the product page, we display the latest eligible offer widget.
A single product can have multiple offers, but only the most recent eligible offer is displayed.Offer metafield integration: Not available
FOMO messages: Not available
Frontend customization is intentionally limited to comply with Shopify Functions performance and data constraints.
API & Admin Capabilities
Supported:
Offer Table API
Import / Export functionality
Not supported:
Admin API (Offer Create, Update, Delete)
Draft Order API
Platform Limitations to Keep in Mind
1. 25 Active Discount Limit
Only 25 function-based discounts can be active per store at the same time.
This includes all function-based discount apps installed on the store.
2. Product / Variant / Collection Limits
There are limits on how many products, variants, or collections can be added to a single offer due to Shopify Function input size constraints.
3. Metafield Integration Not Supported
Metafield integration is not available in the Functions version.
Technical reason:
The app already uses Shopify’s API to create and manage discounts on Shopify’s side. Combining metafield-based logic with offer create/update operations in the Functions version can negatively impact update performance and cause execution issues.To ensure stability and performance, metafield integration is not supported.
4. Large Cart Constraints
Very large or complex carts may be limited by Shopify Function query size and execution limits.
App Compatibility Notes
Hulk Product Options
❌ Not compatible
(Relies on Draft Order API, which is not supported by Shopify Functions)
Bold Product Options
Supported, but requires testing once implemented
When the Functions Version Is the Right Choice
The Functions version is the right choice if your priority is:
Native Shopify checkout discounts
Advanced discount types (Bundles, BXGY, Order, Shipping)
Automatic discount application without draft orders
Shopify-standard checkout behavior
If you need unlimited active offers, metafield integration, FOMO messaging, or admin-level offer APIs, the Legacy version may be a better fit.
Want to switch to the Legacy version?
Please contact our support team, and they’ll be happy to help you with the transition.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article