Googleアナリティクス4で管理画面だけでコンバージョン設定する

Googleアナリティクス4は当初コンバージョン設定するためにはコンバージョン対象ページでタグをカスタマイズする必要があったのだが、アップデートでタグのカスタマイズが不要になった。しかしユニバーサルアナリティクスのようにコンバージョン設定画面でURLを指定できるわけではなく、少し回りくどい設定が必要になる。この記事ではその方法を説明する。

機能のアップデート

既存のイベントから、イベント名やイベントパラメータの条件に基づいて新たなイベントを生成する機能が追加された。

これは大変便利な機能で、これまでイベントの再定義をしようと思ったらSDK(JavaScriptのタグやアプリのSDK)の入れ替えが必要だったのだが、それをしなくても管理画面の設定だけである程度自由に定義できるようになった。

既定のイベントだけでなくカスタムしたイベントごとのカウントがダッシュボードで把握できるようになったし、コンバージョン設定もできるようになった。

ウェブサイトの場合、特定のURLのページビューの場合に新たなイベントを発行できるのである。パラメータ「page_location」はページのURLを意味するので、

  • event_namepage_view
  • page_locationがコンバージョン完了ページのURL

だったら新たなイベント「conversion」(名前は任意)を発生させるという設定ができる。さらには「特定のページで一定以上スクロールしたら」などの条件も指定可能である。

特にSDKの変更が困難なアプリにおいて大きな威力を発揮するアップデートになった。

設定方法

イベントを設定する

イベント一覧画面の右上に「イベントを作成」というボタンがあるのでこれをクリックすると

イベントの設定画面が現れる。

ここでイベント名(ここで入力した値がそのままイベント名になる)、条件を指定する。

パラメータ名はプルダウンで選択できるが、すべてのパラメータが表示されているわけではない。現時点ではなぜかページのURLを意味するpage_locationが含まれていないので、これは手入力する。

またイベント名を指定するのを忘れないこと。イベント名を指定しないと、スクロールイベントの際にもパラメータpage_locationが存在するため、イベントが発火してしまう。ページビューイベントの時にのみ発火させるのであればパラメータ名でも絞り込んでおく必要がある。

なお設定画面のデータストリーム設定からも可能である。

設定の確認

設定完了してもイベントが計測されないと一覧に現れない。設定後、実際にイベントがカウントされ始めるまでには1時間程度かかった。

設定が成功したかどうかはブラウザの管理者ツールからメジャメントプロトコルのパケット(/collectv=2になっているもの)で確認できる。サーバ側のデータ処理によってイベントを生成しているのではなく、タグでイベントのパケットを発生させる挙動になっている。

パターン1:既存のイベントパケットに上乗せする形で新たなイベントを送る

パターン2:新たなイベントパケットを生成する

同じ設定なのにどちらのケースもある。そしてタグの変更が設定直後に反映されることもあれば時間がかかることもあり、挙動自体がよく読めない。

コンバージョンを設定する

イベントが計測され始めると一覧に設定したイベントが表示されるので、「コンバージョンとしてマークを付ける」をオンにする。

このイベント作成機能、便利ではあるが高度で何でもできてしまうので、きちんと設計せずむやみに追加していくとプロパティがカオスなことになるので気を付けて使うようにしてほしい。

現在計測されているイベントとパラメータの一覧を知る

上記のように新たなイベントを作成するためには、そもそも現在計測されているイベントとパラメータを把握する必要がある。

URLを指定するためにはpage_locationというパラメータを知っておかなければならないし、それがどのイベントと紐づいているかも知らないと正しくフィルタリングできない。page_locationpage_view以外にもscrollなどのイベントで計測されているため、page_locationだけで指定してしまうとページビューだけでなくスクロールイベントに対しても発火してしまう。

BigQueryからイベントデータを取得する

これを把握するためにはBigQueryが便利である。以下のクエリを実行すると

select 
  event_name, 
  ep.key, 
  case
    when ep.value.string_value is not null then ep.value.string_value
    when ep.value.int_value is not null then cast(ep.value.int_value as string)
    when ep.value.float_value is not null then cast(ep.value.float_value as string)
    when ep.value.double_value is not null then cast(ep.value.double_value as string)
    else null
  end value,
  count(0) n_events
from `prj.analytics_99999999.events_*`, unnest(event_params) ep 
group by 1,2,3;
  • イベント名×パラメータ名×パラメータ値ごとの
  • イベント発生数

がわかる。

データポータルでピボットテーブルに整形する

このアウトプットだとわかりにくいので、データポータルに送ってピボットテーブルにする。

さらにパラメータの値でドリルダウンして

フィルタでイベントの種類を絞り込むこともできる。

なおGA4のデータをBigQueryに出力方法はGoogleアナリティクス4プロパティのデータをBigQuery出力するを参照。

2020/11/02投稿

Google の記事一覧