アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
機能拡張サービス
X-SP Feature
デザイン拡張サービス
X-SP Design
モダン化から運用管理までサポート
構築支援サービス
この記事の4行要約
X-SP Featureアクセス解析支援機能では、SharePointの
.aspxページに解析用タグを自動埋め込みが可能SharePointリストアイテムはポップアップで開かれることがあり、そのままではGA4のページビューとして計測できない
GTMで
page_locationを送信する設定を追加すると、直接開いた場合もポップアップで開いた場合もGA4の「ページとスクリーン」で集計できる本記事では、SharePointでGA4計測をGTM設定を通じて実現する方法を、7つの手順で解説します。
小刀稱 知哉ことね ともや
得意領域
Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!
保有資格
SharePointリストアイテムを開くとポップアップ(ダイアログ)として表示されるため、標準的なGA4タグではページビューとして計測できないという課題があります。
X-SP FeatureのアクセスA解析支援機能が自動埋め込みするタグと、GTMのdataLayerイベントを組み合わせることで、直接表示・ポップアップ表示のどちらでもGA4にpage_viewとして送信できます。
本記事では、SharePointリストアイテムのポップアップ検知スクリプトの追加から、GTMの変数・トリガー・タグの設定、GA4のカスタムディメンション追加まで、7つの手順でリストアイテムの閲覧数をGA4で計測する方法を解説します。
もし記事を読んで「自社にとって最適なSharePointを構築したい」「構築時のサポートを行ってほしい」と思った方は、アーティサン株式会社の各種サービスをご活用ください。
現場の課題やご要望に合わせて、SharePointの設計・導入・運用をサポートいたします。
MSクラウドに関するご相談・お問い合わせはこちら
お問い合わせフォームへ手順1:SharePointリスト(TagManager)にスクリプトを追加する
手順6-1:GTMのプレビューでトリガー・タグが正常に動作しているか確認する
こんにちは。アーティサン株式会社の小刀稱(ことね)です。
SharePointを社内ポータルサイト(グループウェア)として活用している企業様は多いと思います。
弊社も従来からSharePoint 構築支援サービスを提供しており、企業様の社内ポータルサイト構築や活用支援をさせていただいております。
弊社としては、SharePointで社内ポータルサイトを構築する際、SharePointが持つ強みを最大限に活かすため、なるべく標準機能のみで対応することを推奨しております。
しかし、実際の運用を開始すると多くの企業から「標準機能だけでは物足りない」という不満を伺うことも多いのが事実です。
そこで、弊社ではX-SP Featureというサービスの提供を開始しました。
本サービスは、SharePointの標準機能では対応できないアドオン機能を、SharePoint Framework(SPFx)というSharePointの拡張開発技術を用いて提供するSharePointアドオンサービスです。
X-SP Featureをご活用いただくことで、標準機能では限界を感じていた皆様の「本当に欲しかった機能」を簡単に導入できます。
今回は、X-SP Featureのアクセス解析支援機能を使って、リストアイテムの閲覧数をGA4で取得する方法について紹介します。
X-SP Featureのアクセス解析支援については、以下のブログを参照してください。
また、X-SP Featureの他の機能については、以下をご参照ください。
X-SP Feature機能紹介記事一覧
-
SharePointリストで複数行テキストを全文表示する方法|X-SP Feature(第1回)
-
SharePointの未読・既読を一目で管理できるアドオン紹介|X-SP Feature(第2回)
-
SharePointのアクセスランキングでよく見られるコンテンツを可視化する方法|X-SP Feature(第3回)
-
GA4・Clarity・GTMでSharePointのアクセス解析を行う方法|X-SP Feature(第4回)
-
カスタムスクリプト不要!SharePointでHTMLファイルを表示する方法|X-SP Feature(第5回)
-
SharePointのツリービューでフォルダ階層を直感的に表示する方法|X-SP Feature(第6回)
-
SharePointのリストアイテム閲覧数をGA4で計測する方法|X-SP Feature アクセス解析支援
SharePointリストアイテムを開いた時の問題点
X-SP Featureのアクセス解析支援機能をご活用いただくと、SharePointの各ページ(拡張子が「.aspx」となっているページ)が表示された際に、設定した解析用タグを自動的に埋め込むことができます。
そのため、SharePointのページやニュースであれば、GA4・GTM・Clarityなどが出力する解析用タグを使って、ページ閲覧数や閲覧行動を分析可能です。
ただし、SharePointリストのアイテム表示には少し注意が必要です。
SharePointリストでアイテムを開くと、画面全体が別ページへ遷移するのではなく、現在のページ上に詳細画面がポップアップ(ダイアログ)として表示されます。
(「リスト」Webパーツからアイテムをクリックしても、同様の処理となります。)

