Hi BK! This is Beck. I'm a part of the analytics team here at Moz.
Thank you for reaching out to us. We'll try to answer your question the best we can.
The gaq.push option is a commonly used solution, as long as you are following through with the same methodology on your site setup. I am attaching a link below that may help you put the GA event tracking practice a little more in perspective. Having said that however, other options you mentioned are certainly plausible. Can you be a little bit more specific about your setup?
The GA event tracking how-to is the following: https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide
As far as your question on the tag manager setup, yes, tag manager can help you out with this as well, as long as your methodology is consistent throughout your site. I'm attaching another documentation that talks about tag management event tracking as well. If this doesn't help, can you be a little more specific on what you're trying to accomplish on this as well?
The tag management event tracking is the following: https://support.google.com/tagmanager/answer/3420054?hl=en
Thanks again for reaching out to us!
-Beck