ニュース

あなたのウェブサイトとウェブアプリケーションを複数のPiwikに追跡させる方法と、簡単かつ効率的に行う方法に関する完全なガイド

2017年03月01日 トピックス ニュース

測定されたデータが意味を持ち、正しいものであることを確認する必要があるため、ウェブサイトとアプリの追跡を正しく行うことが成功の鍵です。そのため、InnoCraftでは、顧客がウェブトラッキングとデジタル測定戦略を設定するのを支援しています。いくつかの課題には、分析データを複数のPiwikサービスにトラッキングさせることと、シングルページのWebサイトとWebアプリケーション(前の記事で説明したもの)を追跡することが含まれます。このブログ記事では、あなたのウェブサイトのデータを複数のPiwikで正しく追跡する方法を説明します。

トラッキングコードの埋め込み

まず、JavaScriptトラッキングコードをウェブサイトやアプリにいつものように埋め込む必要があります。まだ行っていない場合は、Piwikにログインし、右上の「管理」をクリックして「トラッキングコード」に移動します。トラッキングコードをニーズに合わせて調整するためのさまざまなオプションがあります。

同じデータを異なるウェブサイトでトラッキングする

通常のJavaScriptトラッキングコードを設定し、同じデータを2番目のPiwikウェブサイトでトラッキングするとします。この2番目のPiwik Webサイトは、同じPiwikインストールまたは別のPiwikにインストールすることができます。これを行うには、トラッキングコードに次の行を追加します:

_paq.push(['addTracker', 'https://$yourPiwikDomain/piwik.php', idSite]);

これは次のようになります:

var u = '//$yourPiwikDomain';
_paq.push(['addTracker', u + '/piwik.php', var idSite = 2]); // adds an additional tracker
_paq.push(['setSiteId', '1']); // configures your regular Piwik tracker
_paq.push(['setTrackerUrl', u + 'piwik.php']);

これにより、PiwikのWebサイト1とWebサイト2に同じデータが記録されます。addTrackerのドメインを変更して、別のPiwikインストールを指すようにすることもできます:

_paq.push(['addTracker', '//$differentPiwikDomain/piwik.php', var idSite = 2]);

後で呼び出すすべてのPiwikトラッカーメソッドは、すべてのトラッカーに適用されます。
_paq.push(['disableCookies']); _paq.push(['trackPageView']);を呼び出したとします。両方のメソッドはすべてのトラッカーインスタンスで呼び出され、同じ振る舞いをし、同じデータを両方のPiwik Webサイトにトラッキングします。

異なるデータを異なるウェブサイトでトラッキングする

特定のデータのみを1つのWebサイトでトラッキングし、別のデータを別のWebサイトでトラッキングする場合は、トラッカーを別々に設定する必要があります。たとえば、1つのトラッカーに対してのみリンクトラッキングを有効にし、他のトラッカーに対してはリンクトラッキングを有効にしないとします。問題は_paq.push(['enableLinkTracking']);を呼び出すことです。 すべてのトラッカーのリンクをトラッキングできます。この制限を回避するには、トラッカーを次のように別々に構成してください:

window.piwikAsyncInit = function () {
    Piwik.on('TrackerSetup', function (tracker) {
      if (tracker.getSiteId() == 2 
         || tracker.getTrackerUrl() === '//$yourPiwikDomain/piwik.php') {
          tracker.enableLinkTracking();
	}
    });
};

これにより、特定のWebサイトIDまたはPiwikドメイン用に構成されたトラッカーのみのリンク追跡が可能になりました。

前に生成されたトラッカーインスタンスへのアクセス

_paq.push経由でトラッカーを設定すると、Piwikが非同期でロードされ、ロードされるとすぐにトラッカーインスタンスが作成されるため、いわゆる “非同期トラッカー”が作成されます。このようなトラッカーのインスタンスを取得する必要がある場合は、メソッドPiwik.getAsyncTracker(trackerUrl, idSite)を使用できます。これは、シングルページのウェブサイトを持ち、異なるデータを異なるウェブサイトでトラッキングする場合に便利です:

