前提・実現したいこと
メディアECサイト内に複数のバナーを設置しています。
バナーの設置方法はHTMLコードのベタ打ちではなく、
同一ドメインの下層ディレクトリにWordPressを入れて、
WordPressのカスタム投稿でバナーを登録し、
メディアECサイト上にajaxで読み込まれるようにしています。
このajaxで呼び出されたバナーごとのクリック数を計測したく、
bodyタグに以下のように記述してみたのですが、上手くいきません。
ajaxなど非同期でページに読み込まれたバナーを計測することはできますか?
わたしの書き方で足りない部分や、根本的に間違っている部分などあれば
ご指摘いただけますとありがたいです。
ajax部分
ajax
1$(document).ready(function(){ 2 $.ajax({ 3 url: '取得するURL', 4 type: 'GET', 5 cache: false, 6 success: function(res) { 7 if (res.responseText) { 8 content = $(res.responseText); 9 } else { 10 content = $(res); 11 } 12 $(".sideBnrWp").html(content); 13 } 14 }); 15 });
バナーのクリック数を取得するため設置したコード
jQuery
1$(document).on('click', '.ga_banner', function() { 2 const $this = $(this); 3 const altBnr = $this.find('img').attr('alt'); 4 console.log(altBnr); // これは取れています 5 gtag('event', 'ga_banner', { 6 'event_category': 'バナークリック', 7 'event_label': altBnr 8 }); 9});
ajaxにより吐き出されるHTML
リンク先、画像URL、バナータイトルはカスタム投稿で入力した各値が入ります。
HTML
1<li><a href="リンク先URL" class="ga_banner"><img src="画像URL" alt="バナータイトル"></a></li> 2<li><a href="リンク先URL" class="ga_banner"><img src="画像URL" alt="バナータイトル"></a></li> 3: 4常時4~6個のバナー
試したこと
開発ツールのconsoleを見ると、コンソールログのaltの取得は出来ていますが、
gtagにイベントが飛ばないようです。
bodyではなくhead内(gtagより下)に書いてみたりもしましたが、やはりカウントはされません。
ECサイトはカラーミーショップを使用していて、
アナリティクス(gtag)自体は通常通り設置しており、アクセス解析は問題ありません。
補足情報
社内スタッフが簡単に登録や削除が行えるようにするため、
バナーの呼び出し方法自体を変更するのは難しいです。
ECサイト部分とWordPress部分でヘッダー・フッター・サイドメニューなど
共通デザインのため、WP部分にも同じバナーが設定されていますが、
WordPress部分はGoogleタグマネージャで管理しており、クリックイベントを取得できています。
ECサイト部分はタグマネージャが使えないため、gtagを使っております。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。