0秒リダイレクトでも流入元をはかりたい
A.htmlにリダイレクトをかけて
B.htmlに0秒で飛ばします。
A、Bには同じGAタグを入れています。
例えば、C.htmlからA.htmlにアクセスし
リダイレクトされてB.htmlに飛んだ場合、
C.htmlからきている。という集計が取れるのでしょうか?
ネットで調べたところ
ダイレクト流入になってしまうなどの記事を見ました。。
リダイレクト記述
<script type="text/javascript"> <!-- setTimeout("link()", 0); function link(){ location.href='https://●●/B.html'; } --> </script>
GA記述
<head> <!-- 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-●●●●');</script> <!-- End Google Tag Manager --> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-●●●●" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> </body>
試したこと
下記を試したところ
リダイレクト前のバナーなどに付与したURLパラメーターを引き継ぐことができました。
これでGA等の集計が問題なくできるでしょうか?
!function() { var newPage = 'https://B.html'; var isMobile = (function() { var ua = navigator.userAgent.toLowerCase(); var sdev = /iphone;|(android|nokia|blackberry|bb10;).+mobile|android.+fennec|opera.+mobi|windows phone|symbianos/; return sdev.test(ua); })(); if (isMobile) { var separatednewPage = newPage.match(/(^https?://[^?#]+)(?:?([^#]*))?(#.*)?$/); var newOriginPath = separatednewPage[1]; var newFlagment = separatednewPage[3]; var oldReferrer = document.referrer ? 'referrer=' + encodeURIComponent(document.referrer) : ''; var oldQuery = location.search.slice(1); var newQuery = [separatednewPage[2], oldQuery, oldReferrer].filter(function(q) { return !!q }).join('&'); var newLocation = newOriginPath; if (newQuery) { newLocation = newLocation + '?' + newQuery; } if (newFlagment) { newLocation = newLocation + newFlagment; } location.href = newLocation; } }();
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。