What I want:
- I have created a script in the Script Editor that makes your first line item in a cart free. I want this script to execute once per customer.
My question:
- What is the syntax to limit a script to execute once per customer through the use of the Script Editor app?
Business use case:
- Without adding this functionality to my script, a customer could checkout with 1 item free... but then they could begin shopping again and checkout with a new cart with the first line item free again... that means they could get 10 free items from 10 different checkouts.
Thanks for your time and thoughts!
P.S. Script is in Ruby. Also, Setting up a discount code won't work for my use case.
CodePudding user response:
Um. You can always just assign a little tag to the customer. For example, if they received this free item, give them a tag on their first order. Now, if they try and fool you nine more times, check for that tag. If they have it, remove the item from checkout. Boom. problem solved.
CodePudding user response:
Any kind of solution could only work if Accounts are required otherwise you can't track the history of orders.
There are two possible solutions
- You create a flow that assigns a tag to a customer when they receive a gift. You check for the tag :
Input.cart.customer.tags.include?('gift_received')
and don't apply the discount. - If your case is just 'Gift on the first order' you can just check
Input.cart.customer.orders_count > 0
and that's it.