RuffRuff Order Bonus

Frequently Asked Questions

Answers to common questions about how to use the app and its specifications.

Automatic: Applied automatically when conditions are met. No code required, and it also applies automatically via Buy Button. Usage limits cannot be set.

Manual (discount code): The customer enters a discount code at cart or checkout. Usage limits (total and once per customer) can be configured. A copy-code button is also available inside the widget.

Note: the method can only be selected when creating or duplicating a campaign — it cannot be changed afterward.

Per Shopify's specifications, when multiple discounts of the same type apply, the one with the higher discount amount takes priority. For example, if two product discounts apply, the campaign with the larger discount is automatically selected.

Different discount types (order, product, shipping) can be combined at the same time only when "Combining with other discounts" is enabled in the restrictions settings on both campaigns.

Yes. Enable "Subscription" under "Campaign applies to" in the restrictions settings.

You can also limit how many recurring orders the discount applies to — all recurring orders, the first order only, or up to a specified number of orders.

Note: shipping discounts below 100% (i.e. not free shipping) are automatically upgraded to 100% on recurring orders 2 and beyond, per Shopify's specifications — so they are restricted to the first order only.

The following causes are possible:

Rounding is skipped: if the adjusted price would be $0 or less, or if the discount amount would become negative, rounding is skipped for safety and the original discount amount is applied as-is.

"Distribute discount across eligible items" is enabled: this takes priority over rounding adjustment for product discounts.

Combined with Shopify's native discounts: combining an order discount with Shopify's native product discounts may cause rounding to not work correctly.

See the Rounding Adjustment article for details.

The shipping discount condition is evaluated based on the cart subtotal after the product discount is applied.

Example: Product discount: $18 off when buying 2 or more items / Shipping discount: free shipping on orders of $200 or more

  • Even if the cart subtotal before discounts is $200 or more, applying the product discount reduces it to $182 — which falls below the free shipping threshold of $200. As a result, free shipping will not apply.

The order discount does not affect how the shipping discount condition is evaluated. As long as the cart subtotal (after product discounts) meets the condition, the shipping discount applies regardless of any order discount.

Example: Order discount: 10% off / Shipping discount: free shipping on orders of $200 or more

  • Even if the order discount brings the final order total below $200, free shipping will still apply as long as the pre-order-discount cart subtotal is $200 or more.

It depends on the discount type and campaign.

Discount campaigns

Order and product discount conditions use the subtotal before product discounts. Shipping discount conditions use the subtotal after product discounts (order discounts are not included).

Gift campaigns

For gift campaigns, you can set the "Calculation basis" for the "Cart subtotal price" eligibility condition directly in the condition settings — choose either before or after product discounts.

Check the following:

  • Campaign is Active and within its dates.

  • Eligibility conditions are met.

  • For manual discounts, the code is entered correctly.

  • You have an active paid plan.

  • You're testing on the live store, not in preview mode.

  • Purchase type and combination settings match.

See the Discount Not Applying article for details.

Simple gift: Distributes one predetermined gift. The distribution method can be auto-add, manual add, or follow store settings.

Choice gift: Customers choose from multiple options. The gift is not added to the cart until they make a selection.

Repeatable gift: Distributes gifts repeatedly based on purchase amount or quantity — e.g., "1 gift per $100 spent" or "1 gift per 3 items." Always auto-distributed.

For more details, see the Gift Types article.

Yes. The gift product (bundle product) created by a gift campaign is linked to the inventory and availability of the configured component product.

When the component product goes out of stock and becomes unavailable, gift distribution automatically stops. To manage the distribution limit using inventory, set the component product's stock quantity to your desired maximum number of distributions.

Display elements such as the widget item or the product-page badge don't disappear automatically, but they behave as follows:

  • Auto-add to cart: stops.

  • Widget add/select button: disabled, so customers can no longer interact with it.

  • Gift badge: switches to the "Unavailable" state (hidden entirely if no text is set for that state).

  • Other display elements: remain visible.

Recommended practice:

  • Mention "while supplies last" in the campaign description.

  • Set text for the badge's "Unavailable" state (e.g. "Ended") so it switches automatically once stock hits zero.

  • Note this behavior in the campaign copy as well.

  • If you want to stop all display elements immediately, manually switch the campaign to Inactive (Draft) once stock runs out.

Unfortunately, there is no app setting to hide the gift product name link in the cart.

CSS alone cannot achieve this, because no class or other CSS-selectable marker is output on the gift line in the cart DOM.

Theme Liquid customization, however, can achieve this. Gift cart lines carry a line item property _ItemType: gift added by the app, which is accessible from Liquid via line_item.properties. You can use this to prevent the product name link from being clickable on lines with that property. The exact implementation depends on your theme's structure, so please consult your developer or theme agency.

