2017-03-01 5 views
0

Ich versuche, benutzerdefinierte Dimensionen und Messwerte an Google Analytics über angulartics zu senden, aber der Bericht versagt jedes Mal an einem bestimmten Punkt.Angulartics und Google Analytics benutzerdefinierte Berichte

Ich brauche das Land, Seite, Produktnamen-Anzeige zu verfolgen (nicht bei allen Seiten) und einige Metriken als Preis etc.

Hier ist mein Code in meinem Modul und Controller:

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

hier ist meine config:

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); 

Und hier ein Beispiel für einen Controller, wo ich will Daten verfolgen

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() 
     }); 
    }); 

dieser Controller, Associate zum results.html Seite, theoricaly eine Dimension4 als null senden (Dimension4 ist der Produktname). Auf dieser Seite wird eine Produktliste angezeigt und ich muss den Benutzer auswählen.

Das Problem ist, wenn der Benutzer ein Produkt wählen und geht auf die Produkte/id Seite.

Die Route wurde geändert und an dieser Stelle möchte ich den Produktnamen (Dimension4) senden, den der Benutzer angezeigt hat.

Wenn ich den benutzerdefinierten Bericht auf der Google Analytics-Admin-Seite anschaue, wird die Seite Produkte/ID mit dem Produktnamen verknüpft, aber wenn der Nutzer die Seite/contact-us direkt nach der/products/ID konsultiert, dann meine benutzerdefinierten Bericht würde zeigen eine Reihe mit:

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

Statt:

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

Ist jemand eine Idee? ist es möglich, dass das Problem von $ localforage kam?

Antwort

0

Für diejenigen, die den gleichen benutzerdefinierten Bericht hier tun müssen, ist meine Lösung:

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  
    }); 

einfach verlassen metrisch und Dimension leer auf Seiten, die Sie nicht wollen, zu verfolgen. Es löste mein Problem

Verwandte Themen