つまり、ユーザーから見ると「リストアイテムを開いた」状態ではありますが、ブラウザー上では新しい.aspxページが表示されているわけではないため、ページ表示をきっかけに埋め込まれる解析用タグだけでは、リストアイテムの表示を正しく計測できません。
そこで本記事では、リストアイテムのポップアップ表示を検知し、GA4のpage_viewとして計測するための構築方法を説明します。
この構築を行うと、リストアイテムを直接開いたとき、またはポップアップで開いたときのどちらの場合でも、GA4上で同一に集計できるようになります。
全体構成
今回の全体構成は以下のとおりです。

前提条件
本手順では、以下項目が既に設定されていることを前提としています。
X-SP Featureアクセス解析支援機能を導入済み
Google Analytics 4(GA4)プロパティを作成済み
Google Tag Manager(GTM)コンテナを作成済み
GTMが発行したタグを、SharePoint側のSPOリスト(TagManager)に設定済み
SharePointのページを開いたときに、GTMのタグが読み込まれている
以下では、全体構成図の「今回構築する内容」にあたる部分を設定します。
※注意※
なお、本記事の方法はSharePoint Onlineの画面構造やポップアップ表示のDOMを前提としています。
Microsoft側の仕様変更により、検知対象の要素や動作確認方法を調整する必要がある場合があります。
構築手順
手順1:SharePointリスト(TagManager)にスクリプトを追加する
SharePointリスト(TagManager)に、以下のスクリプトを追加します。
<script>
(function () {
var lastItemId = null;
var lastSentPageLocation = null;
var lastSentAt = 0;
function interceptXHR() {
if (XMLHttpRequest.prototype.open._sptagPatched) return;
var origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url) {
this._sptagUrl = url;
this._sptagMethod = method;
return origOpen.apply(this, arguments);
};
XMLHttpRequest.prototype.open._sptagPatched = true;
var origSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(body) {
var self = this;
this.addEventListener('loadend', function() {
if (typeof self._sptagUrl === 'string') {
var m = self._sptagUrl.match(/itemId=(\d+)/i);
if (m) {
lastItemId = m[1];
console.log('[SPTag] itemId captured:', lastItemId);
}
}
});
return origSend.apply(this, arguments);
};
XMLHttpRequest.prototype.send._sptagPatched = true;
console.log('[SPTag] XHR interceptor applied');
}
function pushPageView(pageLocation) {
var now = Date.now();
if (pageLocation === lastSentPageLocation && now - lastSentAt < 3000) {
console.log('[SPTag] duplicate page_view skipped:', pageLocation);
return;
}
lastSentPageLocation = pageLocation;
lastSentAt = now;
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'page_view',
'event_category': 'SharePoint',
'event_label': document.title,
'page_location': pageLocation,
'item_id': lastItemId
});
console.log('[SPTag] dataLayer pushed:', window.dataLayer[window.dataLayer.length - 1]);
}
interceptXHR();
setInterval(interceptXHR, 1000);
var observer = new MutationObserver(function (mutations) {
for (var i = 0; i < mutations.length; i++) {
for (var j = 0; j < mutations[i].addedNodes.length; j++) {
var node = mutations[i].addedNodes[j];
if (!(node instanceof HTMLElement)) continue;
var dialog = node.matches('[role="alertdialog"]')
? node
: node.querySelector('[role="alertdialog"]');
if (!dialog) continue;
var listPath = location.pathname.replace(/\/[^\/]*$/, '');
var pageLocation = lastItemId
? location.origin + listPath + '/DispForm.aspx?ID=' + lastItemId
: location.href;
console.log('[SPTag] dialog detected, lastItemId:', lastItemId);
console.log('[SPTag] page_location:', pageLocation);
pushPageView(pageLocation);
return;
}
}
});
observer.observe(document.body, { childList: true, subtree: true });
})();
</script>
手順2:GTMで変数を作成する
続いて、GTMで変数を作成します。
手順1で追加したスクリプトでは、リストアイテムのポップアップ表示を検知した際に、以下情報をGTMへ送信しています。
window.dataLayer.push({
event: 'page_view',
event_category: 'SharePoint',
event_label: document.title,
page_location: pageLocation,
item_id: lastItemId
});ここで重要なのが、page_locationです。
SharePointリストアイテムの表示URLには、DispForm.aspx?ID=123のように、どのアイテムを開いたかを示すIDがクエリ文字列として含まれます。
※実際のURLのサンプルは以下
https://yoursite.sharepoint.com/sites/sample/Lists/sampleList/DispForm.aspx?ID=123GA4でリストアイテムごとの閲覧数を確認するには、上記の?ID=123まで含んだURLを送信しなければなりません。
上記を行うには、dataLayerに入っているpage_locationを、GTM側で参照できる状態にする(=GTM側で「変数を作成する」)必要があります。
作成する変数の設定値は以下です。
設定項目 | 設定値 |
|---|---|
変数名 |
|
変数のタイプ | データレイヤーの変数 |
データレイヤーの変数名 |
|
データレイヤーのバージョン | バージョン2 |

