0

さて、これは奇妙なものです。ページの下部に Google タグ マネージャー スクリプトを追加し、コンテナーを公開しましたが、すべてのタグを削除しました (タグの 1 つが原因であった場合に備えて)。私のコード スニペットは次のようになります。

    <!-- Google Tag Manager -->
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-5T8FJJ"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <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=
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-5T8FJJ');</script>
    <!-- End Google Tag Manager -->

タグ アシスタント コードの何かがハングして、ページが数秒間応答しなくなったようです。

このスクリーンショットを見るonreadystatechangeと、ほぼ 3200 ミリ秒かかっていることがわかります。

ここに画像の説明を入力

ここに画像の説明を入力

もう少し詳しく説明すると、node/react/webpack を使用してサーバー側のレンダリングを行っています。サーバーでレンダリングしているページ テンプレートは次のとおりです。

<!DOCTYPE html>
<html>
  <head>
    <meta charSet="utf-8" />
    <meta httpEquiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <title><%= title %></title>
    <meta name="description" content="" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="csrf" content=<%= csrf %> />
    <link rel="stylesheet" href="<%= styleUrl %>" />
  </head>
  <body>

    <script type="text/javascript">
      window.data = <%= data %>;
    </script>

    <div id="react-target">
    <%= html %>
    </div>

    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
    <script type="text/javascript" src="<%= commonsUrl %>"></script>
    <script type="text/javascript" src="<%= scriptUrl %>"></script>

    <!-- Google Tag Manager -->
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-5T8FJJ"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <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=
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-5T8FJJ');</script>
    <!-- End Google Tag Manager -->

  </body>
</html>

これは Google タグ マネージャーを使用する初めての試みなので、構成に問題があるかどうかはわかりません。助けに感謝します。

アップデート

という一般的な webpack バンドルがありcommon.jsます。[ネットワーク] タブによると、Google タグ マネージャー スクリプトによって 2 回目のダウンロードが強制されているようです。本当に奇妙です。

ここに画像の説明を入力

4

1 に答える 1

1

私はついに問題を理解することができました。Google Adwords コンバージョン トラッキング コードを読み込んでいるパーシャルがありました。

<!-- Google Code for Registration Conversion Page -->
<script type="text/javascript">
  /* <![CDATA[ */
  var google_conversion_id = xxx;
  var google_conversion_language = "en";
  var google_conversion_format = "3";
  var google_conversion_color = "xxx";
  var google_conversion_label = "xxx";
  var google_remarketing_only = false;
  /* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>
<noscript>
  <div style="display:inline;">
  <img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/xxx/?label=rX1nCMeesFkQ29ac1wM&amp;guid=ON&amp;script=0"/>
  </div>
</noscript>

これは webpack によってコンパイルおよびロードされていたため、奇妙な競合状態や何らかの競合が発生していました。なぜこれが問題になるのかはまだわかりませんが、修正されました。

于 2015-02-06T02:56:12.987 に答える