問題タブ [google-tag-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Google タグ マネージャー: イベント トラッキングが機能しない
タグ マネージャーを使用してサイト上のすべての mailto リンクのクリックを追跡しようとしていますが、まったく機能しません。firebug を使用したネットワーク転送を見ると、Google に何も送信されていないことがわかります (もちろん、Analytics インターフェイスにも何も表示されません)。
jQueryを使用してプッシュをクリックにバインドしました(ページに正しくロードされました):
次に、Google タグ マネージャー インターフェースで、適切な Web プロパティ ID (UA-XXXXXX-X など) を使用してタグを Google アナリティクス タグとして設定します。タイプは、次のパラメーターで「イベント」に設定されます。
カテゴリ:{{eventCategory}}
アクション:{{eventAction}}
ラベル:{{eventLabel}}
値のフィールドは空です。非相互作用は設定されていません。
{{eventLabel}}
イベントをトリガーするために、 My Event Label に等しいルールを設定しました。
もちろん、次のマクロも作成しました。
名前: eventLabel
タイプ: dataLayer 変数 変数
の名前: eventLabel
名前: eventCategory
タイプ: dataLayer 変数 変数
の名前: eventCategory
名前: eventAction
タイプ: dataLayer 変数 変数
の名前: eventAction
名前: イベント
タイプ: ユーザー定義イベント
これにエラーはありますか?Google に何も送信されないのはなぜですか?
つまり、ユーザー定義変数が実際には必要ないことはわかっていますが、とにかく設定しても問題はありません。
jQueryセレクターも問題ありませんconsole.log
。同じイベントをバインドすると、コンソールにメッセージが表示されます。
javascript - Google タグ マネージャーの dataLayer の永続性
概要
Google タグ マネージャーの dataLayer は、特に AJAX を多用するサイトでは、時間の経過とともに値で詰まり、ルールとタグが複雑になりすぎます。
質問
トラッキングの多いサイトに GTM を実装しており、次の問題に対する明確な解決策を探しています。例として Google アナリティクスを取り上げます。
イベント追跡用に 4 つのマクロを設定して使用できます。
- カテゴリ {{ga イベント カテゴリ}}
- アクション {{ga イベント アクション}}
- ラベル {{ga イベント ラベル}}
- 値 {{ga イベント値}}
値とラベルはオプションですが、dataLayer は永続的ですね。では、次のシナリオをどのように処理すればよいでしょうか。
しかし、後で同じページで別のイベントを追跡する必要がありますが、ラベルと値のないものです。
「Event is gaEvent」のようなルールを設定し、その上で次のような「Google アナリティクス」タグを起動するとします (ここでは、組み込みのタグではなく HTML タグを使用します)。
_gaq
2 番目のイベントは、前のイベントのラベルと値でプッシュされます。
このようなケースをどのように処理しますか?
疑問に思っている人のために、特定の時点で同じイベントで異なるタグを起動できるようにする必要があるため、この「動的」ソリューションが必要ですが、dataLayer がそのように永続的であると、ルールが台無しになります。
編集 1: ルーチンのテスト
これが私がこれをテストする方法です。
- Google アナリティクス デバッガーを Chrome にインストールしました
- GTM をデバッグ モードで使用しています
- サイトが読み込まれたら、コンソールで説明から最初の dataLayer プッシュを行います
- GA デバッグ出力から、GA イベントが 4 つの値で起動されていることがわかります
- コンソールから 2 回目のプッシュを行います
- GA デバッグの出力は、GA イベントが新しいカテゴリとアクションで起動されることを示していますが、以前にプッシュされたラベルと値を使用しています
それが私が話す持続性です。gaCustomEvent
これを回避するために、gaCustomEventWithLabel
、などのさまざまなイベント タイプを思いつきgaCustomEventWithOption
、それらのそれぞれにルールとタグを付けることができました。それはばかげている、同意しませんか?
javascript - Google タグ マネージャーがスクリプト DOM 要素ではなく IFrame を使用するのはなぜですか?
Google タグ マネージャーが非表示の IFrame ソリューションを使用する理由は何ですか? このページhttps://developers.google.com/tag-manager/quickstartを参照しています。ここで説明されているようなスクリプトDOM要素アプローチを使用しないのはなぜですかhttp://www.stevesouders.com/blog/2008/12/27/coupling-async-scripts/ ? ありがとう。
google-analytics - AJAX ページの Google タグ マネージャーから _trackPageView を呼び出す方法は?
AJAX 経由で読み込まれたページがあります。
Google アナリティクスgaq.push('_trackPageView','/someurl')
では、AJAX 成功関数を呼び出すだけで済みました。ただし、Google タグ マネージャーを介して GA を実装する場合、これを行う方法が見つからないようです。
唯一の代替手段は「仮想ページビュー」イベントのようですが、これは私が求めているものとはまったく異なります:これを行う方法を知っている人はいますか?
javascript - Javascript CDATA セクション
最近、Google リマーケティング タグをウェブストアに追加するモジュールを作成していました。ドキュメントに従って、ページの種類 (商品、カテゴリ、カートなど) ごとに google_tag_params を用意しました。クライアントが Google Tag Assistant アドオンを Chrome に追加してページをチェックするまでは、すべてうまくいきました。CDATA セクションの警告が表示されます。パラメータは問題なく、コンソールにエラーが表示されなかったので、最初は彼が何について話しているのか理解できませんでした。そこで、Google Tag Assistant を確認したところ、驚いたことに、次のように動作します。
コードの場合:
「CDATA コメントがありません」という警告が表示され、ドキュメントhttps://support.google.com/tagassistant/answer/2978937?ref_topic=2947092#cdata_commentsが示されます。
しかし、これを
警告を非表示にします。
だから私の質問はこれです。どのブラウザーでも、1 行コメントと複数行コメントに違いはありますか? これは、これらのコメントを認識しない唯一の Google タグ アシスタントの奇妙な動作ですか?
google-analytics - Sitecore CMS を介して HTML コードをページ テンプレートに挿入する
Google タグ マネージャーの呼び出しコードを、Sitecore CMS 6.3 を搭載した Web サイトに挿入する必要があります。その方法を教えてください。ソースコードなしで、プロジェクトを再コンパイルしてデプロイすることは可能ですか? CMSレベルで実行可能ですか? ありがとう。
javascript - Google タグ マネージャーでの JavaScript の Try-Catch エラー
GTM (Google タグ マネージャー) では、カスタム JavaScript マクロを使用できます。これは、タグまたはルールによって使用されるものを返す匿名関数です。
各マクロは try/catch を使用しているため、実装エラーを簡単に表面化できます (UA タグによってキャッチされる dataLayer イベントを発生させます)。
しかし、ここで奇妙なことがあります... try/catch のコメントを外すと、GTM は頑固にそれを使用することを拒否し、エラーは発生しません... しかし、常に保存モードになります (つまり、ブラウザは何かを待ち続けます)。デバッグ コンソールで実行すると、このコードが機能することはわかっています。また、同じ try/catch 手法を使用するマクロが他にもあります。何か考えはありますか?