LoginSignup
4
3

More than 5 years have passed since last update.

[Google Analytics] ui-routerでurlに渡しているパラメータに依存しないでpageView数を集計したい(angulartics利用)

Posted at

angularticsいれるだけだと

ユーザーページのurlを

url: "/users/:userid"

と指定していると、
google analyticsは
/users/1
/users/2
とuser別に件数をカウントしてしまいます。

ユーザーページのPV数が取りたいのに。

$analytics.pageTrackを使う

$analytics.pageTrack('/my/url');

と記述すればこのpathで「も」GoogleAnalyticsに送られます。
(元の"/users/1","/users/2"でも送られます)

どこに記述するか

angularticsのwebsiteには

module.controller('SampleCtrl', function($analytics) {
    // emit pageview beacon with path /my/url
    $analytics.pageTrack('/my/url');

とControllerの頭に記述していますが、
URLの管理をしているmodule.configの方に書けば一元管理できます。

angular.module().config(
        ['$stateProvider', ($stateProvider: angular.ui.IStateProvider) => {
            $stateProvider
                .state('user-page', {
                    url: "/users/:userid",
                    onEnter: ['$analytics', function($analytics: any) {
                        $analytics.pageTrack('user-page');
                    }],
                })
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3