I feel like this is a tricky question, should s.clearVars(); be used before or after? Couple of use cases I have encountered,
#1 In Launch,
Clear Variables > Set Variables > Send Beacon
#2 Using AMO.js
Track events and eVars > fire s.tl() > call s.clearVars()
#3 CMS Application
In this case I was questioning when to fire s.clearVars()? Because i'm running into an issue where the event200 is getting picked by AMO.js and the same event is getting fired twice on separate occasions.
Is there a general rule which says fire s.clearVars() before tracking or after s.tl()? or is it custom?, based on use cases, like, it can be used either before or after?
You determine when you want to use s.clearVars(). There's no hard-and-fast rule. It's simply a convenient way to "wipe the slate clean" before the next tracking call.