Note: even though the link itself is clickable, there's no risk of a customer accidentally adding the gift product through its product page. The "Add to cart" button is hidden on gift product pages, and enabling "Limit distribution of gifts that do not meet conditions" in the restrictions settings blocks checkout for any gift added outside the app's normal flow.

Unfortunately, the text displayed in the popup cannot currently be customized.

Edit the gift product from the Products page in the Shopify admin. From the campaign edit screen in the app, click "Edit on product page" to go there directly.

For choice gifts, variant names can also be changed from the campaign edit screen in the app.

Yes. The "Add to cart" button is automatically hidden on the gift product page.

Additionally, enabling "Limit distribution of gifts that do not meet conditions" in the restrictions settings will block unauthorized additions at checkout.

When a campaign is Active, the gift product is automatically set to Unlisted and will not appear on collection pages or in search results.

If it still appears, manually set the product status to Unlisted from the Products page in the Shopify admin. When set to Unlisted, only customers who have the direct link can access it.

This may be because the gift product itself is included in the target products for the condition.

Solution: In the app, go to Eligibility conditions > Exclusions and enable "Exclude gifts."

This can happen when a discount code is applied at checkout and reduces the cart subtotal below the gift's eligibility threshold.

Example: gift condition: cart subtotal is $200 or more.

  • Cart subtotal is $200 or more on the cart page → the gift is added to the cart.

  • A discount code (product discount) is applied at checkout and the subtotal drops below $200 → the gift condition is no longer met.

If the "Limit distribution of gifts that do not meet conditions" checkout rule is enabled, an error will appear and checkout cannot proceed. Remove the gift or the discount code to proceed.

If "Limit distribution of gifts that do not meet conditions" is enabled, an error appears at checkout and the purchase cannot proceed — the customer must remove the gift or adjust their cart.

If disabled, the purchase may proceed even with an ineligible gift. Enabling this rule is recommended to prevent unauthorized redemptions.

Check the following:

  • Campaign is Active and within its dates.

  • Eligibility conditions are met.

  • For manual distribution, the customer clicked the widget button.

  • Component products are in stock.

  • Gift product is not in Draft status.

  • "Online Store" is in the gift product's sales channels.

  • The customer is using the standard cart flow, not a dynamic checkout button.

See the Gift Not Being Distributed article for details.

Please check the following items in order:

  • The app embed is enabled in the theme editor.

  • The "Product Message" app block has been added to the product template.

  • The campaign status is Active and within its active dates.

  • "Show product message" is enabled in the display settings.

  • The current product is included in the target products or collections.

  • The display conditions are met.

For more details, see the Product Message Not Displaying help article.

The following causes are possible:

  • The app embed is not enabled

  • The app embed's floating button is set to "Hidden"

  • No campaigns with "Active" status exist

  • The campaign is outside its active dates (or display period)

  • "Show in widget" is disabled in the campaign's display settings

  • The campaign's display conditions are not met

  • The campaign title is not set in the campaign's display settings

First, confirm the "RuffRuff Order Bonus" app embed is activated in the theme editor. If it is not enabled, the widget will not be displayed.

For more details, see the Widget Not Displaying help article.

Check the following:

  • App embed is activated.

  • Campaign is Active and within its active period.

  • "Show badge on product card" is on.

  • "During campaign" badge text is set.

  • Display period and conditions are met.

If still not showing, your theme may require custom CSS selectors under "Advanced settings" ("Product card selector" / "Badge insertion selector") — contact support for help.

The collection picker in the app only shows collections that are published to the Online Store.

Please check the publication settings for the collection in your Shopify admin.

  • Go to Shopify Admin → open the target collection

  • In the "Sales channels and apps" section on the right, check that "Online Store" is enabled

  • If it is not enabled, turn it on and click "Save"

After saving, reopen the collection picker and the collection will appear.

Yes. Both discount and gift campaigns are limited to 50 each.

If you reach the limit, delete unused campaigns before creating new ones. Note that deleting a gift campaign also deletes the associated gift product, and this cannot be undone.

Yes. However, up to 25 automatic discount campaigns can be active at once, and Shopify allows a maximum of 25 checkout rules (used by gift campaigns) to be active at the same time.

Yes. From the campaign list or edit screen, click "More actions" → "Duplicate." The copy will be named "Copy of [original name]."

Edit as needed, set the status to Active, and save.

Duplicating a gift campaign automatically creates a new bundle product.

In the campaign's display settings, use the language selector to enter translations for each field — title, description, button labels, badge text, and product message.

For widget headers and gift product names, use Shopify's Translate & Adapt app.

We apologize, but support is only available via email. Phone and video call support are not offered.

To reach us by email, please use our contact form.