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. コードの解説
- PHPによるログイン状態の取得
is_user_logged_in()
:WordPressの関数でログイン状態をチェックします。- ログインしている場合は
'member'
、していない場合は'non_member'
が返されます。
- JavaScriptによるdataLayerへの値の送信
window.dataLayer
が存在しない場合は初期化されます。push
メソッドでuserStatus
というキーに値が追加されます。
- Google Tag Managerタグの追加
- GTMのタグは標準スニペットをそのまま利用しています。
- dataLayerの設定はスニペットより前に配置されているため、GTMが動作する前に値が設定されます。
3. GTM側の設定
1. 変数設定
- Google Tag Managerにログインします。
- 左メニューから「変数」をクリック。
- 「ユーザー定義変数」セクションで「新規作成」を選択。
- 変数タイプで「データレイヤー変数」を選択。
- 以下の設定を行います:
- 変数名:
userStatus
- データレイヤー変数名:
userStatus
- 保存します。
2. タグ設定
- 「タグ」セクションから新規タグを作成します。
- 例えば、ログインユーザー向けのイベントを送信する設定を追加します。
- 「トリガー」を追加して、
userStatus
がmember
のときのみ発火する条件を設定します。
4. 動作確認
ブラウザでサイトを開き、デベロッパーツールの「コンソール」を開きます。
以下のコマンドを入力してdataLayerの内容を確認します。
console.log(window.dataLayer);
出力例:
[ { userStatus: 'member' } ]
ログイン状態に応じてmember
またはnon_member
が表示されることを確認してください。
5. まとめ
このコードを使えば、WordPressサイトのログイン状態をGoogle Tag Manager経由で簡単にトラッキングできます。これにより、ユーザーグループごとの行動分析や広告ターゲティングの精度を向上させることができます。
ぜひこの設定を活用して、マーケティングデータの改善に役立ててください!
コメント