手順3:GTMでトリガーを作成する
GTMで、スクリプトが送信したイベントを受け取るためのトリガーを作成します。
作成するトリガーの設定値は以下です。
設定項目 | 設定値 |
|---|---|
トリガー名 | Trigger_page_view(※名称はお好みで) |
トリガーのタイプ | カスタムイベント |
イベント名 |
|
このトリガーの発生場所 | すべてのカスタムイベント |

手順4:GTMでGA4イベントタグを作成する
GA4へイベントを送信するタグを作成します。
作成するタグの設定値は以下です。
設定項目 | 設定値 |
|---|---|
タグ名 | Tag_page_view(※名称はお好みで) |
タグの種類 | Google アナリティクス:GA4イベント |
測定ID |
|
イベント名 |
|
イベント パラメータ |
|
値 |
|

手順5:GTMを公開する
トリガーとタグを作成したら、GTMのワークスペースを公開します。
手順6:GTM・GA4で動作確認する
一旦、上記までで設定した値が、正常に動作しているか確認します。
手順6-1:GTMのプレビューでトリガー・タグが正常に動作しているか確認する
GTMの右上にある「プレビュー」をクリックして、SharePointのURLを入力します。
その後、SharePointリストのアイテムをクリックしてください。
履歴の変更 → 配信されたタグ → Tag_page_view → タグの詳細 → eventSettingTable をご確認ください。
parameterが”page_location”、parameterValueの末尾が”DispForm.aspx?ID=xxx”となっていれば正常に動作しています。

手順6-2:GA4のDebug Viewで正常に取得しているか確認する
続いて、GA4側で正常に取得できているか確認します。
管理 → データの表示 セクション → DebugView をクリックしてください。
タイムラインの中にある page_view → page_location を確認し、末尾が”DispForm.aspx?ID=xxx”となっていれば正常に動作しています。

手順7:GA4でカスタムディメンションを追加する
上記までの手順で、正常に動作していることは確認できました。
最後に、GA4側でディメンションを追加することにより、クエリ文字列込みで「ページとスクリーン」から確認できるようにします。
レポートの右上の編集(鉛筆アイコン) → ディメンション → ディメンションを追加 → ページパス+クエリ文字列 を追加してください。

※注意※
GA4のレポートに反映されるには時間がかかる場合があります。

