I'd recommend (at a high level, without knowing your exact app) that for most Single Page Applications (SPA), utilizing a combination of DTM/Launch, Data Layer and Direct Call rules. Timing is almost always an issue for SPA's so fine control of when things are happening are probably the best way of ...