Google Analytics(GA4)の設定とContent Security Policy(CSP)

ページのソースコードにありがちなのコレ(今ではGAよりもGA4が一般的)らしい

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=<measurment ID(String)>"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', <measurment ID(String)>);
</script>

クライアントブラウザが測定ID付きURLを読み込んでjsを叩くと自動でGoogleに送信される

やる前に

GA4のページに仕込まれたインラインスクリプトChromeのCSP設定で弾かれるので(自社製品同士なんだし上手くデバッグしてくれ)

  • 「環境設定」
  • 「プライバシーとセキュリティ」
  • 「安全でないコンテンツ」(1番下にあるはず)
  • [*.]analytics.google.comをurlに追加

しておこう,CSPが設定されたページでは危険な関数(eval系など)や許可のないurlから得たjsをブラウザが実行せず,前者のせいで操作不能になる
ちなみに実際にGA4を埋め込むと後者が原因で動かない時があるらしい,はてなブログはMathJaxが動くから流石にセーフだと思うが,自分でCSPを設定できるサイト(<meta>タグの中かhttpヘッダの中に入れるらしい)の場合はGA4に対応するurlを許可しないといけない(ここでは扱わない)

導入

アカウント作成

  • ここに行く
  • 「無料で設定」を選択(アカウントないなら)
  • アカウント名を設定
    • とりあえず自分の名前にした
    • ⚠︎GA4アカウントとGmailアカウントは別物です!⚠︎
    • 管理者はちゃんと管理しておこう(激うまギャグ)
    • 複数のアカウントが持てるらしいが今は必要性を感じてない
  • 質問には適当に回答
    • 自分しか見ないならデータ共有の類は全て却下して良さげ
    • 後からでも設定できるので問題なし

プロパティ作成

  • プロパティ名は識別しやすくサービス名を表現する
    • 「HatenaBlog」にした
  • タイムゾーンと通貨は日本で設定
    • 本当は場所に合わせた方が良い
  • 「ユニバーサル アナリティクス(GA)のプロパティのみを作成する」は今回は却下
    • ここ曰くはてブロではデフォでGAを埋め込めるらしい
    • プロパティは後から作れるので何かあればやり直せば良い
    • GA(昔からある)とGA4(まだ1年も経ってないらしい)では機能が違うらしい,まぁどうせ改良されるだろう

ストリーム作成

  • 「管理」→「データストリーム」→「データストリームを追加」→「Web」
    • スマホアプリ埋め込み型もあるらしい
  • ストリームURLに対象ドメインを設定
    • https://blog.hatena.ne.jp/Soluna_Eureka/soluna-eureka.hatenablog.comにした
  • ストリーム名に識別しやすくページ名を設定
    • 「ChoHoChoDo」(調法調度)にした
  • 拡張機能を全てオンにする
  • すると測定IDが生成される

利用

「タグ設定手順」の上のやつを開いてコピーしたら任意のページの<head></head>にコピペ
はてブロなら「デザイン」「🔧」「ヘッダ」に入れれば動くはず(GAとGA4ではID形式が違うので直埋め必須)

Google Tag Manager(GTM)

これを使うと実装や管理や楽になるらしいが,今回は扱わない(長くなりそう)

手元でどう映るか

俺はお前が俺を見たのを見たぞ

f:id:Soluna_Eureka:20211219003434p:plain
test

これがやりたかっただけ ちなみに解析は丸1日経たないとできないらしい