SlideShare a Scribd company logo
6
Most read
8
Most read
12
Most read
Google アナリティクスで
SharePointの利用状況を確認する
2016年5月
SharePoint Onlineカスタマイズ
今回のお題
SharePoint Onlineの利用状況を
Googleアナリティクスで解析する
利用する仕組み
•UserCustomActions
•すべてのページにJavascriptを埋め込
める
•GoogleアナリティクスのJavascriptを
これで組み込む
Hackingには超便利な手法!
JavaScriptの埋め込み
Powershellで簡単に埋め込める
• Activate Google Analytics in SharePoint Online site
https://gist.github.com/vgrem/2884bdad94d450e0f869
埋め込みスクリプト
(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-4XXXXXXXX9-5', 'auto');
ga('send', 'pageview');
Googleのアナリティクスポータルで取得可能
埋め込みスクリプトの改造①
• SharePoint OnlineのURLはこんな感じ
https://yoursite.sharepoint.com/_layouts/15/start.aspx#/Demo/Forms/
AllItems.aspx
• Googleアナリティクスの既定のスクリプトではハッシュ
(#)以降が無視される
https://yoursite.sharepoint.com/_layouts/15/start.aspx
リストなどの重要な情報がなくなってしまう
• ハッシュ(#)以降も記録するためには少し変更
ga('send', 'pageview');
↓
ga('send', 'pageview', {
'page': location.pathname + location.search + location.hash});
埋め込みスクリプトの改造②
• 標準ではどのユーザーのアクセスかは分析できない
(注意)Googleアナリティクスでは個人情報を収集することは禁
止している。今回は内部的なIDを利用することで回避してい
るはず
• カスタムディメンションを使うと特別な情報を追加
できる
• SharePoint内部のIDをカスタムディメンションに設定
var uid = currentUser.get_userId().get_nameId();
ga('set', 'dimension1', uid);
最終的な埋め込みコード
(function () {
this.send = function () {
if (!SP.ClientContext) {
setTimeout(this.send, 100);
return;
}
(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');
var ctx = new SP.ClientContext.get_current();
var website = ctx.get_web();
var currentUser = website.get_currentUser();
ctx.load(currentUser);
ctx.executeQueryAsync(function () {
var uid = currentUser.get_userId().get_nameId();
ga('create', 'UA-XXXXXXX-5', { 'userId': uid });
ga('set', 'dimension1', uid);
ga('send', 'pageview', {
'page': location.pathname + location.search + location.hash
});
},
function () {
ga('create', 'UA-XXXXXXX-5', 'auto');
ga('send', 'pageview', {
'page': location.pathname + location.search + location.hash
});
});
}
setTimeout(this.send, 0);
})();
ちょっと長いが
SP.ClientContextはすぐに
利用可能にならないよう
なのでsetTimeoutで調整
Googleアナリティクスで収集されたデータ
URLとユーザの情報は収集できている
ただ直接ダウンロードされるドキュメントのログは収集できない
社内の情報がGoogleに送信されるのは…
• 社内の情報がGoogleに送信されるのが抵抗のある場
合の選択肢
• Piwik (オープンソース)
AzureのMarketplaceにもイメージがあるので簡単に利用可能
• 独自に作成
Azure Storageなどを使えば収集は簡単
PowerBIで表示するなども考えられる
• Publicサイトはともかく、そもそもGoogleアナリティ
クスをイントラのシステムで利用してよいのか?
まとめ
• SharePoint Onlineの利用状況をGoogleアナリティクス
やPiwikで分析することは可能
• 利用概要を見るレベルであれば十分利用可能
• Public以外の社内サイトでも技術的には利用可能
• UserCustomActionsの仕組みを利用してトラッキング
用のJavascriptを埋め込む
• Javascriptベースの仕組みでは直接ダウンロードするロ
グは収集できない課題が残る
http://www.proaxia-consulting.co.jp
Azure&SharePointアプリケーション開発についてのお問合せ
[担当] akihiro.ehara@proaxia-consulting.co.jp
SharePoint Onlineとファイルサーバーを統合するCloud Storage Light
https://www.cloudstoragelight.com
SharePoint 上のファイルをエクスプローラ感覚でサクサク操作するSharePointエクスプローラ
https://www.cloudstoragelight.com/sharepointexplorer/

More Related Content

PPTX
SharePoint Framework の最新情報をキャッチアップしよう!
PPTX
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
PDF
SharePoint Framework Extension 基礎講座
PDF
SharePoint Online を JavaScript でイジる。
PPTX
SharePoint Hub Sites について学ぶ
PPTX
え!?データがオンプレにあるけどPower BI で BI したいの?
PDF
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
PDF
テスト文字列に「うんこ」と入れるな
SharePoint Framework の最新情報をキャッチアップしよう!
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
SharePoint Framework Extension 基礎講座
SharePoint Online を JavaScript でイジる。
SharePoint Hub Sites について学ぶ
え!?データがオンプレにあるけどPower BI で BI したいの?
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
テスト文字列に「うんこ」と入れるな

What's hot (20)

PDF
Share point における id管理と認証・認可
PDF
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
PDF
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
PPTX
自社で実運用中!Power Apps・Power Automate 活用事例
PDF
Deep Dive async/await in Unity with UniTask(UniRx.Async)
PDF
SharePoint Framework Teams タブ開発基礎講座
PDF
アプリ開発ことはじめ! アイデア出しで躓かない Power Apps での閃き方.pdf
PDF
初めてでも大丈夫!SharePoint 開発の第一歩
PDF
Digdagによる大規模データ処理の自動化とエラー処理
KEY
やはりお前らのMVCは間違っている
PDF
REST API のコツ
PDF
よく聞くけど、「SharePoint リストの 5,000 件問題」ってなんなの?
PPTX
SharePoint で始める情報共有とそのアプローチ
PDF
コンセプトから理解するGitコマンド
PDF
Webアプリを並行開発する際のマイグレーション戦略
PPTX
技術者として抑えておきたい Power BI アーキテクチャ
PPTX
Redisの特徴と活用方法について
PDF
怖くないSpring Bootのオートコンフィグレーション
PDF
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
PPTX
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
Share point における id管理と認証・認可
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
自社で実運用中!Power Apps・Power Automate 活用事例
Deep Dive async/await in Unity with UniTask(UniRx.Async)
SharePoint Framework Teams タブ開発基礎講座
アプリ開発ことはじめ! アイデア出しで躓かない Power Apps での閃き方.pdf
初めてでも大丈夫!SharePoint 開発の第一歩
Digdagによる大規模データ処理の自動化とエラー処理
やはりお前らのMVCは間違っている
REST API のコツ
よく聞くけど、「SharePoint リストの 5,000 件問題」ってなんなの?
SharePoint で始める情報共有とそのアプローチ
コンセプトから理解するGitコマンド
Webアプリを並行開発する際のマイグレーション戦略
技術者として抑えておきたい Power BI アーキテクチャ
Redisの特徴と活用方法について
怖くないSpring Bootのオートコンフィグレーション
Developers-Summit-2022_Improving-Digital-Customer-Experience-with-Enterprise_...
え!? Power BI の画面からデータ更新なんてできるの!? ~PowerApps カスタムビジュアルの可能性~
Ad

Viewers also liked (11)

PDF
Piwikを用いたアクセス解析外部公開用
PDF
SharePoint Onlineアクセスモニター
PDF
SharePointアドイン開発 Line風Chat アドイン
PPTX
アメブロからFC2へ引越し
PPTX
アメブロ引越し準備
PPTX
FC2からWordPressへ引越し
PDF
Skype for Business Onlineのログ取得
PDF
Share point開発 勤怠管理
PDF
SharePoint アドオンのススメ
PDF
Intro to Piwik project - 2014
PDF
SharePoint Online 「アクセス権」を理解する
Piwikを用いたアクセス解析外部公開用
SharePoint Onlineアクセスモニター
SharePointアドイン開発 Line風Chat アドイン
アメブロからFC2へ引越し
アメブロ引越し準備
FC2からWordPressへ引越し
Skype for Business Onlineのログ取得
Share point開発 勤怠管理
SharePoint アドオンのススメ
Intro to Piwik project - 2014
SharePoint Online 「アクセス権」を理解する
Ad

Similar to Google アナリティクスで SharePointの利用状況を確認する (20)

PPTX
ITを使った今時の聖地巡礼ユーザー分析 in 沼津
PDF
Report of Google I/O 2013 Google Cloud Platform
PDF
WordPressで考えるこれからのコンテンツ制作
PDF
第5回 cogbot勉強会!
PDF
アプリを成長させるためのログ取りとログ解析に必要なこと
PDF
PySpark Intro Part.2 with SQL Graph
PPTX
Azure Api Management 俺的マニュアル 2020年3月版
PDF
日々の面倒をプログラミングで解決!【入門編】
PDF
PythonによるWebスクレイピング入門
PDF
181212 WP ZoomUP #6 WordPressのアクセス解析!
画面を見ながら手順を確認しよう
PPTX
Google I/O 2016 報告会
PDF
Elasticsearch at Makuake
PPTX
Playfabmeetup#4
PPTX
AWSでGPUも安く大量に使い倒せ
PDF
asm.jsとWebAssemblyって実際なんなの?
PDF
Oisix勉強会 google analiticsapiを使用したサイト開発例
PDF
SharePointアドイン開発 SAPデータ連携
PDF
Getting Started Algolia with InstantSearch.js
PPTX
Selenium webdriver使ってみようず
PDF
スマホにおけるWebGL入門
ITを使った今時の聖地巡礼ユーザー分析 in 沼津
Report of Google I/O 2013 Google Cloud Platform
WordPressで考えるこれからのコンテンツ制作
第5回 cogbot勉強会!
アプリを成長させるためのログ取りとログ解析に必要なこと
PySpark Intro Part.2 with SQL Graph
Azure Api Management 俺的マニュアル 2020年3月版
日々の面倒をプログラミングで解決!【入門編】
PythonによるWebスクレイピング入門
181212 WP ZoomUP #6 WordPressのアクセス解析!
画面を見ながら手順を確認しよう
Google I/O 2016 報告会
Elasticsearch at Makuake
Playfabmeetup#4
AWSでGPUも安く大量に使い倒せ
asm.jsとWebAssemblyって実際なんなの?
Oisix勉強会 google analiticsapiを使用したサイト開発例
SharePointアドイン開発 SAPデータ連携
Getting Started Algolia with InstantSearch.js
Selenium webdriver使ってみようず
スマホにおけるWebGL入門

More from Akihiro Ehara (10)

PDF
Visual Studio TypeScript npm WebPack
PDF
Share point開発 ファイル受信
PDF
Cloud storage light
PDF
エンタープライズ.Net light switch
PDF
エンタープライズ.Net RIAサービス
PDF
エンタープライズ.Net DataSet
PDF
エンタープライズ.Net RIAサービス
PDF
エンタープライズ.Net 詳細設計編
PDF
エンタープライズ.Net アーキテクチャ設計編
PDF
エンタープライズ.Net 分析編
Visual Studio TypeScript npm WebPack
Share point開発 ファイル受信
Cloud storage light
エンタープライズ.Net light switch
エンタープライズ.Net RIAサービス
エンタープライズ.Net DataSet
エンタープライズ.Net RIAサービス
エンタープライズ.Net 詳細設計編
エンタープライズ.Net アーキテクチャ設計編
エンタープライズ.Net 分析編

Google アナリティクスで SharePointの利用状況を確認する