【ノーコード+コピペでOK】GA4で「ページの価値」を確認するには? | 株式会社ISSUN(イッスン)

【ノーコード+コピペでOK】GA4で「ページの価値」を確認するには?

目次

ISSUNコンサルタントの矢崎です。

Googleアナリティクスは、2023年7月1日にユニバーサルアナリティクス(通称UA)のサポートが終了し、GA4という新しいバージョンに代わりました。
GA4で無くなった指標のひとつに「ページの価値」があります。
「ページの価値」とは、ページを修正したとき、それが成功だったのかが一目でわかるだけでなく
・収益に貢献しているページ
・売上の足をひっぱっているページ
などが瞬時に判断できる便利な指標でした。(詳細な手順はこちら

一言で言うと、ページの価値とは、「特定のページを経由した収益 / ユニークPV数」なのですが、
この指標がGA4から無くなり、必要な場合は BIgQueryを使う必要があり、専門知識やコストが必要などハードルが高くなっています。

参考:ページの価値とは https://support.google.com/analytics/answer/2695658

そこで本記事では、ノーコスト、ノーコード、コピペで完了する「ページの価値」の再現方法を弊社webチーム(筧田・矢崎)が検証・開発いたしましたので、本稿にてご紹介させていただきます。

参考:BigQueryを使いページの価値を算出する方法はこちら

GA4でページの価値を算出するために必要な指標

ページの価値を算出するため、本記事で用意する指標は以下の4つです。

①ユーザーを識別するクライアントID 
②各ページを訪れた際のタイムスタンプ
③コンバージョンの値
④各ページのユニークPV数

※①は、本来であればセッションIDを使用するのですが、ユーザー別での動線が確認できるクライアントIDを使用することで、よりユーザーがCV前に見ていたページを確認することが出来るようになるため、今回はセッションIDではなくクライアントIDを採用しています。
※④本来であればユニークPV数を使用しますが、現状BigQueryを使わずにユニークPV数を出す方法がないため、代替としてユーザー数を使用しています。

では、それぞれ用意していきましょう。

ページの価値算出に必要なもの

  • GA4アカウント(編集権限以上)
  • GoogleTagManagerアカウント(公開権限)
  • スプレッドシート(編集権限以上)
  • スプレッドシートアドオン(インストール時に下記権限を許可)
    このアプリケーションがインストールされているスプレッドシートの表示と管理
    Google アナリティクスのデータの参照、ダウンロード
    Google アナリティクス データの表示と管理
    Google アプリケーション内のプロンプトとサイドバーで、サードパーティのウェブコンテンツを表示、実行します

実装の流れ

①GoogleTagManagerでクライアントID、タイムスタンプ(日時)、コンバージョンの価値を設定
②GA4でカスタムディメンションを設定
③スプレッドシートに各指標を出力
④出力した指標からページの価値を計算する

①GTMでクライアントID、タイムスタンプ(日時)、コンバージョンの価値を設定

まず、タグマネージャーにてクライアントIDの発行タグを作成いたします。
タグマネージャーのワークスペースから「新規」をクリック

コミュニティテンプレートのギャラリーから、
GTAG GET API を選択します。

タグの名前を「クライアントID発行タグ」に設定
MeasurmentIDをGA4の測定IDに設定します。
Default Fields To Getのチェックボックスはすべて選択
トリガーに「ALL Pages」を設定し、保存します。

GA4の測定IDは設定→データストリームで表示されたデータストリームをクリックすると表示されます。

クライアントID生成をトリガーにするイベントを作成
トリガーから「新規」を選択

トリガー名を「gtagApiGet」
トリガーのタイプを「カスタムイベント」
イベント名を「gtagApiGet」

に設定し、保存します。

発行したクライアントIDを処理できるようデータレイヤーを作成
変数→「新規」を選択

変数の名前を「gtagApiResult.client_id」
変数のタイプを「データレイヤーの変数」
データレイヤーの変数名を「gtagApiResult.client_id」

に設定し保存します。

タイムスタンプの変数を設定

タイムスタンプをタグマネージャーで処理できるよう、変数を作成します。
変数→「新規」を選択

変数の名前を「time_stamp_JS」
変数のタイプを「カスタムJavascript」
内容を下記に設定し保存します。

function() {
var date = new Date();
var YYYY = date.getFullYear();
var MM = date.getMonth()+1;
var DD = date.getDate();
var HH = date.getHours();
var MI = date.getMinutes();
var SS = date.getSeconds();

var mm = ('0' + MM).slice(-2);
var dd = ('0' + DD).slice(-2);
var hh = ('0' + HH).slice(-2);
var mi = ('0' + MI).slice(-2);
var ss = ('0' + SS).slice(-2);
var time = YYYY + "/" + mm + "/" + dd + " " + hh + ":" + mi + ":" + ss;
return  time;
}

GA4用のイベントを作成

タグ→「新規」を選択
タグの種類:Googleアナリティクス GA4イベント
設定タグ:なし
測定ID:GA4の計測ID
イベント名:「ページの価値計測用」
イベントパラメータに下記を設定
clientId : {{gtagApiResult.client_id}}. 
※注 変数の後に必ず「.」を入力してください
 「.」を入力しないと、クライアントIDが数字として扱われてしまい。
 「918227259.1684217542」の「168」以降が小数点以下として省略されてしまいます。
timestamp : {{time_stamp_JS}}
URL : {{Page URL}}

配信トリガーを
カスタムイベント:gtagApiGet に設定

これで

クライアントID
タイムスタンプ
閲覧したページURL

をパラメータに格納したイベントが作成されました。
ここまで設定したらタグを公開します。

GA4のリアルタイムにてイベントが計測されているか確認しましょう
問題がなければ2~3分程で反映がされます。

※イベントが計測されない場合、下記をご確認ください。
・ここまでのタグやトリガーの設定が完了している
・タグマネージャーが「公開」されている

コンバージョンの設定

クライアントID、タイムスタンプ、コンバージョン値、通貨をパラメータとして持つイベントを作成します。
タグ→「新規」から
タグの種類:Googleアナリティクス GA4イベント
設定タグ:なし
測定ID:GA4の計測ID
イベント名:※任意のイベント名 今回は「GA4-お問い合わせクリック」としています。
イベントパラメータに下記を設定
clientId : {{gtagApiResult.client_id}}. ※注 変数の後に必ず「.」を入力してください
timestamp : {{time_stamp_JS}}
value:※任意のコンバージョンの価値 今回は「1000」としています
currency:JPY

トリガー:このイベントが発生するトリガー

※コンバージョンがeコマースのトランザクション場合、
 「purchase」イベントがASPとの連携でGA4に送られているケースもあるかと思われます。
 今回ご紹介している方法はGTMで設定したイベントでなければクライアントIDとタイムスタンプのパラメータを付与することが難しいため、新たにGTMでイベント名「購入」を作成し、クライアントID、タイムスタンプ、value(eコマースの売上)を設定したイベントを作成することでECサイトでも対応が可能です。

購入イベントの例

こちらも作成後にタグマネージャーを公開し、

GA4のリアルタイムでイベントが計測されているか確認しましょう

②GA4でカスタムディメンションを設定

①で設定したクライアントIDなどのパラメータは、そのままではGA4のレポートなどで見ることが出来ません。カスタムディメンションを設定し、GA4で確認出来るように設定します。

左上の「カスタムディメンションを作成」から

下記のカスタムディメンションを作成

ディメンション名:クラアントID
範囲:イベント
イベントパラメータ:clientId

ディメンション名:タイムスタンプ
範囲:イベント
イベントパラメータ:timestamp

ディメンション名:URL
範囲:イベント
イベントパラメータ:URL

設定後、GA4への反映に24~48時間程かかるため時間を置いて③のステップに移ります。

③スプレッドシートに出力

新規のスプレッドシートを作成し、

拡張機能から「アドオン」→「アドオンを取得」
GA4 Reports Builder for google analytics をインストールします。
このアドオンを使い、GA4のデータをスプレッドシートに出力します。

※インストール直後はアドオンを選択しても「ヘルプ」しか表示されないことがありますが、スプレッドシートを更新すると解決されます。

出力するデータは3種類です

①クライアントID別の時系列のページ遷移
②クライアントIDと紐づいたイベントのデータ
③各ページのユーザー数

①クライアントID別の時系列のページ遷移

インストールしたアドオンから「Create New report」を選択

出力したいGA4のアカウントを設定し、

Report name を「ユーザー動線」
Account を今回ページの価値を取得するGA4アカウント
Property を今回ページの価値を取得するGA4プロパティ
Start date をspecific date→開始する日付(この記事では2023年8月1日)
Ebd date を yesterday

Dimentions:
customEvent:clientId
customEvent:timestamp
eventName,
customEvent:URL

Metrics:
eventCount

上記設定が出来たら「Create Report」でレポートを作成します。

Report Configurationシートが作成され、レポートの設定が出力されます。
追加のレポートはC列、D列のセルを更新することで追加可能です。

②クライアントIDと紐づいたイベントのデータ

セルB3、B4、B5をセルC3、C4、C5にコピーし、
C2:コンバージョン
C6:eventValue
C7:eventName,customEvent:clientId, customEvent:timestamp
C11:1000

と入力します。

③各ページのPV数

同様に、セルB3、B4、B5をセルD3、D4、D5にコピーし、

D2:ユーザー数
D6:totalUsers
D7:date, pageLocation
D11:1000

と入力します。

ここまで入力出来たら、
拡張機能→GA4 Reports Builder for google analytics→Run reportsを選択

設定が上手く出来ていれば、ユーザー動線コンバージョンユーザー数のシートが新たに作成されます。

これで必要なデータをスプレッドシートに出力することが出来ました。

④出力した指標からページの価値を計算する
スプレッドシートに「ページの価値」シートを作成
それぞれ必要なデータを処理していきます。

ページの価値を計算するシートを作成

①コンバージョンの価値が0より上のイベントを出力
A1に「価値の発生したクライアントID」と入力 ※A1:D1までわかりやすく色をつけています。
「ページの価値」シートのA2に下記関数を入力

=QUERY('コンバージョン'!A15:D,"where D > 0",1)

②価値が発生したクライアントIDの動線

CVに至り、価値が発生したクライアントIDが辿った動線を出します。
F1に「価値の発生したクライアントIDの動線」と入力 ※F1:K1までわかりやすく色をつけています。
「ページの価値」シートのF2に下記関数を入力

=QUERY('ユーザー動線'!A15:E,"where A MATCHES '^("& JOIN("|",B3:B)&")$'")

K3:Kに、コンバージョンに至る前に辿ったページにEvent Valueを付与する関数を入力

=SUMIFS($D:$D,$B:$B,F3,$C:$C,">="&G3)
=SUMIFS($D:$D,$B:$B,F4,$C:$C,">="&G4)
=SUMIFS($D:$D,$B:$B,F5,$C:$C,">="&G5)
.
.
.

③ページの価値計算

整形された情報を使い、ページの価値を算出します。
「ページの価値」シートのM2に下記関数を入力

=query('ユーザー数'!A15:C,"select B,sum(C) group by B order by SUM(C) DESC",1)

O3に各ページにのページの価値を合計する関数を入力

=ARRAYFORMULA(SUMIF(I:I,M4:M,K:K))

P3にページの価値をユーザー数で割る関数を入力

=IFERROR(ARRAYFORMULA(O3:O/N3:N),"")

これでページの価値を算出を出すことが出来ました。 お疲れ様でした。

参考:BigQueryで算出する方法

BigQueryを使用すると、上記のような作業をせずとも簡単にページの価値を出すことが出来ます。

導入にハードルはあるものの、確認出来る指標が増えるためこれを機にBigQueryの導入を検討されてもよいかもしれません。

with revenue_table as(
  select
    event_params[safe_offset((select index from unnest(event_params) with offset index where key = 'ga_session_id'))].value.string_value as ga_session_id,
    sum(ecommerce.purchase_revenue) as revenue
  from
    `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20230101`
  group by
    1
  order by
    2 desc
),
page_table as (
  select distinct
    event_params[safe_offset((select index from unnest(event_params) with offset index where key = 'ga_session_id'))].value.string_value as ga_session_id,
    event_params[safe_offset((select index from unnest(event_params) with offset index where key = 'page_title'))].value.string_value as page_title
  from
    `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20230101`
  where
    event_name = 'page_view'
),
distinct_table as(
  select distinct
    page_table.page_title,
    page_table.ga_session_id,
    revenue_table.revenue
  from
    page_table
    left join revenue_table on page_table.ga_session_id = revenue_table.ga_session_id
)
select
  page_title,
  count(distinct ga_session_id) as unique_pv,
  sum(revenue) as revenue,
  sum(revenue)/count(distinct ga_session_id) as page_price
from
  distinct_table
group by
  page_title

まとめ

本記事では、BigQueryを使わずにGA4でページの価値を算出する方法について解説いたしました。

・必要なデータが分からない
・Googleアナリティクスの活用方法が分からない
・プロに解析をお願いしたい

など、WEB解析の疑問点があれば是非ISSUNにご相談くださいね。

関連記事

【無料でOK】Googleアナリティクス(UA)バックアップ手段


この記事を書いた人
矢崎
矢崎
ISSUN/ マーケター/コンサルタント 営業職を6年経験し、コンサルティング職へ。 ・飲食店の立ち上げ ・ECサイト(自社ドメイン・楽天・amzon) ・アパレル ・化粧品 ・脱毛 ・教育法人 ・医療福祉サービス などを担当。業界を横断した知識で売上・リード獲得を行う。
Scroll to Top