window.addEventListener('hashchange', function() {
    if ('undefined' === typeof Piwik) {
        // Piwik might not be loaded yet
        return;
    }
    var tracker1 = Piwik.getAsyncTracker('//$yourPiwikDomain/piwik.php', var idSite = 1);
    var tracker2 = Piwik.getAsyncTracker('//$yourPiwikDomain/piwik.php', var idSite = 2);
    tracker1.setCurrentUrl('/' + window.location.hash.substr(1));
    tracker2.setCurrentUrl('/mywebsite/' + window.location.hash.substr(1));
});

“_paq”を使用せずに複数のPiwikインストールで異なるデータをトラッキングする

一部のユーザは、_paq.pushを使用せず、代わりにPiwik.getTracker(trackerUrl, idSite)メソッドを使用してトラッカーインスタンスを直接作成することを好みます:

window.piwikAsyncInit = function () {
    var tracker1 = Piwik.getTracker('//$yourPiwikdomain/piwik.php', var idSite = 1);
    tracker1.disableCookies();
    var tracker2 = Piwik.getTracker('//$yourPiwikdomain/piwik.php', var idSite = 2);
    tracker2.enableLinkTracking();

    tracker1.trackPageView();
    tracker2.trackPageView();
};

私たちは通常、トラッカーを手動で作成することを推奨しません。これは、トラッカーをより複雑にし、正しい順序でトラッカーを設定する必要があるからです。たとえば、Cookieの設定を禁止するには、他のメソッドを呼び出す前にdisableCookiesを呼び出すことをお勧めします。トラッカーを手動で作成し、次のいずれかの方法を使用する場合は、必ずこの順序で呼び出してください:

disableCookies(), setAPIUrl(), enableCrossDomainLinking(), setCookiePath(), setCookieDomain(), setDomains(), setUserId(), enableLinkTracking()

ロールアップレポート – 簡単かつ効率的な方法

ユーザーは、すべてのWebサイトで集計されたデータを必要とするため、データを複数のWebサイトにトラッキングすることがよくあります。1つのウェブサイトのすべての統計情報を表示したいだけでなく、どのウェブサイトがどのウェブサイトで閲覧されたのか、特定のウェブサイトや検索エンジンからすべてのウェブサイトにどの程度のトラフィックが流れているのかを確認したいでしょう。これは、2つ目のトラッカーをすべてのウェブサイトに追加し、通常のPiwikウェブサイトだけでなく、すべてのウェブサイトで統計情報を提供する1つの追加ウェブサイトにデータをトラッキングすることを意味します。これにはいくつかの欠点があります:

  • トラッキングコードを正しく取得する上での複雑さと、トラッキングコードの統合と保守に必要な時間
  • すべてがいくつかのウェブサイトにトラッキングされる必要があるため、ウェブサイトのパフォーマンスが低下。これにより、コンバージョンと販売が減少する可能性があります
  • 2倍のトラフィックを処理する必要があるため、Piwikのパフォーマンスが低下します。これは、トラッキングが遅くなり、レポートが遅くなり、データベースが2倍になることを意味します

幸いにも、ロールアップレポートと呼ばれる優れたソリューションがあります。ロールアップレポートを使用すると、これらの不利な点がなくても、すべてのウェブサイトやウェブサイトの集計データを取得できます。それはあなたが望むように多くのロールアップを作成することができますし、一緒に新しいウェブサイトに集めるべきウェブサイトのデータを選択することができます。

Piwikトラッカーを1台削除することにしたのは、サーバーコストの削減、Webサイトの高速化、Piwikの高速化などの理由によるものです。これらの利点のすべてに加えて、訪問者ログ、リアルタイムマップ、その他のウィジェットやレポートをいくつかのWebサイトで表示することもできます。

質問ですか?

ご不明な点がございましたら、お気軽にお問い合わせください。Piwik JavaScriptトラッカーの詳細については、Piwik Developer Zoneを参照してください。複数のPiwikトラッカー専用のセクションがあります。