WordPressサイトでGTMのdataLayerにログイン状態を渡す方法

Google Tag Manager(GTM)を使用して、WordPressサイトのユーザーのログイン状態をトラッキングする方法について解説します。この記事では、GTMのdataLayerにログイン状態を渡し、GTM側でデータを活用できるように設定します。

1. 実装するコード

以下のコードをWordPressテーマに追加することで、ログイン状態をdataLayerに送信できます。

コード例

<?php
// ログイン状態なら'member'、非ログインなら'non_member'
$user_status = is_user_logged_in() ? 'member' : 'non_member';
?>
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'userStatus': '<?php echo $user_status; ?>'
});
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-NXVVG32');</script>
<!-- End Google Tag Manager -->

2. コードの解説

  1. PHPによるログイン状態の取得
  • is_user_logged_in():WordPressの関数でログイン状態をチェックします。
  • ログインしている場合は'member'、していない場合は'non_member'が返されます。
  1. JavaScriptによるdataLayerへの値の送信
  • window.dataLayer が存在しない場合は初期化されます。
  • pushメソッドでuserStatusというキーに値が追加されます。
  1. Google Tag Managerタグの追加
  • GTMのタグは標準スニペットをそのまま利用しています。
  • dataLayerの設定はスニペットより前に配置されているため、GTMが動作する前に値が設定されます。

3. GTM側の設定

1. 変数設定

  1. Google Tag Managerにログインします。
  2. 左メニューから「変数」をクリック。
  3. 「ユーザー定義変数」セクションで「新規作成」を選択。
  4. 変数タイプで「データレイヤー変数」を選択。
  5. 以下の設定を行います:
  • 変数名userStatus
  • データレイヤー変数名userStatus
  1. 保存します。

2. タグ設定

  1. 「タグ」セクションから新規タグを作成します。
  2. 例えば、ログインユーザー向けのイベントを送信する設定を追加します。
  3. 「トリガー」を追加して、userStatusmemberのときのみ発火する条件を設定します。

4. 動作確認

ブラウザでサイトを開き、デベロッパーツールの「コンソール」を開きます。
以下のコマンドを入力してdataLayerの内容を確認します。

console.log(window.dataLayer);

出力例:

[ { userStatus: 'member' } ]

ログイン状態に応じてmemberまたはnon_memberが表示されることを確認してください。

5. まとめ

このコードを使えば、WordPressサイトのログイン状態をGoogle Tag Manager経由で簡単にトラッキングできます。これにより、ユーザーグループごとの行動分析や広告ターゲティングの精度を向上させることができます。

ぜひこの設定を活用して、マーケティングデータの改善に役立ててください!

コメント

タイトルとURLをコピーしました