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
2m ago Learn the essential skills to navigate the Shopify admin with confidence. T...
By Shopify Feb 12, 2025Learn how to expand your operations internationally with Shopify Academy’s learning path...
By Shopify Feb 4, 2025Hey Community, happy February! Looking back to January, we kicked off the year with 8....
By JasonH Feb 3, 2025