Closed17

GA4導入・設定

ピン留めされたアイテム
kenjkenj

前提

  • ECサイトに導入
  • ユニバーサルアナリティクスのサポート終了に伴って、終了の7月に1年前になるこのタイミングでGA4を導入する。
kenjkenj

GA4のプロパティ作成

まずはGA4のプロパティをアナリティクスの管理画面から作成

kenjkenj

ひとまずGA4導入

GTM側でGA4をトラッキングできるようにひとまず設定

アナリティクスの管理画面でプロパティ-> データストリーム -> ウェブと進むと測定IDというのがあるので、それをGTMのタグのGA4に設定する。

※ 本番環境と検証環境を別々の測定IDを使っていて、それをGTMの設定1回でどちらも測定できるようにするために、Enviroonment Nameという既存の環境名の変数とルックアップテーブルという変数タイプを使って
、環境毎に測定IDの出し分けをしている。

↓環境名で環境を出し分け

↓出し分けた環境名を使ってルックアップテーブルで測定IDの出し分け

出し分けは実現できるんだけど、設定を公開していないプレビューの段階ではプレビュー用の環境名が使われるので環境名の出し分けに微調整が必要になる。(ここをなんとかしたい)

これで公開すればトラッキングできる状態になる

GA4のトリガー

GTMで設定する際のトリガーは、より確実な計測をするために「Initialization – All Pages」を使うとよいとのこと

参考: 計測記述の追加 – Google Analytics 4 ガイド

kenjkenj

レポート用識別子

これはブレンドで大丈夫そう。
GoogleシグナルはGoogleにログインしていればデバイスやブラウザなどをまたいでも同じユーザーとしてトラッキングできる。

設定画面のデータ設定->データ収集といけばGoogleシグナルのデータ収集をONにできる。
これにはプライバシーに関わるところなのでサイトのプライバシーポリシーも確認しておく。

モデリングは使えない(導入時点)。
データが貯れば使えそう & 利用可能になったらデフォルトで有効になるとのことだからほっておいても良さそう

kenjkenj

内部トラフィックの除外

内部トラフィックのルール作成

社内だったり、テストツール(bot等)からのトラッキングを除外する。

データストリーム -> ウェブストリーム -> タグ付けの詳細設定と進むと、内部トラフィックの定義という項目があるので、そこで設定できる

traffic_typeinternalにして、IPアドレスを指定する。
UAだと正規表現で設定もできたけど、GA4だと無理そう?

内部トラフィックデータをフィルタリング

データ設定 -> データフィルタと進んで、フィルタを作成する。

traffic_typeinternalと設定し、フィルタの状態を有効にすると、イベントは除外される

kenjkenj

SPAのページビュートラッキング

GTMから配信しているユニバーサルアナリティクスだと、ブラウザ履歴のイベントを別途設定しないとページビュートラッキングできない。

GA4だと管理 > プロパティ > データストリーム > 詳細 > 拡張計測機能と進むと、ページビュー数という項目があり、詳細設定を表示すると、「ブラウザ履歴イベントに基づくページの変更」というところにチェックがついていればOK

kenjkenj

イベントの設定

GA4側では正規表現が使えないらしい。

GA4では演算子で正規表現を利用することができません。正規表現を利用したイベントを作成したい場合は、Google Tag Manager側で正規表現を利用して「トリガー」を作成し、GA4のイベントタグを設定する必要があります。その際にはGA4画面側でのイベント作成は必要ありません。
イベントの作成 – Google Analytics 4 ガイド

GA4でもGTM側でも設定できるから、設定するならどちらかに寄せたほうが良さそう

kenjkenj

GTMでのカスタムイベント設定

※ ソースコード上からdataLayerを使ってデータ送信してイベントトラッキングを想定

結論から言うと、1つのイベントを設定するときにタグとトリガーを1対1にして設定しないと実現できなさそう。
試したこととしては、タグとトリガーを一つずつ作成して、トリガーを発火させたときに、イベント名とパラメータをそれぞれ持っていて、それを変数にしてタグに認知させてイベントトラッキングできるか。
これならタグにdataLayerの変数を渡すだけで、イベント名、パラメータを動的にできて運用は楽そうだなと思ったけど、実装して試してみたところトリガーが発火せず・・・。

kenjkenj

ユーザーIDのトラッキング

GA4にユーザーIDを渡す|nakamura.akila|note

dataLayer.push({
  userId: 1111,
});

これの記述場所だが、GTMタグを読み込んだときにページビューイベントを発火させているため、GTMタグを読み込む前の部分に記述すると動作した。

kenjkenj

add_to_cartイベント

GTMの設定

こんな感じで設定して、GA4の仕様以外の情報をセットしたいときはユーザープロパティに設定する。

ただ、配列やオブジェクトはセットしても使え無さそう(GA4側で展開されない)なので一つの項目で複数ある場合はカンマ区切りとかで渡すのが良さそう?

kenjkenj

purchaseイベント

金額部分

  • value
  • item.price
    などがあるが、valueはトータルで支払う税込み金額
    item.priceは商品価格(税抜)

その他の費用はtaxshippingという項目があるのでそこにセットする

kenjkenj

Google 広告連携

  • ユニバーサルアナリティクスを使っている
  • ユニバーサルアナリティクスでGoogle 広告を使っている

この2つを満たしていたら、GA4の設定アシスタントページで、「接続済みのユニバーサル アナリティクス プロパティから既存の Google 広告リンクをインポート」という部分があるから「使ってみる」というボタンを押すと連携できる

kenjkenj

URLパラメーターを除外して計測

デフォルトで計測されているpage_locationにはパラメーター付きのURLが入っている。
これだと同じページでもパラメーターによって同一ではみなされなくなるので集計・計測が難しいらしい。

なので、パラメーターを除外したものも計測するようにする。
方法としてはトラッキング時にフィールドを追加する。

変数タイプはカスタムJavaScriptでこのように記載する。

function(){
 return document.location.origin + document.location.pathname;
}

これでパラメーター付き、無しどちらも計測できるようになる。

そしてカスタムディメンションを設定しておけば、分析も時にも使えるようになる

参考:https://www.ga4.guide/url-parameter-measurement/

kenjkenj

Merchant Center、Search Consoleとの連携

これは広告と同じ用にアカウント持ってたらリンクするだけで大丈夫そう

kenjkenj

推奨イベントなどの実装する理由

購入のイベントの他にもイベントを実装したほうがいい理由としては、商品の表示・カートに追加などのデータを明示的に取得することでより商品購入までの分析が容易になるってことがありそう

このスクラップは2023/06/30にクローズされました