【PWA front-end】React(TypeScript) + auth0 +GA4

①1つの organization に複数の user を紐付け、user がログインをすることで、所属する organization の情報を扱うことができるアプリケーション
②user の role には管理者と一般がある
③①でいう情報とは、item, itemのラベル, user情報(管理者のみ) の3つ
④表示するコンテンツを main, sub, support にわけて、それぞれを最大1つまで同時に立ち上げることができる
・main: 立ち上げると sub, support は閉じられる
・sub: 立ち上げると support は閉じられる
・support: 立ち上げても他のコンテンツは閉じられない

GA4

「誰がいつ何をしたか」はGA4に記録を残す

Cloud SQLは結構なコストになりそうなので、GA4にログを残す方針でやってみる。

react-ga4 を使ってみる

ログイン情報を取得したら、user_properties にログイン情報をセットする
ReactGA.gtag("set", "user_properties", {
  organizationId: xxxx,
  userId: xxxx,
  role: xxxx,
  ip: xxxx,
});
custom event を作って、何かしらの動きがあったらGA4に送信

表示するコンテンツを切り替えた場合(例 main に item 一覧を立ち上げる)

ReactGA.event({
  category: "Contents",
  action: "Open Main",
  label: "item 一覧",
  nonInteraction: false,
});

APIをたたいて、DBの内容を更新した場合(例 item の情報を update した)

ReactGA.event({
  category: "Call an API",
  action: "Update",
  label: "Item",
  value: 5, // item_id
  nonInteraction: false,
});

当初、IPアドレスの取得は auth0 のログから確認すればよいと考えたが、1日分しか情報を残さないらしいので、GA4にIPも送ってみることにした


投稿日

カテゴリー:

,

投稿者:

タグ: