google analytics importer

Google Analyticsインポーター

Google Analyticsのデータのインポート

目次

  1. 要件
  2. 設定
  3. Google Analyticsからのインポートの実行
  4. Google Analyticsからの移行のためのワークフロー
  5. トラブルシューティング
  6. 責任制限

Google Analyticsインポータープラグインを利用すると、Google AnalyticsレポートをMatomoのインスタンスにインポートできます。

インポートを行う場合、Google Analytics(GA)PropertyがWebサイトとして自動的に生成され、Matomoに(目標機能やカスタムディメンションなどに対しても)組み込まれ、GAの履歴レポートはすべてインポートされるため、お客様はMatomoですべてのお客様のWeb分析データを閲覧できます。

バグが発生した場合またはご意見がある場合は、ここからGithubにレポートを送信してください。

要件

Matomo On-PremiseおよびWordPress向けMatomoへのインポート

  • Google Analytics Importerをご利用される場合、Matomoのバージョンは3.12.0以降であることが必要です。
  • PHP構成においてshell_exec()またexec()の関数の利用が許諾される必要があります。
  • お客様のサーバーでWebリクエストによりCLI PHPの実行が許諾されることおよびnohupが実行可能であることが必要です。
  • お客様のMatomoインスタンスでcronアーカイブの設定が必要です。

Matomo Cloudへのインポート

  • 当社のクラウドホスティングサービスが自動的にすべての要件を満たします。

設定

Google AnalyticsのデータをそのAPIを利用してエキスポートし、お客様のMatomoにインポートする場合、事前に2つの設定手順を行う必要があります。
1)Google OAuth Client Configの設定
2)お客様のGoogle AnalyticsのデータをエクスポートするためにMatomoに権限を付与
これら2つの手順は1度だけ行います。

1)Google OAuth Client Configの設定

開始する前の重要な注意事項:これらの手順のどの時点でも、確認のために「アプリ」をGoogleに送信する必要はありません。「アプリ」を送信するように求められ、[いいえ]または[キャンセル]をクリックするオプションがない場合は、このガイドの手順をもう一度確認して、重要な手順を見逃していないことを確認するか、不要な場合は追加情報を追加してください。

