グーグルアナリティクスの解析データを利用したアクセスランキングを表示する

ホームページには、アクセス解析機能を付けることが多いですね。弊社でもグーグルアナリティクスをよく利用しています。アクセス解析しているのであれば、ホームページのアクセスランキングにも活用できますね。ブログ等でよく見かける「人気の記事」のようなものです。今回はアクセスランキングをホームページに表示してみます。

PHPプログラムなので、WordPressなどPHPで動いているシステムなら利用できます。

コード

https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-php にあるコードをベースに作成します。

service-account-credentials.jsonは、管理画面からダウンロードしたものをリネームしてください。jsonファイルの中身は以下のようなものです。(鍵などは伏字や省略しています。)

{
  "type": "service_account",
  "project_id": "ID",
  "private_key_id": "ID",
  "private_key": "鍵",
  "client_email": "メール",
  "client_id": "ID",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/XXXXXXXXX"
}

$VIEW_ID

コードの中ほどに、$VIEW_ID を指定する箇所があるので、グーグルアナリティクスの管理画面からIDを取得して記述してください。(数字のみで9桁でした)

getReportの改変

サンプルコードは、ウェブサイト全体のセッション数を表示するものでした。これを、ページごとの訪問数を表示するように変更してみました。
function getReport($analytics) {
    $VIEW_ID = "XXXXXXXXX"; // IDを記入する
    // Create the DateRange object.
    $dateRange = new Google_Service_AnalyticsReporting_DateRange();
    $dateRange->setStartDate("7daysAgo");
    $dateRange->setEndDate("today");
    // Create the Metrics object.
    $visits = new Google_Service_AnalyticsReporting_Metric();
    $visits->setExpression("ga:visits"); // ga:sessions => ga:visits に変更
    $visits->setAlias("visits"); // sessions => visits に変更
    // Create the Dimension objects. // この項目を追加した
    $pagetitle = new Google_Service_AnalyticsReporting_Dimension();
    $pagetitle->setName("ga:pageTitle");
    // この項目を追加した
    $ordering = new Google_Service_AnalyticsReporting_OrderBy();
    $ordering->setFieldName("ga:visits"); // 訪問数でソート
    $ordering->setOrderType("VALUE");
    $ordering->setSortOrder("DESCENDING"); // 多いほうから 
    // Create the ReportRequest object.
    $request = new Google_Service_AnalyticsReporting_ReportRequest();
    $request->setViewId($VIEW_ID);
    $request->setDateRanges($dateRange);
    $request->setMetrics(array($visits));
    // 以下の行を追加した
    $request->setDimensions(array($pagetitle));
    $request->setOrderBys($ordering);
    $request->setPageSize(20); // 20件取得

    $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
    $body->setReportRequests( array( $request) );
    return $analytics->reports->batchGet( $body );
}
 

こうすることで、グーグルアナリティクスのデータを利用してアクセスランキングが作成できました。実際に活用している例は、計算フォームをごらんください。

記事公開日: 2018年02月28日
#

日本の47都道府県を、concrete5のトピックにインポートするア... 詳細はこちら

#

ホームページのデータのバックアップを自動化するプログラム... 詳細はこちら

2018年8月時点で月間25万PVを超えたため、共有サーバーから移... 詳細はこちら