Core Logic / Functionality
1. Creation and Purpose
Trigger: The virtual product is generated immediately upon the creation of any bundle type (Landing Page or Product Page).
Checkout Logic:
In Cart: Bundled items appear as a single product (the Virtual Parent).
At Checkout/Order Details: The system splits the Parent Product into individual line items.
Discount Application: The app calculates and applies the correct discount to the split items based on the configuration.
2. Default Configuration
Upon creation, the app assigns the following default attributes to the Virtual Product:
Image & Description: Generic placeholder content is added.
Status: Set to Unlisted.
Logic: The product is purchasable via a direct link (e.g., the Bundle Builder page) but is hidden from store search and collection browsing.
3. Editing the Product
Users can modify the Virtual Product to change its appearance or visibility.
Click the Edit the product button within the app.
A modal opens displaying the standard Shopify Product Editing interface.
Editable Fields:
Status (Active/Draft/Unlisted)\
Title and Description
Images
Price
Syncing: IF changes are made in this modal, THEN they automatically sync back to the Easy Bundles app configuration.
Status & Visibility Logic
The functionality of the bundle depends heavily on the Product Status selected in the Shopify editor.
Status: Unlisted (Default)
Behavior: Product works for bundling. Product is not visible in store search.
Use Case: Best for Landing Page Bundle Builders where traffic is directed via specific marketing links.
Discount Behavior Implications: When the parent product is Unlisted, it avoids individual line-item discounts being applied to the bundle components, ensuring accurate pricing at checkout.
Status: Active
Behavior: Product works for bundling. Product is visible in store search and collections.
Use Case: Best for Product Page Bundle Builders where the bundle widget must appear on a product page discoverable by shoppers browsing the store.
Discount Behavior Implications: With Active status, discounts may apply to each bundle component separately if not excluded appropriately, potentially causing unintended stacking of discounts.
Status: Draft
Behavior: The product is effectively disabled. Discount Consequence: IF status is set to Draft, THEN bundle discounts will fail to apply at checkout. This can lead to issues during checkout, impacting customer experience and order accuracy..
Constraints & Edge Cases
Draft Status Prohibition: You cannot use the "Draft" status for a live bundle. The product must be Active or Unlisted for the bundling technology to function.
Inventory Dependency: The app relies on this specific product entity existing in the backend. Deleting this product manually in Shopify will break the associated Bundle Builder.
Discount Management: Carefully configure discounts to avoid unintended applications on bundle components. Exclude parent products of bundles from product-level discount rules.
<br> ### Managing Discounts on Bundles Effectively managing discounts is necessary to prevent errors at checkout. Consider the following: 1. **Exclude Bundles from Discount Rules:** Review product-level rules and ensure bundles are excluded to prevent unintended stacking of discounts. 2. **Order-Level Discounts:** Note that these apply to the entire order and cannot exclude specific products but typically do not lead to stacking. 3. **Audit and Test:** Periodically review discount configurations and run checkout tests to verify accuracy. Following these practices ensures correct pricing and improves customer trust.
