2017-03-01 106 views
0

我试图通过angulartics向Google Analytics发送自定义维度和指标,但报告每次都在某个特定点上失败。Angulartics和Google Analytics自定义报告

我需要跟踪的国家,网页,产品名称显示(不是每一个网页)和一些指标,如价格等

这里是我的代码我的模块和控制器:

angular.module('app', [ 
    'ngAnimate', 'ngRoute', 'ngSanitize', 'angular-growl', 'angulartics', 'angulartics.google.analytics', 
    'LocalForageModule', 'pascalprecht.translate' 
]); 

下面是我的配置:

app.config([ 
'$compileProvider', '$httpProvider', '$localForageProvider', '$routeProvider', '$translateProvider', 
'$analyticsProvider', 'growlProvider', 
function($compileProvider, $httpProvider, $localForageProvider, $routeProvider, $translateProvider, $analyticsProvider, growlProvider) { 
    $compileProvider.debugInfoEnabled(configuration.angular.compileProvider.debugInfoEnabled); 

    $analyticsProvider.virtualPageviews(false); 

在这里,我想跟踪数据的控制器的一个例子

controllers.controller('ResultsController', [ 
'$localForage', '$scope', '$timeout', '$translate', '$analytics', '$rootScope', '$location', '$window', 
function($localForage, $scope, $timeout, $translate, $analytics, $rootScope, $location, $window) { 
    var logger = log4javascript.getLogger('Results'); 

$rootScope.$on('$routeChangeSuccess', function() { 

     console.log('Route Changed: ' + $location.url()); 

     $window.ga('send', { 
      'hitType': 'pageview', 
      'dimension4' : '', 
      'page' : $location.url() 
     }); 
    }); 

此控制器与results.html页面相关联,理论上发送dimension4为空(dimension4是产品名称)。此页面显示产品列表,并且我有用户必须选择一个。

问题出在用户选择产品并进入产品/ ID页面时。

$rootScope.$on('$routeChangeSuccess', function() { 

     console.log('Route Changed: ' + $location.url()); 

     $window.ga('send', { 
      'hitType': 'pageview', 
      'dimension4' : data.product.upsPn, 
      'page' : $location.url() 
     }); 
}); 

路线改变,在这一点上我想给用户显示的产品名称(dimension4)。

当我在Google Analytics管理页面上查看自定义报告时,页面产品/ id与产品名称相关联,但如果用户在/ products/id之后咨询了页面/ contact-us,则我的自定义报告将显示与行:

country code   page    product name 
FR     /products/id  TOTO56000 
FR     /contact-us  TOTO56000 

相反的:

country code   page    product name 
FR     /products/id  TOTO56000 
FR     /contact-us  

有没有人有一个想法?有可能这个问题可能来自$ localforage?

回答

0

对于那些谁需要做相同的自定义报告是我的解决方案:

Remove $window, $rootScope and $location from DI 
Remove the $rootScope.on and replace by 

$analytics.pageTrack('/results'); 

    $analytics.setUserProperties({ 
     dimension3: '/results'   
    }); 

    $analytics.setUserProperties({ 
     dimension4: ' '   
    }); 

    $analytics.setUserProperties({ 
     metric1: 0  
    }); 

见好就收指标和维度上你不想要跟踪的网页空。它解决了我的问题