第546話:月曜朝の Analytics API リクエスト(1)

2017年7月31日

分析ツールなのか、集計ツールなのか

Web 業界に関わる人であれば、誰でも『Google Analytics』の存在を知っています。

改めて説明するまでもありませんが、『Google Analytics』(グーグル・アナリティクス)とは、自社サイトのアクセス数や訪問者数などが分かるサービスで、「人気ページ」や「不人気ページ」を確認したり、「ネット広告の投資効果」を確認したりと、「その道の人」には無くてはならないツールとなっています。

しかし一方で、多くの人にとっては「多機能すぎるツール」とも言えます。

見たい情報を表示するための操作は、多機能であるが故に複雑な手順を踏むことになります。たとえば「社内週報」を作るために毎週『Google Analytics』にログインしているような方でも、ごく一部の機能しか使わないのが実情です。そこで、毎回の作業を効率化すべく『カスタムレポート』(ダッシュボード)や『カスタムアラート』(メール通知)を使っている人も少なくありません。

今週も集計値に異常なし!

以下の業務プロセス定義は、週次で行われる「自社サイト運用状況報告プロセス」です。

毎週月曜日の朝には、「Google Analytics の集計データがプリセットされた報告文草稿」が用意されます。したがって、マーケティング担当者は一言コメントを入力するだけで全社への報告を完了させることが可能です。特段の変化が発生していない限り『Google Analytics』にログインする必要がありません。

[自社サイト運用状況報告プロセス]

API への自動アクセス

この例では月曜日の朝6:30に、『Google Analytics』へ問い合わせ通信が自動的に行われます。

具体的には『タイマー開始イベント』で「月曜日の朝6:30」にて報告案件が自動的に起動され、その直後にワークフローシステム(Questetra)から、『Google Analytics Reporting API v4』へのリクエスト通信(OAuth2通信)が自動的に行われます。(Request to Analytics 工程)

そしてその後マーケティング担当者が「報告文作成」を完了させれば、下流にある『メール送信イベント』にて「報告文」が社内メーリングリストに投稿されます。(もちろん、マーケティングチーム以外の担当者にコメントを入力してもらう、あるいは Slack 等への自動投稿も行う、といったフロー拡張も検討すべきかもしれません)

なお、もしマーケティング担当者が報告文を作成を完了させなかったとしても、起動から3時間後(9:30)には、自動的に報告文が(草稿文のまま)社内メーリングリストに投稿される仕組みとなっています。

自動取得されるランキング情報

ここで使われている自動工程(サービス工程Addon)には、いくつかの設定が必要です。
  • 認可設定名: Access API や Scope などを設定した際の名前
  • View ID: 集計対象のアクセスログ (※)
  • 表示件数:ランキング一覧で表示する件数
  • フィルタ: ランキング一覧表示の際のフィルタ (任意)
※ 管理メニューの「ビューの設定」もしくはURIの末尾「p12345678」にて確認できます。(旧プロファイルID)

データ集計は本来、『ディメンジョン』や『メトリックス』(指標)といった専門用語をつかって集計方法を決める必要があります。しかし、この自動工程ではその集計方法があらかじめ規定されています。
  • ディメンジョン: ga:hostname, ga:pagePath, ga:pageTitle
  • メトリックス: ga:pageviews, ga:sessions

すなわち、もし自社の集計方針と合致する「サービス工程Addon」が見当たらない様であれば、別途作成する必要があります。社内に JavaScript 知識のある方が居れば(既存のAddonをアレンジするなどして)内製すべきですが、もし居ない場合でもクラウドソーシングなどで依頼すれば1日程度で入手することが可能です。

参考) ディメンジョン名とメトリックス名
参考) APIリファレンス


なお「フィルタ」の設定は任意項目ではありますが、上手に使いこなせば様々なランキング集計が可能となります。

たとえば「2016年と2017年のBlog 記事」だけでランキング集計したい場合には「ga:pagePath=~/2016/|/2017/」と設定します。たとえば「2017年の"特集"記事」だけでランキング集計したい場合には「ga:pagePath=~/2017/;ga:pageTitle=@【特集】」と設定します。(殿堂入り記事を除外するといった高度な設定も可能です)
  • "=@" 文字列の一部に一致
  • "!@" 文字列の一部に一致しない
  • "=~" 正規表現の一致を含む
  • "!~" 次の正規表現に一致する場合を除く

「APIエコノミー」という言葉が叫ばれる時代、様々な「自動化/無人化」を推進することで、たとえば毎週「15分」かけていた報告業務を「1分」に短縮することも夢ではありません。その時間を使い、人間味あふれる「一言コメント」を書くことに注力すれば、ブログ投稿者たちのモチベーションをもっと上げられるのかも知れません。

<事前のOAuth2.0 通信許可設定>

1. Google Developers Console 設定
ダッシュボード( https://console.developers.google.com/apis/dashboard )にアクセスし『Google Analytics Reporting API』("Analytics API" ではありません)を有効にし、『クライアント ID』と『クライアント シークレット』を取得します。
  • Name: (任意 e.g. "q2analytics")
  • アプリケーションの種類: ウェブアプリケーション
  • 承認済みの JavaScript 生成元: (設定する必要はありません)
  • 承認済みのリダイレクト URI: https://s.questetra.net/oauth2callback

2. Questetra ワークフローアプリの通信設定
[OAuth 2.0 Setting]を設定し、リフレッシュトークンを取得します。
  • Name: (任意)
  • Authorization Endpoint URL: https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force (Google標準)
  • Token Endpoint URL: https://accounts.google.com/o/oauth2/token (Google標準)
  • Scope: https://www.googleapis.com/auth/analytics.readonly
  • Client ID: (Google Developers Console で取得したもの)
  • Consumer Secret: (Googlea Developers Console で取得したもの)

[自社サイト運用状況報告プロセス:「1.報告文作成」画面]

<受信メールのサンプル>

<データ項目一覧画面>


[雛形ダウンロード (無料)]
<類似プロセス>
≪関連記事≫

[英文記事 (English Entry) ]

0 件のコメント :

コメントを投稿