52. 過去のトラッキングデータやレポートを記録、無効、再処理するには?
※注 この記事は Piwik1.8~2.17のアーカイブ情報です
この質問は、訪問やアクションを手動で挿入するために、Piwik で REST Tracking API を使用するユーザーを対象にしています。パラメーター cdt により、ページビューの日付と時間が定義されます。この日付を過去の日付 (たとえば 3 年前) に設定し、かつ Piwik がすでにこの日付に対する統計データを処理していた場合、Piwik に新しく追加されたデータは表示されません。
Piwik に、過去のデータが事後的に記録されたものであることを伝え、再度この日付に対するアーカイブを強制的に実行するには、以下の API ファンクションを使用することができます。: CoreAdminHome.invalidateArchivedReports.
たとえば、異なる日付のペアで、幾つかの特定のウェブサイトに対する過去のデータをインポートしたい場合、以下のように記述することができます。
?module=API&method=CoreAdminHome.invalidateArchivedReports&idSites=1,3,5&dates=2012-01-01,2011-10-15&token_auth=xyz
または、core:invalidate-report-data
コマンドを使用することもできます。
./console core:invalidate-report-data --dates=2012-01-01,2011-10-15 --sites=1,3,5 --dry-run
注意 :
・次回の自動アーカイブは、自動的にこれらの特定の日付に対するデータを再処理します。
・セグメントされたレポートを無効化したり、再処理すること、また単純に URL クエリーにセグメントパラメータを追加することが可能です。: &segment=pageUrl=@example.org/contact
・まれなケースではありますが、特定の期間 (日、週、月、年、範囲のいづれか) を削除したい場合は、&period=
パラメーターを設定して API を呼び出すことができます。これにより特定の期間のレポートを強制的に無効にすることができます。
・たとえばある週の期間に対するレポートを無効にした場合、この 1 つの期間を含む全ての期間 (たとえば月と年を含む) が自動的に無効になります。これを無効化カスケードアップといいます。デフォルトでは、含まれる期間は無効化されません (無効化された月内の日と週は再処理しません)。またパラメーター &cascadeDown=1
を設定することにより内部の期間を強制的に無効化することも可能です。