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
Hey Community! As we jump into 2025, we want to give a big shout-out to all of you wh...
By JasonH Jan 7, 2025Hey Community! As the holiday season unfolds, we want to extend heartfelt thanks to a...
By JasonH Dec 6, 2024Dropshipping, a high-growth, $226 billion-dollar industry, remains a highly dynamic bus...
By JasonH Nov 27, 2024