プラグイン初期化子JSでのGoogle Optimizeの使用

皆さん、こんにちは。v3_analytics の代わりに v4_gtag を有効にすると問題が発生します。Google Optimize には GTag が必要ですが、gtag is not a functionというエラーが繰り返し表示されます。

gtag 関数をプラグインの JS ファイル内で呼び出していますが、なぜ動作しないのか、より詳しい背景をご教示いただけますでしょうか?

以下は私が書いたコードのサンプルです。よろしくお願いいたします。

export default {
  name: 'common-init',
  after: 'inject-objects',
  initialize() {
    gtag('event', 'optimize.callback', {
      name: settings.optimize_js_experiment_id,
      callback: (variation) => {
       console.log(`Variation: ${variation}`)
      }
    })
  }
}

gtag 関数はどこで定義されていますか?

gtag を設定から有効にすると、それは Discourse の一部として定義されると考えられます。

すでにどこかで定義されていても、インポートする必要があります。

GTag のインポートスクリプトを手動でどこかに追加する必要がありますか?

gtag は実行時に window オブジェクトの下で定義されているようです。そのため、再度インポートする必要はなく、window.gtag のように実行時に呼び出すだけで済みます。
https://github.com/discourse/discourse/blob/master/app/assets/javascripts/google-universal-analytics-v4.js

起動時に関数を定義できましたが、Discourse が読み込み時にそれを再定義するようです。現時点では問題なく動作しています。しかし、別の問題が発生しました。GA の追跡コード(GA Universal 追跡コード)を追加すると、v4_gtag を使用しているにもかかわらず、analytics.js がまだ含まれています。これは想定された動作でしょうか?重複イベントの送信問題にならないでしょうか?