0

Google Analytics コードを Web サイトに挿入しようとしています。このコードのチャンクは、すべてのページに配置されます。

<!--Google Analytics account for all smithmicro sites-->
<script type="text/javascript">
var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-166807-32']);
                _gaq.push(['_setAllowLinker', true]);
                _gaq.push(['_addIgnoredRef', 'smithmicro.com']);
                _gaq.push(['_setCustomVar', 5, 'ecommerce', 'fastspring', 3]);

                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); 
                ga.type = 'text/javascript'; 
                ga.async = true;
                ga.src = "https://ssl.google-analytics.com/ga.js";

                var s = document.getElementsByTagName('script')[0]; 
                s.parentNode.insertBefore(ga, s);
                })();
                </script>
<!--END Google Analytics account for all smithmicro sites-->

次に、このコードは購入ボタンです。

<form method="POST" action="https://sites.fastspring.com/smithmicro/checkout/23492?source=microsite " target="_top" onsubmit="_gaq.push(['_linkByPost', this]); return false;" ><input type="submit" value="Buy Physical" class="button"  /></form>

「return false;」を取り出せば問題なく動作します。ただし、分析が機能するためにはそこにいる必要があると言われています。フォームから同じパラメータを持つ単なるリンクに変更してみましたが、同じ結果が得られました。」

4

1 に答える 1

0

このコンテキストでreturn falseは、独自のカスタム フォーム処理関数 (この場合は_gaq.push(['_linkByPost', this]); return false;) を提供していますが、実際にはフォーム データを処理していないため、フォームの送信は行われません。

return false が必要だとどこで聞いたのかわかりませんが、そうではないと思います。実際、JavaScript 経由でフォームを送信しない限り、false を返しても何も起こりません。

リンクの場合、onclickハンドラーに を含める必要があると思いますreturn false。この場合、移動するというデフォルトのアクションは望ましくなく、リンクのヒットを記録してから、何かを Google に送信してから、ユーザーはリンクで参照されているページに移動する必要があるためです。

このページでは、少なくともreturn falseフォームのonsubmitイベント ハンドラーで使用していません。

https://developers.google.com/analytics/devguides/collection/gajs/asyncMigrationExamples

また、常に適切なドキュメントを参照していることを確認してください (異なる動作をする可能性のあるさまざまなバージョンの分析があります)。

于 2013-06-17T18:04:34.577 に答える