web-dev-qa-db-ja.com

既存のGoogleアナリティクスイベントとGoogleタグマネージャー

私のサイトにGoogle Analytics(GA)を実装し、ga("send", "event", ...);関数を介していくつかのカスタムイベントを送信しましたが、うまく機能します。

Googleタグマネージャー(GTM)を実験しています。私は元のGA=スニペットを削除しましたが、今はGTMを使用してサイトにGAタグを挿入し、ページビューが正しく追跡されています。うまくいかないのはga()関数によって送信されるカスタムイベント。

_GA create_に次のようなトラッカー名変数があることに気づきました

_ga("create", "UA-12345678-1", {name: "gtm0123456789", allowLinker: false});
_

googleのGoogleアナリティクスデバッガー拡張機能Chromeレポート_Command ignored. Unknown target: undefined_。

Sendイベントの呼び出しにトラッカー名を含める必要があるため、ga("gtm0123456789.send", "event", ...);のように見えるはずですが、既存の_GA send event_呼び出しをすべて変更したくありません。

GTM設定でトラッカー名を空の文字列(_Edit Tag -> More Settings -> Advanced Configuration -> ☑ Tracker Name_、テキストボックスは空白のまま)に設定してすばやく修正しましたが、正常に機能しますが、それほど優れた解決策ではないと思います。

既存の_GA send event_呼び出しを使用し、GTMによるイベントトラッキングも使用する他のオプションはありますか?

29
petriq

方法があります。タグマネージャーでga関数の名前を変更できます(詳細設定、グローバル関数名)。 「real_ga」に。次に、独自のページでカスタムga関数を作成し、イベントトラッキング呼び出しからパラメーターを受け取ってreal_ga-functionに渡します(そのため、トラッカー名を1か所でのみ変更する必要があります)、またはdataLayerにプッシュする方が適切です。 (そして、GTMでのイベントトラッキングにdataLayer値を使用できます)。

しかし、なぜそんなことをしたいのですか?実際には問題はなく、単に回避策について気分が悪いだけです。これに対する適切な答えは、それが機能する限り、気分が悪くないことです。

2
Eike Pierstorff

私は同様の構成(Googleタグマネージャーのユニバーサルアナリティクスタグ)を持っていて、クリックでボタンからイベントを起動したいと思っていました。

私は問題を解決するためにペトリクのコメントを使用したので、メモを追加したいと思います。

通常のUniversal Analyticsイベントコードは次の形式です。

ga("send", "event", ...);

トラッカー名を使用して、コードからユニバーサルアナリティクスイベントを起動できます。

ga("gtmXXXXXXXXXX.send", "event", ...);

ただし、トラッカー名はすべてのgtmロードで変更されるため、次のようにコードを変更しました。

var trackerName = ga.getAll()[0].get('name');
ga(trackerName + '.send', 'event', { eventCategory: 'category1', eventAction: 'action1', eventValue: 0 });

それが役に立てば幸い!

61
Mert Can Ilis

http://www.lunametrics.com/blog/2015/01/21/gtm-existing-tracking/

GTMページビュータグで、[詳細設定]> [詳細設定]に移動します。 [トラッカー名]チェックボックスをオンにしますが、フィールドは空白のままにします。

4
Mouse