angular.module('spgtag', []).run(function($rootScope, $window, $location) {
    $rootScope.$on('$locationChangeSuccess', function(event, toState, toParams) {

        $window.dataLayer = $window.dataLayer || [];

        setGTAG();

        function setGTAG() {
            var ga = new GlideAjax('GTPropertyReader');
            ga.addParam('sysparm_name', 'getGoogleAnalyticsTrackerID');
            ga.getXMLAnswer(readProperty);
        }

        function readProperty(response) {
            var tracker_id = JSON.parse(response).property;
            if (tracker_id) {
                gtag('js', new Date());
                gtag('config', tracker_id);
            }
        }

        function gtag() {
            dataLayer.push(arguments);
        }

    });
});