Let’s start over.
You don’t need a “Tag Order” Action. When you click the Tag, that action is already being performed. You just need to capture the event in a Rule, and Execute a Change Price Action
Define your Order Tags, set the Tag Prices to zero (they aren’t used anyway), and map the Order Tag Group to the applicable Product(s). Also, Uncheck Add Tag Price To Order Price
(your Tag Prices are zero anyway).
Create an Action to Change Price:
Create 2 Rules, to Add/Remove the Discount:
Rule 1 (Order Tagged): in this formula, replace “10” with the correct amount of discount…
[=Order.Model.GetVisiblePrice()-(Order.Model.GetVisiblePrice()*10/100)]
Rule 2 (Order UnTagged): in this formula, replace “10” with the correct amount of discount…
[=Order.Model.GetVisiblePrice()/(1-(10/100))]
Tested to work:
Select Product:
Tag Product with Discount:
UnTag Product (remove Discount):
As for your other question:
Try an Update Program Setting Action to increment/decrement a counter whenever something is Tagged/UnTagged. Display the count with a Message box to see if it’s working.
This seems to do the trick… (you’ll need the opposite of this in the UnTag Rule (-1
)):
[=TN('{:TagCounter}')+1]