このブログで使っていたTurbolinkをTurboに変更しました。
Turboに変更したところ、Turbolinkのページビュー送信コードでは、動作しなくなったので、コードの変更を実施しました。
変更した点と、GTMの設定について記載します。
Turboのバージョン
7.2.0 を利用しています。
npm list --depth=0 | grep @hotwired/turbo
├── @hotwired/turbo@7.2.0
元々のTurbolinkのページビューイベント送信コード
// Turbolinkで遷移した場合の初期化処理
document.addEventListener('turbolink:load', function(event) {
const url = event.data.url;
dataLayer.push({
'event': 'turbolinks_load_pageView',
'virtualUrl': url,
});
previousUrl = event.data.url;
});
Turboのページビューイベントの送信コード
変更点は以下の2点です。
* イベント名が、turbolink:load から turbo:load へ変更になった。
* urlの格納先が、event.data.url から event.detail.url へ変更になった。
// Turboで遷移した場合の初期化処理
document.addEventListener('turbo:load', function(event) {
const url = event.detail.url;
dataLayer.push({
'event': 'turbolinks_load_pageView',
'virtualUrl': url,
});
previousUrl = event.detail.url;
});
GTMでの設定
GTM(Google Tag Manager)では以下の設定を行なっています。
カスタムイベントトリガーの作成
-
トリガーのタイプ
カスタムイベント -
イベント名
turbolinks_load_pageview -
このトリガーの発生場所
すべてのカスタムイベント
タグを作成
GA4のタグを作成し、作成したカスタムイベントトリガーをトリガーとして登録します。
設定は以上です。

コメント