サイトアイコン Capital P

ランキングだけじゃないGoogle Analytics とWordPress連携

Webサイトのアクセス解析ツールといえば、無料で使えるGoogle Analyticsが定番である。WordPressでもSimple GA Rankingのようなプラグインがある。ちなみに、このプラグインの作者はCapital Pのポッドキャストで何度かゲストとして出演してくれている堀家氏で、このプラグインのGoogle Analyticsとの接続ライブラリGapiWPを作ったのは筆者である。

しかし、Google Analyticsの用途はかなり多様なのだが、プログラマやコーダーなどは意外と見ておらず、マーケッターやディレクターなどの方がその利用方法を熟知していることも多い。本稿では、Google AnalyticsとWordPress連携の使い方をいくつか紹介し、その可能性を知っていただこう。

前提・そもそも連携するには

さて、連携するためにはWordPressをGoogle Analytics のAPIへと接続しなければならないのだが、ここが結構大変である。実は筆者の作成しているプラグインGianismにはおまけ機能として「Googleの提供するAPIとWordPressを接続する」という機能がある。

あまり知られていないのだが、この画面でトークンが保存され、気軽に接続できるようになる。

ここでトークンを取得しておくと、Google APIに接続するためのクラス Gianism\Plugins\AnalyticsFetcher が利用可能になる。このクラスはGoogle APIとの連携を隠蔽してくれるので、次のようにシンプルな形でデータの取得が可能だ。

<?php
// 例外を投げるので、try-catchで囲む
try { 
    $fetcher = Gianism\Plugins\AnalyticsFetcher::get_instance();
    // 指定した期間のPVを取得
    $result = $fecther->fetch( '2017-12-01', '2017-12-14', 'ga:pageviews', [
        'dimensions'  => 'ga:pagePath',
        'sort'        => '-ga:pageviews',
        'max-results' => 20,
    ] );
    foreach ( $result as $row ) {
         // なんかする
    }
} catch ( Exception $e ) {
    // エラー発生
    echo $e->getMessage();
}

一応、Google Analyticsを利用するにあたって絶対に覚えておいた方がいい用語として、ディメンションと指標(マトリックス)というものがある。

ディメンションは「次元」だが、「属性」と考えると分かりやすいだろう。

この2つのかけあわせによって、得られる表(テーブル)が決まってくる。これらの要素にフィルターをかけることで、価値のあるデータを得ることがGoogle Analytics利用の秘訣だ。

たとえば、広告業界でよく聞かれる「F2層」という言葉はMale(男性)・Female(女性)という「性別」に4段階(T・1・2・3)の「年代」を掛け合わせた区分である。こうしたデータの掛け合わせによって対象とするデータを分類することができる。

この段階ではこれ以上の詳細については述べず、データはディメンションとマトリックスで分類できるということだけを覚えておいてもらいたい。

一つ上のデータ分析

さて、Google Analyticsの典型的なデータ活用法として、最初に挙げたような「ランキング」がある。これはサイトを訪れたユーザに対して「こんなコンテンツが人気なのでオススメですよ」と知らしめる効果があるのだが、もう少し高度な利用方法はないだろうか。筆者がパッと思いつくものとしては次のものがある。

  1. 最近一週間ではなく、長い間ある程度の人気を誇り続ける「定番記事リスト」
  2. アメブロにあるような「投稿者別人気ランキング」
  3. 「あなたの地域で人気の記事」というような、ユーザー属性に紐づいたレコメンド

1番上の「定番記事リスト」は簡単である。このCapital Pでやってみると……

実はPHP7に関する記事がずっと人気だ

上記のような結果になる。取得するコードは次の通り。

<?php
$fetcher = Gianism\Plugins\AnalyticsFetcher::get_instance();
$results = $fetcher->fetch( '2016-12-10', '2017-12-14', 'ga:pageviews', [
    'dimensions'   => 'ga:pageTitle,ga:year,ga:month', // タイトル、年、月をディメンションに
    'max-resulsts' => 50,                              // 最大50件数を取得
    'sort'         => '-ga:pageviews'                  // ページビューの降順で取得
] );

こうしてみると、最大瞬間風速ではReactライセンス問題の記事だったのだが、PHP7に関する記事キャッシュプラグインに関する記事が定期的に人気のあることがわかる。

さて、では、「投稿者別人気記事」や「あなたの地域で人気」というものはどうだろうか。これはちょっとカスタマイズしなければならない。

カスタム定義の活用

Google Analyticsにはカスタム定義という機能があり、独自のディメンションや指標を設定することができる。筆者のこれまでのカスタムフィールド製造業経験だと、これをちゃんと使いこなしている製造業者はあまり見なかったので、きちんと理解することで強いになるはずだ。

Google Analyticsを普通に使うと、ちょっと古いanalytics.jsの埋め込みコードは次のようになる。

(function (i, s, o, g, r, a, m) {
  i['GoogleAnalyticsObject'] = r;
  i[r] = i[r] || function () {
    (i[r].q = i[r].q || []).push(arguments)
  }, i[r].l = 1 * new Date();
  a = s.createElement(o),
  m = s.getElementsByTagName(o)[0];
  a.async = 1;
  a.src = g;
  m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-XXXXXX-XX', 'auto');
ga('send', 'pageview');

これはページの閲覧をカウントするコードなのだが、ページヒットの送信コード ga('send', 'pageview'); の直前に次のようなコードを入れるとカスタムディメンションを設定できる。

ga('create', 'UA-XXXXXX-XX', 'auto');
<?php
// シングルページなら、投稿作者のIDを設定
if ( is_singular() ) : ?>
    ga('set', 'dimension1', <?php echo get_queried_object()->post_author; ?>);
<?php endif; ?>
ga('send', 'pageview');

たとえば、普通にGoogle Analyticsを使っていると、「その記事を誰が書いたのか」ということはわからない。だが、ページヒットの前に投稿者IDを設定することで、「記事を書いた人別のランキング」も作ることができる。

なお、カスタム定義は事前に設定する必要があり、Capital Pでは次のような設定にしている。実際のソースコードはこちら。プレビューを除外するなど、細かな芸も行なっているので参考にされたし。

とりあえずいまのところは3つ設定している

他のオススメとしては、投稿ID(URLが特殊なサイトではフィルタリングに役立つ)やタクソノミー(ただし、カテゴリーツリーが深すぎるサイトでは無意味)などがある。

そうそう、これらのカスタム定義は遡って適用することができないので、「いるかいらないかわからないけど登録しておこう」ぐらいの感覚でたくさん設定した方がよい。50個ぐらいは無料で登録できたはずだ。

では、早速この情報を使って、Capital Pの投稿者別人気ランキングを表示してみよう。

1は筆者、2は西川、3は宮内。4以降は有料会員

この「投稿者別人気ランキング」がサイトを訪れるユーザーにとって意味があるかはともかく、WordPressの管理画面などに表示しておくとモチベーションアップに使えるだろう。もちろん、AKB48式のブログであれば、特定の投稿者を応援しているユーザーのサイト内での挙動が変わるかもしれない。

さて、というわけでGoogle Analyticsのちょっと高度な使い方を説明してきたのだが、以降は有料会員向けに以下のトピックをお届けする。

実際に筆者がCapital Pの新機能を実装する動画もおまけでつけておくので、お楽しみに。

この投稿の続きを読むためには、Capital Pでログインする必要があります。

続きを読む
モバイルバージョンを終了