Cloudflareで公開したNotionのWebサイトにGoogleアナリティクスのタグを貼る

Cloudflareを使うと、Notionで作成したページを独自ドメインのWebサイトとして公開できます。

この記事では、Notion+Cloudflareで作成した自分のサイトにGoogleアナリティクスを導入するためにやったことをメモっておきます。
ちなみにCloudflareでNotionサイトを公開する手順は、こちらのページがとても参考になりました。

Cloudflareなら無料でWebサイト化できる → でも、上級者向け

NotionをWeb化するときにはSuperWraptasといったサービスを使うのが人気です。

SuperやWraptasには様々な便利機能があり、カスタマイズも楽にできます。
ただこれらのサードパーティ製アプリは有料で、月々1,000円くらいかかっちゃうんですよね。

僕は個人のポートフォリオサイトのようなものを公開したかっただけなので、そこに月額1,000円かけるのは避けたかったです。
Superなどは表示速度も高速化されるので、商用サイトやコーポレートサイトではそのような有料サービスを使ったほうがいいですね。

結果的に多少手間はかかりますがCloudflareを使うことにしました。
しかしできることは基本的に独自ドメインからNotionを参照するための設定のみ。

ページ内にタグを貼るには直接スクリプトをいじる必要があります。

Workersのスクリプトを編集する

やり方はそれほど難しくなく、ファンクションサービス(Workers)のスクリプトをちょろっといじるだけでした。

CloudflareにログインしWorkersへ

「Workersを管理する」をクリック

該当のWorkersを選択する

CloudflareとFruitionを使っている場合、すでにWorkersが設定されいるはずなので、そちらを選択してクリックしします。

「クイック編集」からファンクションの編集画面へ

スクリプトにGoogleアナリティクスのタグを追記する(UA・GA4共通)

既存スクリプト内のclass「HeadRewriter」の中を書き換えると、公開されているサイトの<header>要素を編集できるようになっています。

styleを追記しているところの次辺りに、Googleアナリティクスのタグをelement.appendで追加するようにします。

追記するJavaScriptの例(GA4の場合)

element.append(`
        <!-- Global site tag (gtag.js) - Google Analytics -->
        <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>  //XXXXXXXXXXは自分のサイトのトラッキングID
        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());

          gtag('config', 'G-XXXXXXXXXX'); //XXXXXXXXXXは自分のサイトのトラッキングID
        </script>
      `, {
        html: true
      })

こちらを「保存してデプロイする」からデプロイすれば、Googleアナリティクス側でアクセスデータの取得ができるようになります!

今回はこれまで。ではまた。