处理超时工具

 function createFunctionWithTimeout(callback, opt_timeout) {

var called = false;
  function fn() {
    if (!called) {
      called = true;
      callback();
    }
  }
  setTimeout(fn, opt_timeout || 1000);
  return fn;
}

指定不同的传输机制

默认情况下,gtag.js 会选择 HTTPS 方法和传输机制以优化匹配的发送。三个选项包括:

  • 'image'(使用 Image 对象)
  • 'xhr'(使用 XMLHttpRequest 对象)
  • 'beacon'(使用 navigator.sendBeacon 方法)

前两种方法都具有上一节所描述的问题(如果遇到网页卸载的情况匹配无法发送)。navigator.sendBeacon 方法通过将匹配异步传输到网络服务器来解决此问题,而无需设置匹配回调。

对于支持此功能的浏览器,以下代码将传输机制设置为 'beacon'

目前,如果传输机制设置为 'beacon',则 gtag.js 只使用 navigator.sendBeacon。但是,gtag.js 将来可能会转而在支持它的浏览器中将 'beacon' 用作默认机制。
 
 
gtag('config', 'GA_TRACKING_ID', {
  'currency': 'USD',
  'country': 'US'
});

gtag('set', {
  'currency': 'USD',
  'country': 'US'
});
gtag('config', 'GA_TRACKING_ID_1');
gtag('config', 'GA_TRACKING_ID_2');
gtag('config', 'GA_TRACKING_ID_3');
 
 
资料链接
https://developers.google.cn/analytics/devguides/collection/gtagjs/sending-data?hl=zh-cn
12-20 01:04