GTM

【GTM】ページ遷移(特定のページ経由)のトリガーを作成しタグを発火させる手順

例えばページA → ページB → CVページ到達のページ遷移の条件を満たした際にGA4イベントタグを発火させたいといった要望に応えるトリガー作成方法を提示する。このようなニーズは様々なコンテキストにおいて発生しうるため活用用途の幅は大きい。ページ経由の条件はページA → CVページと少なくしても、逆にさらに遷移数を増やすこともコードの該当箇所を書き換えることで対応可能。

ページ遷移トリガーの実装概要

ブラウザにデータをセッションの間、保存できるsessionStorageに前のページとその前のページのURLを保持しておき、タグを発火させたいページにて、その2つの値を取り出すことで指定したページ遷移の条件指定を作成することが可能になる。

特徴sessionStoragelocalStorage
データの有効期間セッション中のみ永続的(手動で削除するまで)
データの共有同じタブ/ウィンドウ内でのみ同一ドメインのすべてのタブ
容量約5MB(ブラウザ依存)約5MB(ブラウザ依存)

GTM実装手順

sessionStorageにURL履歴を保存

名称:URL_History タイプ:カスタムHTML トリガー:All Pages

<script>
  (function() {
    // 現在のページを取得
    var currentPage = document.referrer;

    // 既存の履歴を取得
    var history = JSON.parse(sessionStorage.getItem('pageHistory')) || [];

    // 現在のページを履歴に追加
    if (currentPage) {
      history.unshift(currentPage);
    }

    // 履歴を2件に制限(前のページと前の前のページ)
    history = history.slice(0, 2);

    // 更新した履歴を保存
    sessionStorage.setItem('pageHistory', JSON.stringify(history));
  })();
</script>

URL履歴取得用カスタムJavaScript

名称:Previous_01_URL タイプ:カスタム JavaScript

function() {
  var history = JSON.parse(sessionStorage.getItem('pageHistory')) || [];
  return history[0] || null;
}

名称:Previous_02_URL タイプ:カスタム JavaScript

function() {
  var history = JSON.parse(sessionStorage.getItem('pageHistory')) || [];
  return history[1] || null;
}

トリガー作成

トリガーのタイプ:ページビュー – ウィンドウの読み込み
Previous_01_URL 含む 前のページのURLを指定
Previous_02_URL 含む 前の前のページのURLを指定
Page Path 等しい CV到達ページ

GA4のイベントタグに対してこのトリガー設定することで、指定したページ遷移を辿りCVページに到達するとイベントが発火する。トリガーのタイプは初めに作成した「URL_History」よりも後に発火させる必要があるため[ウィンドウの読み込み]を指定している。

GA4イベント作成

上で作成したトリガーを条件としてGA4イベントを発火させる。

デバック用のコード

名称:URL_Debug タイプ:カスタムHTML トリガー:All Pages

<script>
  (function() {
    var history = JSON.parse(sessionStorage.getItem('pageHistory')) || [];
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({
      'event': 'debugPageHistory',
      '前のページ': history[0] || 'なし',
      '前の前のページ': history[1] || 'なし'
    });
  })();
</script>
著:神谷 英男, 著:石本 憲貴, 著:礒崎 将一, 監修:小川 卓
¥3,399 (2025/04/18 09:59時点 | Amazon調べ)

関連記事

【GTM】セッションのLPで1回のみ発火させるトリガー

おすすめ記事

最近の記事
おすすめ記事
  1. BigQuery(SQL)を使わないLooker Studioのテンプレートが無価値である理由

  2. サーチコンソールでキーワードの検索順位を確認する方法

  3. GRCがエラーで使えない?代替ツールはこれ一択『The Auto 順位チェッカー』

  1. 【GA4 SQL】ユーザー エクスプローラーをBigQueryで再現

  2. [GA4 SQL] セッションあたりの平均エンゲージメント時間とは

  3. 【BigQuery】データセットのテーブルを一括削除するSQL

PAGE TOP