How do I apply a discount to a checkout upsell using Script Editor?
If you don't want to add a script and would like UpsellPlus to create the discount automatically, refer to the first section of Intro to discounts and use Shopify Functions instead.
To achieve this, we'll add a Shopify Script in 3 steps. No need for an engineer!
Step 1: Go to the official Shopify Script Editor App (https://apps.shopify.com/script-editor)
Click ‘Create Script’ > Choose the type of script you’re adding. For this example we'll choose between a percentage (%) off a product or amount ($) off a product discount. Select one and click ‘Create Script’. Name your Script.
Step 2: Add the script
Now we’ll add a small code snippet.
For a % off discount (10% in this example):
For a $ amount off discount ($5 in this example):
If you’re not familiar with code, this will do the following:
IF the item added to the cart has “upsell_id” as a property
THEN apply a discount and display the message ‘Upsell Discount’ for the discount code when this product is added to cart
The “upsell_id” is added by the app to all items that get upsold, so we can track your upsell analytics.
Step 3: Save and publish the script
Click 'Save and publish' in the script editor. Your discount is now live.
Customizing the discount
In this script, you can control:
1) The $ or % of the discount:
%: line_item.line_price * 0.90 = show product at 90% of it's price
$: line_item.line_price - Money.derived_from_presentment(customer_cents: 500) = 500 cents, so enter the cents you want to discount the product
2) The upsell message: Replace the "Upsell Discount" with your preferred discount code
If you already have existing campaigns running with Shopify Scripts, you can add this script just below it.
3) The offer ID, which will target a specific UpsellPlus offer you've configured.
You can find it in the app when you click into your upsell:
Shopify sets a limit on the number of Line Item scripts you can have live. If you want to combine multiple discounts into 1 script, you can use this threaded template:
To achieve this, we'll add a Shopify Script in 3 steps. No need for an engineer!
Step 1: Go to the official Shopify Script Editor App (https://apps.shopify.com/script-editor)
Click ‘Create Script’ > Choose the type of script you’re adding. For this example we'll choose between a percentage (%) off a product or amount ($) off a product discount. Select one and click ‘Create Script’. Name your Script.
Step 2: Add the script
Now we’ll add a small code snippet.
For a % off discount (10% in this example):
Input.cart.line_items.each do |line_item|
if line_item.properties.has_key?("__upsell_id") and line_item.properties["__upsell_id"].include? "e766cbff-060d-4ed7-9797-ccb9d2bdcf1a"
line_item.change_line_price(line_item.line_price * 0.90, message: "Upsell Discount")
end
end
Output.cart = Input.cart
For a $ amount off discount ($5 in this example):
Input.cart.line_items.each do |line_item|
if line_item.properties.has_key?("__upsell_id") and line_item.properties["__upsell_id"].include? "e766cbff-060d-4ed7-9797-ccb9d2bdcf1a"
line_item.change_line_price(line_item.line_price - Money.derived_from_presentment(customer_cents: 500), message: "Upsell Discount")
end
end
Output.cart = Input.cart
If you’re not familiar with code, this will do the following:
IF the item added to the cart has “upsell_id” as a property
THEN apply a discount and display the message ‘Upsell Discount’ for the discount code when this product is added to cart
The “upsell_id” is added by the app to all items that get upsold, so we can track your upsell analytics.
Step 3: Save and publish the script
Click 'Save and publish' in the script editor. Your discount is now live.
Customizing the discount
In this script, you can control:
1) The $ or % of the discount:
%: line_item.line_price * 0.90 = show product at 90% of it's price
$: line_item.line_price - Money.derived_from_presentment(customer_cents: 500) = 500 cents, so enter the cents you want to discount the product
2) The upsell message: Replace the "Upsell Discount" with your preferred discount code
If you already have existing campaigns running with Shopify Scripts, you can add this script just below it.
3) The offer ID, which will target a specific UpsellPlus offer you've configured.
You can find it in the app when you click into your upsell:
Shopify sets a limit on the number of Line Item scripts you can have live. If you want to combine multiple discounts into 1 script, you can use this threaded template:
Input.cart.line_items.each do |line_item|
if line_item.properties.has_key?("__upsell_id") and line_item.properties["__upsell_id"].include? "e766cbff-060d-4ed7-9797-ccb9d2bdcf1a"
line_item.change_line_price(line_item.line_price * 0.8, message: "Flash Sale")
end
if line_item.properties.has_key?("__upsell_id") and line_item.properties["__upsell_id"].include? "ADDOFFERID"
line_item.change_line_price(line_item.line_price * 0.5, message: "Special Discount")
end
if line_item.properties.has_key?("__upsell_id") and line_item.properties["__upsell_id"].include? "ADDOFFERID"
line_item.change_line_price(line_item.line_price * 0.4, message: "Promotion")
end
end
Output.cart = Input.cart
Updated on: 04/12/2024
Thank you!