Google Analytics 4のテンプレコードは使えない
Google Analytics 4の挿入コードは、従来のGoogle Analyticsと同じで、違いはトラッキングIDだけです。
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-VYJWSX63W4"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-VYJWSX63W4');
</script>
このコードは外部Javascript扱いになるため、従来のGoogle Analyticsと同様、AMPページでは使えません。
AMP公式のガイドコードは使えるか? => 現状使えない
続いて、従来のGoogle Analyticsで使えたamp-analyticsを使ってみます。GA_MEASUREMENT_IDにトラッキングコードを入れて使います。
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
<amp-analytics type="gtag" data-credentials="include">
<script type="application/json">
{
"vars" : {
"gtag_id": "<GA_MEASUREMENT_ID>",
"config" : {
"<GA_MEASUREMENT_ID>": { "groups": "default" }
}
}
}
</script>
</amp-analytics>
これはGoogle Analytics公式ガイドのコードですが、Google Analytics 4のトラッキングIDを挿入するとトラッキングされません。
ブラウザのコンソールを確認すると、
[AmpAnalytics] <unknown id> No triggers were found in the config. No analytics data will be sent.
となっています。
方式的には、トラッキングIDをgoogletagmanagerに送信して、対応するトラッキングIDがないと上記のエラーを返すようになっているので、Google Analyticsサーバー側の問題のようです。
現状対策はない?
これまでの方法がダメとなると、amp-analyticsでtrigger設定をすれば行けるかと思いきや、triggerやrequestsを設定しても、AMP経由だとトラッキングしてくれません。
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars" : {
"gtag_id": "G-XXXXXXXX",
"config" : {
"G-XXXXXXXX": { "groups": "default" }
}
},
"requests": {
"pageview": "https://foo.com/pixel?RANDOM"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
これはGithubのフォーラムなどを見ると、Googleに報告したというユーザーもいるので、Googleの対応を待つか、従来のトラッキング方法である「ユニバーサル アナリティクス プロパティ」を使うようにしましょう。
Google Analytics 4はAMPページで使えるかをテストしてみました。
新しくプロパティを作成した際はGoogle Analytics 4形式がデフォルトになってしまうので、AMPページではGoogle Analytics 4を使うことができない現状では、AMPページでのトラッキングは一旦諦めることになりそうです。