Google Tag Manager reporting wrong analytics

I’m using Google Tag Manager for analytics on my self-hosted instance but it is reporting wrong analytics for some items.
For example:

  1. Page load time is always 0 seconds.
  2. Average page time is under-reported. People are spending upto 3 hours in a meeting but the reported time is around 20 minutes max.

Any ideas what’s going on here?