Working with Pre-Purchase Discounts and Draft Orders [OCU]

Learn how discounts and incentives for pre-purchase offers are applied through the use of Draft orders!

Ash avatar
Written by Ash
Updated over a week ago

About Pre-purchase discounts and incentives

Pre-purchase offers are a great way to get more products in front of your customers before they reach the checkout! Using incentives and discounts can help sweeten the deal, encouraging customers to add more products to the cart.

When configuring the buy box for the pre-purchase offer these are the discount options available:

  • None (default) - No discount is applied

  • Compare at Price - The offer will pull in the compare at price from your Shopify

    Product settings. This has the appearance of a discount, just like your Shopify product page but doesn't actually apply a discount to the offer.

  • Percentage - A discount is applied that reduces the cost of the offer by a percentage of the default price

  • Fixed Amount - A discount is applied that reduces the price of the offer by a specific dollar amount

For the Multi-Product Pre-Purchase offer there are also discount incentives you can use to encourage the customer to add more products to their cart

Discount Progress Bar - Once the customer has added enough products to the cart to reach a specific total amount, a discount set by the merchant will be offered.

Free Shipping - Once the customer has added enough products to the cart to reach a specific total amount, free shipping will be added to the order.

When using either the percent or fixed amount discount, or one of the multi-product incentives, OCU creates a draft order to apply the discounted amount to the checkout. In this article we are going to focus on how creating and working with draft orders might affect your current checkout flow.

📝 Discounts can't be applied to a Shopify Gift Card product.

Draft Orders

According to Shopify, Draft Orders are orders that allow merchants to create orders on behalf of customers. It is through the Draft Orders API that OCU is able to apply discounts to pre-purchase offers. If a customer accepts a pre-purchase offer that is using any of the discount methods listed above, a draft order will be created in order to apply that discount.

Draft Order Checkouts operate differently than your typical Online Store Checkout. Here are a few things you need to know…

  1. When a draft order is created, the discount code box will no longer be available since the pre-purchase discount has already been applied to the order. Shopify doesn’t allow the stacking of multiple discount codes.

  2. Draft Order checkouts don't support subscription products. Therefore if you use a subscription app that works on Shopify Checkout, don't use "fixed amount" or "percentage" discounts for your OCU Pre-purchase offers. Doing so will cause the subscription product added to cart to be converted into a one-time product at checkout if the customer adds the offer.

  3. Draft Order Checkouts don't support multi-currency. Draft orders are always in the shop's currency. Selling in multiple currencies is supported on the Online Store sales channel only. You can't sell in multiple currencies in any other channel.

  4. Accelerated checkout buttons on the cart page will not open a draft order. Customers will be directed to the online store checkout to complete their checkout after logging in to the accelerated checkout service - i.e. PayPal, Amazon Pay, ShopPay, etc.

  5. Orders that are placed through a draft order will be imported into a separate sales channel from the "Online Store" Sales channel.

Shopify's Abandoned Cart email isn't automatically sent for an order generated via a Draft Order. The abandoned cart restore link is still generated, but will need to be sent manually to the customer by clicking the "Contact customer" button in the Orders > Abandoned checkouts section of your Shopify admin.

Orders Imported By OneClickUpsell

In your Shopify admin, all orders completed using an OCU draft order are marked as "from One Click Upsell - Zipify OCU (via import)"

Such orders will also be listed in the "Zipify OneClickUpsell" sales channel in your Shopify admin. Orders that contain pre-purchase offers, but without a discount, or those that contain post-purchase offers only are marked as "Online Store" and are included in that sales channel. Please refer to OCU in-app Statistics for upsell stats because it is incomplete for the Zipify OneClickUpsell channel in your Shopify admin.

If a pre-purchase upsell with a discount is added by the customer and their order is completed, then the "Session details" (including UTM parameters) will be lost and are not able to be recorded or shown in the Conversion summary of the order:

When to avoid Pre-Purchase discounts

While offering discounts with your pre-purchase offers can give a significant advantage to merchants who are trying to increase their AOV, there are certain situations where draft orders may cause a conflict with your checkout flow, and therefore applying automatic discounts is not recommended. If any of the following scenarios apply to your store, we recommend that you don't use any of the discounts or incentives options. You can still offer pre-purchase without a discount or use the Shopify Compare at Price option to avoid the creation of a Draft Order Checkout.

🚫 Merchants who use store-wide Shopify Automatic Discounts

Automatic Discounts cannot be applied to a Draft order. If a draft order is created, the customer will lose the option to have an automatic discount applied.

If you are offering an automatic discount on a particular product or collection, be sure not to use those products as triggers for discounted pre-purchase offers.

🚫 Regularly offering discount codes for use at checkout through other incentives (emails, site-wide, etc.)

Only one discount can be used on the checkout at a time. If a draft order is created, the customer won't be able to apply another discount code to the checkout.

🚫 Using 3rd party apps that apply automatic discounts

The script from the app that runs first will define which app will work with the order.

The following are examples of apps that utilize draft orders or apply automatic discounts:

  • Awesome Quantity

  • Bundle Builder

  • Bundler - Product Bundles

  • Gift Box

🚫 Subscription apps that use the Shopify Checkout

When there’s a subscription product in the cart, the pre-purchase offer with a Fixed Amount or Percentage discount will be shown. However, if the customer accepts such an offer and goes to checkout, then the subscription product will be added as a regular one-time purchase product instead. This is due to Shopify Draft Order limitations.

  • When using legacy subscription apps (Bold, Recharge, etc) that use a 3rd party Checkout, if there's a subscription product in the cart (whether it's an OCU trigger product or not) a pre-purchase offer will not be shown in order to prevent an incompatibility issue with Draft Orders and the Bold/ReCharge Checkout. Switch to the new ReCharge/Bold app that uses Shopify Checkout if you want the pre-purchase popup to be shown for subscription products.

🚫 Shopify’s Geolocation App

Pre-purchase offers with a Fixed Amount or Percentage discount will be shown in the buyer’s currency, but if it’s accepted the checkout will be shown in the default store currency. The Shopify draft order API has limitations that prevent it from working with the Geolocation app, so we aren’t able to create a draft order in the buyer’s currency.

🚫 Accelerated Checkout options are in use on the Cart page

The OCU discount can't be passed to Checkout if the customer adds the offer product to the cart, then logs in to PayPal (or another digital wallet like ShopPay / Amazon Pay, etc) from the Cart Page. It’s technically not possible because we can’t add our script to the PayPal login popup iframe.

To ensure the OCU discount is passed to checkout reliably, it's recommended to remove the "accelerated checkout" buttons from your Cart Page so only the actual "Checkout" button is included there. See details below:

1. Go to Online Store > Themes > Edit code

2. In the "Sections" folder find the cart-template.liquid file OR in the "Templates" folder find the cart.liquid file.

3. Within the file, comment or remove the condition below:

{% if additional_checkout_buttons %}

📝 To comment it out, add comment tags around the condition like the example below:

{% comment %} {% if additional_checkout_buttons %}{% endcomment %}

Did this answer your question?