Personalized checkout and custom promotions with Shopify Scripts
I'm writing a script that will apply free shipping if the cart contains a specific item and a discount code is used. Here is my script
if Input.cart.discount_code && Input.cart.discount_code.code == "FREEITEM" ELIGIBLE_SERVICE = "Standard Ground Shipping" ELIGIBLE_ITEM = "424492626116" Input.cart.line_items.each do |line_item| if line_item.variant.product.id == ELIGIBLE_ITEM Input.shipping_rates.each do |shipping_rate| if shipping_rate.name == ELIGIBLE_SERVICES shipping_rate.apply_discount(shipping_rate.price, message: "Free shipping for this product!") end end end end end Output.shipping_rates = Input.shipping_rates
However, it only runs when there are multiple items in the cart. It should work when the specific item is added, even if it's the only item added.
Hi @KolbySisk ,
Did you select "line_item" as the type of script in Script Editor? Also at which point do you apply the discount because without a discount the remainder of the code would have never executed.
Best,
Sam
Thanks to all Community members that participated in our inaugural 2 week AMA on the new E...
By Jacqui Mar 10, 2023Upskill and stand out with the new Shopify Foundations Certification program
By SarahF_Shopify Mar 6, 2023One of the key components to running a successful online business is having clear and co...
By Ollie Mar 6, 2023