Hi Zhengquan,
Please check documentation
The syntax for products variable needs to be as follow:
"Category;Product;Quantity;Price;eventN=X[|eventN2=X2];eVarN=merch_category[|eVarN2=merch_category2]"
Notice that events are going before eVars and even if you do not have any events you still need to leave the placeholder.
i.e: s.products=";product1;1;10;;eVar1=test"
As you can see in this example I omitted category and events but I still left the ; placeholder.
In your first example you omitted the placeholder for events before eVar.
The right syntax should be as follow:
s.products="Footwear;Running Shoes;1;69.95;;eVar3=Discount 1,Running Essentials;Running Socks;10;29.99;;eVar3=Discount 2"
Notice: I added ; for events placeholder.
In your seconds example: events always need to be a numeric value so it will not work.
One more IMPORTANT thing:
when you use eVar in the product variable then this eVar needs to be configured as a merchandising eVar with product syntax in Adobe Analytics Admin interface. If you do not do that then it will not work.
Doc
If you do all that then it should work.
Best regards.
Alexis Cazes