OAuth Client Configを設定するには以下の手順に従ってください。

  1. Google API Consoleにログインします。
  2. メニューで「プロジェクトを選択する」をクリックします。
  3. 新しいプロジェクトを作成するには、オーバーレイにある「 New Project 」ボタンをクリックします。
  4. お客様の新しいプロジェクトに分かりやすい名前を付けます(例:Matomo Google Analytics Importer)。
  5. プロジェクトが作成されたら、プロジェクトリストからプロジェクトを手動で選択して「開く」をクリックします。
  6. 左側にあるメニューでライブラリをクリックし、 Google Analytics APIを検索して、[Google AnalyticsAPI]アイテムをクリックします。次に、このAPIの説明ページで、[有効にする]ボタンをクリックします。
  7. Google Analytics ReportingAPIに対しても同様の設定を行います。
  8. 次に「OAuth Consent Screen 」を設定します。最上部にあるGoogleのロゴをクリックし、ダッシュボードに戻ります。次に左側のメニューにある「 OAuth Consent Screen 」をクリックし、「外部」をクリックし、「作成」をクリックします。
  9. アプリの名前を選択し、[ドメインの追加]をクリックして、matomoインスタンスのトップレベルドメインを追加します。例) matomo.cloud
  10. [ユーザーサポートメール]の下のドロップダウンメニューからメールアドレスを選択し、開発者の連絡先情報としてメールアドレスを入力します。 重要な注意:ここにアプリのロゴをアップロードしないでください。アップロードすると、確認のために「アプリ」をGoogleに送信する必要があり、完了するまでに数か月かかる場合があります
  11. [保存して続ける]をクリックし、[スコープの追加と削除]をクリックします。
  12. 読み取り専用プロパティで「GoogleAnalyticsAPI」スコープを選択し、[更新]をクリックしてから、[保存して続行]をクリックします
  13. 次に、Google Analytics APIスコープへのアクセスを許可するために、テストユーザーを追加する必要があります。[ユーザーの追加]をクリックして、Googleアナリティクスデータへのアクセスに使用するメールアドレスを入力します。
  14. [保存して続行]をクリックし、[ダッシュボードに戻る]をクリックします。
  15. 左側のメニューの[資格情報]タブに移動します。
  16. [資格情報の作成]をクリックします。
  17. OAuthクライアントIDを選択します。
  18. アプリケーションタイプとしてWebアプリケーションを選択します。
  19. アプリケーションの名前を設定します(例:https://matomo.my-website.exampleのMatomo)
  20. [承認されたJavaScriptオリジン]の下の[URIの追加]をクリックして、Matomo URLドメインに設定します(例:https://matomo.my-website.example)。注:これはドメインである必要があります。 Matomoをサブディレクトリにインストールした場合は、パスなしでドメインを入力する必要があります。 (https://my-website.example/matomo/の場合はhttps://my-website.example)
  21. [承認されたリダイレクトURI]の下の[URIの追加]をクリックします。これは、この特別なURL / query /index.php?module=GoogleAnalyticsImporter&action=processAuthCodeを最後に追加して、MatomoURLに設定する必要があります。例:https://matomo.my-website.com/index.php?module = GoogleAnalyticsImporter&action = processAuthCode
    注:上記のURLはHTTPSです。MatomoインスタンスをSSL経由で実行することを強くお勧めします。 Matomoがまだhttpsをサポートしていない場合は、URLを置き換えてhttpを使用できます。WordPressにMatomoを使用している場合:URLは、Matomoの管理ページへのパス全体で始まる必要があります(例:http://mysite.com/wp-content/plugins/matomo/app/index.php)。注:MatomoのURLにはサブドメインが必要ないことに注意してください。これは単なる例です。
  22. 2つのURIを入力したら、[作成]をクリックしてOAuthクライアント資格情報の作成を終了します。
  23. 作成したばかりのOAuth認証情報が表示されます。[OK]をクリックしてこのダイアログを閉じ、認証情報の概要ページのダウンロードアイコンをクリックしてOAuthクライアントの認証情報をダウンロードできます。 (注:値の1つでタイプミスを修正するなど、後で上記の設定を変更した場合は、OAuth資格情報を再度ダウンロードして、Matomoに再アップロードする必要があります。)
  24. これで、OAuthクライアント構成を作成する手順が完了しました。このプロセス中に作成された「アプリ」は、レビューのために送信する必要なしに、「テスト」または「テストフェーズ」アプリとして残すことができます。 これらの手順のどの時点でも、確認のために「アプリ」をGoogleに送信する必要はありません。「アプリ」の送信を求められ、[いいえ]をクリックするかキャンセルするかを選択できない場合は、このガイドの手順をもう一度確認して、重要な手順を見逃していないことを確認するか、不要な場合は追加情報を追加してください。

    OAuthプロセスを完了すると、「Googleはこのアプリを検証していません」という警告がGoogleから表示される場合があります。 この場合、「詳細」をクリックしてから「matomo.cloudに移動(安全でない)」または「yourdomain.comに移動(安全でない)」をクリックすると、安全に続行できます。

2)Matomoへの権限付与

OAuth client credentialsをダウンロードすると、MatomoにGoogle Analyticsのデータへアクセスする権限を付与できます。

  1. Matomoで「スーパーユーザー」としてログインし、「管理」ページを開きます。
  2. 左側のメニューにある「Google Analytics インポート」をクリックします。このメニューが表示されない場合は、GoogleAnalyticsImporterプラグインをインストール済みであることを確認します。
  3. 「構成ファイル」をクリックし、ファイルを選択し、「保存」を押して、「Google OAuth Client configを設定する方法」からダウンロードしたOAuth client credentialsをアップロードします。
  4. ここで「権限の付与」をクリックし、プロンプトに従ってGoogle Analyticsのデータへのアクセス権をMatomoに付与します。

Google Analyticsからのインポートの実行

Matomoへの権限付与を完了すると、データのインポートを開始できます。この操作は主に管理ページで行いますが、コマンドラインを使用して行うこともできます。インポートするデータ量次第では、完了まで長い時間がかかる(大抵の場合、1日以上)可能性があります。

注記:Googleは、お客様が1日に送信できるAPIのリクエスト数に上限を設けています(多くても5万回)。各日にデータがある場合で約4ヶ月分のデータをインポートした場合にインポートの設定限度に達すると考えられます。この場合で、インポートに数時間を要します。つまり、すべてのデータセットのインポートを完了するには、インポートを数日間実行する必要があるということです。

管理ページを利用する場合

管理UIを使用するには

  1. 「Google Analyticsインポート」管理ページを開きます。
  2. 「インポートの予定を作成」フォームに記入し、「開始する」をクリックします。
  3. インポート中に以下の「インポートジョブ」テーブルを見ることで進行状況(ステータス)を把握できます。 いつでもページを更新して最新の状態を閲覧できます。
  4. インポートに完了の印が付くと、ステータス画面を閉じることができます。インポートが失敗した場合は、/path/to/your/matomo/tmp/logs/にあるログを閲覧できます。各ジョブに1つのステータスが表示されるはずです。

コマンドラインを利用する場合

インポート中にその進行状況に関するもっと詳しい情報を知りたい場合は、コマンドラインを利用してインポートを実行することもできます。

  1. まず、いくつかの情報が必要です。お客様のGoogle Analyticsのダッシュボードでプロパティセレクタを開きます。
  2. インポートしたいプロパティ/ビューの「Property ID」と「View ID」を見ます。
  3. お客様のMatomoのインスタンスにsshを適用します。
  4. お客様のWebサイトをインポートするために、次のコマンドを実行します。
$ cd /path/to/my/matomo
$ php ./console googleanalyticsimporter:import-reports --property=<property-id> --view=<view-id> --dates=<dates>

property Idおよびview-idには、上記のGA property IDとGA view IDを代用します。datesには、インポートをしたい日の範囲を指定します(例:2015-01-01、2019-04-31)

次は、インポートが完了するまで待ちます。少し時間がかかります。

過去に行っていたインポートを再開したい場合は、そのインポートのために作成されたWebサイトに--idsite=<idSite> パラメータを与えます(これは、管理ページのインポートステータステーブルから行えます)。

インポートが完了すると、過去に付与した権限を解除できます。MatomoがGoogle Analyticsにアクセスする必要があるのは、データをインポートする間だけです。その後にアクセスを継続しても意味がありません。

インポートオプション

モバイルアプリのプロパティのインポート

お客様のGAプロパティがモバイルアプリ向けのものである場合は、インポートをする前にMobile Appチェックボックスにチェックを付ける必要があります。

チェックを付けることにより、Matomoが確実に正確なデータをインポートすることができます。Google AnalyticsのScreen Views指標は、インポートされ、matomoのPageviews指標として利用されます。Screens ReportsはMatomoではPage Titlesレポートとしてインポートされます。

このボックスにチェックを付けず、お客様のプロパティがモバイルアプリの向けのものであった場合、インポーターはこのデータを無視します。

サポートされていないGAディメンションのインポート

GAディメンションの中には、例えば、デモグラフィックディメンションなど、Matomoに存在しないものもあります。インポートに際してこの情報も欲しい場合があるでしょう。このデータは、カスタムディメンションとして扱えば、インポート可能です。

インポートフォームにおいて、「Extra Custom Dimension Mappings」フィールドにお客様のインポートしたいGAディメンションを入力します。

GAディメンションに適切なproperty IDを知りたい場合は、このリストを使用してください。

インポート時には、1つ余剰にマッピングを行うごとに、インポートしたWebサイトのカスタムディメンションスロットが1つ埋まってしまいます。(注記:お客様のMatomoに十分なカスタムディメンションスロットがない場合はエラーになります。)

インポートが終わったら

データをMatomoにインポートした後は、Matomoのデータベースをバックアップしておくのが賢明です。インポートしたレポートのデータがパージされる、または何らかの方法で消去されることになった場合、このデータをGAから再インポートしなければならなくなるかもしれません。お客様のGAプロパティが消去された場合、データが回復されることはありません。

お客様のデータベースを定期的にバックアップしておけば(またはお客様のホストがお客様のためにバックアップをすれば)、データの喪失に不安を覚えずに済みます。

Google Analyticsからの移行のためのワークフロー

Matomoへの移行に際してインポーターを利用してGoogle Analyticsのデータを保持する方法は、いくつかあります。このセクションはお客様がご利用できる可能性のあるワークフローを詳説します。

matomoへのトラッキングおよびWebサイトへのインポートおよびインポート終了日の設定

matomoへのトラッキングおよびWebサイトへのインポートおよびインポート終了日の設定

設定・モニタリングを行う場合、これがもっとも簡単な方法です。これを行うには、まずお客様のMatomoのトラッキングを新しいWebサイトに対して設定します。次にお客様の既存のデータのインポートを開始し、インポート完了後にMatomoのトラッキングの設定を行います。
インポートの終了日とトラッキングを始めた日が同じ日にならないようにします。そのため、例えば、11月12日にトラッキングを始めた場合は、インポート終了日は11月11日となることを確認します。

その後、準備ができ次第、GAによるトラッキングを終了します。

WebサイトへのインポートおよびGAのトラッキングの停止が完了するまでインポートを継続

もう一つのオプションとして、GAのトラッキングがまだ実行されている間にお客様のMatomoへのインポートを続けることもできます。この方法では、インポート終了日を指定せずにインポートを開始します。これにより、毎日インポートし続けることが可能です。

Matomoへの移行が完了したら、手動でインポートを中止し、Matomoのトラッキングを開始できます。(インポートを中止する前にトラッキングを開始する準備が十分に整っていることを確認してください。これはトラッキングの設定に数日を要した場合、その間はMatomoにデータがない状態になるためです。)その後、GAのトラッキングを停止できます。

この方法は、お客様がMatomoを評価している段階にあるものの、Matomoにトラッキングを設定する時間的余裕がない場合に役立ちます。

トラブルシューティング

インポートが途中終了する

インポートを開始すると、プラグインがバックグラウンドでインポートを開始します。最終的に、お客様が大量のデータをインポートした場合、データのインポートの速度に制限が課せられ、翌日も作業を続けることが必要になります。インポート作業の継続は、スケジュールタスクとして実行されることになります。

スケジュールタスクを実行するには、まずcronアーカイブの設定が必要です。スケジュールタスクを開始するにはまずここからです。

cronアーカイブの設定が完了したら、タスクタイムテーブルというプラグインを利用してスケジュールタスクが次にいつ実行されるかを決定します。(関連タスクは、名前に Piwik\Plugins\GoogleAnalyticsImporter\Tasksが含まれます。)

これらのタスクが一覧になっていながら実行されない場合、cronアーカイブのコマンドに何らかの間違いがあります。デバッグの次の段階は、コマンド出力の確認です。

インポートがX分続いた後に中断する

お客様が共有ホスティングをご利用されている場合、お客様のホストが単純に特定の時間後に処理を停止している可能性があります。これは、Matomoを利用しても、お客様自身でも修復することはできません。お客様はホストに連絡するか、または別の方法でMatomoをホスティングする必要があります。

どちらの方法をとってもうまくいなかない場合、次の対策を講じることができます。

  • UIではなくCLIコマンドを介してデータをインポートします。これを行う場合は、お客様が利用しているPHP実行可能ファイルがCLI phpバージョンであり他のものでないことを確認します(例:php7-cliでありphp7-fcigではないこと)。php--versionを実行することでお客様がいずれのバージョンを使用しているかを確認できます。 PHP 7.2.1 (cli)のような出力を探してください。お客様のホストがCLI PHPを長時間実行できるようにしている場合もあります。
  • 処理が一定時間後に問題なく終了した場合は、cronジョブを設定してインポートを再開できます。例えば、インポートが15分後に終了した場合は、cronが20分ごとにインポートを再開するように設定できます。こうするには、UIでインポートを開始し、新しく作成されたWebサイトのIDを記録しておき、次に --idsite=オプションを持つgoogleanalyticsimporter:import-reportsコマンドを利用してcronを追加で設定します。(例:php /path/to/matomo/console googleanalyticsimporter:import-reports --idsite=<your Site ID>)。

インポートがいつも同じ日にできない

インポートが特定の日にいつも失敗する場合は、インポート処理にバグがあった可能性があります。その場合、githubレポジトリでバグのレポートを提出する必要があります。その原因をできる限り速く突き止めるには、レポート提出時に次のことを行ってください。

  • インポートが失敗する特定の日に再度インポートを開始し、フォーム下部にある「Verbose Loggingを有効にする」チェックボックスにチェックを付けます。
    インポートで再度エラーが発生した場合、インポート用のお客様のサーバー上にあるログファイルを見つけます( /path/to/your/matomo/tmp/logs/gaimportlog.$idSite.$matomoHost.logのような名前になっています。)そして、その内容を当社のsupport@matomo.orgまで電子メールで送信してください(バグレポートとともにコンテンツを投稿しないほうが良いです。コンテンツにはお客様のサーバー情報が含まれる場合があるからです。)
  • インポートを中止します。
    このいずれかを行うと、当社はお客様が直面している問題を解決しやすくなります。ただし、それでも原因を突き止められない場合もあります。その場合でも、お客様のGoogle Analyticsアカウントへの読み取り専用アクセス権を付与していただけるだけで、問題の解決がしやすくなります。

責任制限

Google Analyticsのすべての情報にAPIを介してアクセスできるわけではありません。Matomoに表示されないデータレポートの一覧は下記の通りですのでご覧ください。

  • インポーターは未加工のWebサイト訪問データや行動履歴データを除く集計レポートデータしかインポートできません。つまり、Webサイト訪問者ログ機能やEコマースログ機能、セグメンテーション機能はインポートされたレポートに対しては有効ではありません。
    また、これは、ユニークユーザー数や週および月など日付データ以外のユーザー情報がインポートされないことも意味します。
  • 「検索キーワード結果なし」やコンテンツリポートなどのMatomoのいくつかのレポートはGoogle Analyticsではサポートされていません。これらのレポートはインポート後にデータとして表示されません。
  • Google Analyticsのレポートの中にはMatomoに今のところまだインポートされないものもあります(ファネルレポートなど)。お客様がMatomoにインポートされると考えていたもののされなかったレポートがありましたら、この課題追跡システムで当社に詳細をお知らせください。
  • GoogleはWebサイト内検索URLから検索パラメータを獲得していますが、それらのURLをURLレポートページに表示しています。これが意味するのは、それらのレポートをインポートする場合、それらのページのどのページが実際にWebサイト内検索の対象となったかは分からないということです。そのため、インポートされたレポートにおいて、Webサイト検索ページのURLはPage URLレポートおよびPage Titlesレポートに記載されます。
  • GoogleのEコマースコンバージョン率はMatomoのそれとは異なります。Googleはこれを1セッションが取引に結びついた数だと定義しています。一方、MatomoはこれをWebサイト訪問した人が少なくとも1回の注文をした確率と定義しています。そのため、この指標はインポートできません。
  • Googleの離脱率と訪問率はMatomoのそれとは異なります。Matomoは訪問率/離脱率をページのURL/ページタイトルが1回の訪問で何度最初に見られる/最後に見られるページビューとなったかの確率として定義しています。一方、Google Analyticsでは、この割合は、すべての検索ヒット数において、1回のセッションでどのページのURL/タイトルが最初の/最後のページビューとなったかの確率として定義しています。そのため、この割合は、Matomoでは異なって表示されます。
  • 加えて、Google Analyticsはページビューの記録の際に常にセッションを数えているわけではありません(詳しくはdocsをご覧ください)。つまり、Google Analyticsが数えていないセッションもあるということであり、対象のアクションによってはセッション数が本来よりも少なくなることもあります。その場合、離脱率/訪問率は100%以内で計算されます。これによってGoogle Analyticsが影響を受けることはありません。なぜなら、訪問率/離脱率はセッション数ではなく合計ヒット数を用いて計算されているためです。
  • セッションはGoogle Analytics APIを介し、製品のディメンションを利用して求めることができないため、製品レポートにおいては、製品のコンバージョン率とWebサイト訪問者数の指標が見落とされています。
  • インポーターはお客様がGeolp2を設定していると仮定しています。そうでない場合でも、データは適切にインポートされますが、レポートはGeolp2をインストールするまで多くの地域をUnknown(不明)と表示します。

Matomo Analytics Cloudでデータ活用を開始する

システム開発のプロによるMatomoの完全なサポート。

お客様の環境に合わせた最適なMatomoの導入・運用・保守をサポートします。
担当が直接お伺いするインストラクターサービスも展開しています