The implementation seems to be correct but the counter events passed within s.events will be attributed to all the products getting fired in the same server call.
You can change the type of event1 and event2 from counter to numeric and pass in product syntax like below if you just started using these events. s.products = "Example category 3;12345;4;12.60;event1=1|event21=9
If you are using these events since long for other purpose and have meaningful data than we won't suggest to change the event types.
I will suggest you to a merchandising eVar in this scenario & pass the product name when you are setting the event. This should allow you to bind an event with a specific product. For more information on this topic, you can also refer to the below documentation link.