この状態になると、リストアイテムを直接開いた場合と、ポップアップで開いた場合のどちらも、GA4のpage_viewとして集計できます。
SharePointのアクセス解析支援、まずはデモでご確認ください
実際の動作をサンプルサイトでご覧いただけます。
導入前のご相談・お見積りも無料で承っております。
FAQ
Q: X-SP Featureのアクセス解析支援機能とは、どのような機能ですか?
A: アーティサンが開発したSharePointのアドオン機能です。Google Analytics(GA4)・Microsoft Clarity・Google Tag Manager(GTM)などの解析ツールが提供するタグを、SharePointに対して自動的に埋め込むことができます。
Q: アクセス解析支援機能を導入するメリットは?
A: SharePointサイトのアクセス状況を、普段使い慣れた解析ツールで分析できるようになります。
手動でページごとにタグを追加する必要がなく、設定リストへの登録だけで全ページへ自動適用されるため、運用コストを大幅に削減できます。
Q: 対応している解析ツールはどれですか?
A: タグ形式で提供されているものであれば、いずれも対応可能です。
代表的なWeb解析ツールとしては、Google Analytics 4(GA4)・Microsoft Clarity・Google Tag Manager(GTM)が挙げられます。
Q: SharePointリストアイテムの閲覧数はGA4で取得できますか?
A: はい。X-SP Featureアクセス解析支援機能とGTMを組み合わせることで、SharePointリストアイテムの閲覧数をGA4で取得できます。リストアイテムを直接開いた場合だけでなく、ポップアップで開いた場合もpage_viewとして送信できます。
Q: リストアイテムを直接開いた場合とポップアップで開いた場合の両方を集計できますか?
A: はい。直接DispForm.aspx?ID=123を開いた場合は通常のページビューとして、ポップアップで開いた場合は今回追加するGTMタグから送信したページビューとして集計できます。
Q: X-SP Featureアクセス解析支援機能を使うメリットは何ですか?
A: SharePointへ解析用タグやスクリプトを一元的に配信できる点です。SharePointの各ページを個別に編集するのではなく、設定リストを通じて管理できるため、運用負荷を抑えながらGA4・GTM連携を実現できます。
おわりに
今回は、アーティサンが提供するX-SP Featureのアクセス解析支援機能を活用し、SharePointリストアイテムの閲覧数をGA4で取得する方法を紹介しました。
SharePointのリストは、FAQ・ナレッジ・申請管理・問い合わせ管理など、社内ポータルの重要な情報基盤として使われることが多い機能です。
リストアイテム単位の閲覧状況をGA4で確認できるようになると、社員が必要としている情報や、改善すべきコンテンツをデータにもとづいて判断しやすくなります。
アクセス解析支援機能の詳細や実際の挙動をご覧になりたい方は、ぜひ弊社までお気軽にお問い合わせいただければと思います!
もし記事を読んで「自社にとって最適なSharePointを構築したい」「構築時のサポートを行ってほしい」と思った方は、アーティサン株式会社の各種サービスをご活用ください。
現場の課題やご要望に合わせて、SharePointの設計・導入・運用をサポートいたします。
MSクラウドに関するご相談・お問い合わせはこちら
お問い合わせフォームへX-SP Feature機能紹介記事一覧
-
SharePointリストで複数行テキストを全文表示する方法|X-SP Feature(第1回)
-
SharePointの未読・既読を一目で管理できるアドオン紹介|X-SP Feature(第2回)
-
SharePointのアクセスランキングでよく見られるコンテンツを可視化する方法|X-SP Feature(第3回)
-
GA4・Clarity・GTMでSharePointのアクセス解析を行う方法|X-SP Feature(第4回)
-
カスタムスクリプト不要!SharePointでHTMLファイルを表示する方法|X-SP Feature(第5回)
-
SharePointのツリービューでフォルダ階層を直感的に表示する方法|X-SP Feature(第6回)
-
SharePointのリストアイテム閲覧数をGA4で計測する方法|X-SP Feature アクセス解析支援