从另一个脚本可靠地获取 Google 分析跟踪 ID
Reliably fetching the Google Analytics Tracking ID from another script
我需要通过 JavaScript 检索 Google 分析跟踪 ID,以便在另一个脚本中使用。类似于:
var ga_id = (typeof ga !== 'undefined') ? ga.getAll()[0].get('trackingId') : 'Unable to retrieve GA id'
我的分析是使用标签管理器加载的,所以即使我 运行 我自己的 JavaScript 在页面的很晚,它也没有检测到 ga
对象的存在. (我可以通过开发者工具控制台毫无问题地访问它。)
如何确保 ga
在尝试访问其属性之前已加载?
已加载 window,您可以在 GTM 预览中看到它,如下所示:
我在那个 var 中有这个 CJS(使用你的代码):
虽然这对我来说已经足够了,但您的情况可能会有所不同,因此您可以执行以下操作:
- 制作一个自定义 html 标签,在页面加载时运行并部署一个带有超时的闭包。
- 在超时回调中推送一个dataLayer事件。
- 现在将要获取 属性 id 值的标签移动到 dataLayer 事件触发器(自定义事件)。
这不是很优雅,但它会起作用。同样,对于正常实施,Window 加载应该足够了。
我需要通过 JavaScript 检索 Google 分析跟踪 ID,以便在另一个脚本中使用。类似于:
var ga_id = (typeof ga !== 'undefined') ? ga.getAll()[0].get('trackingId') : 'Unable to retrieve GA id'
我的分析是使用标签管理器加载的,所以即使我 运行 我自己的 JavaScript 在页面的很晚,它也没有检测到 ga
对象的存在. (我可以通过开发者工具控制台毫无问题地访问它。)
如何确保 ga
在尝试访问其属性之前已加载?
已加载 window,您可以在 GTM 预览中看到它,如下所示:
我在那个 var 中有这个 CJS(使用你的代码):
虽然这对我来说已经足够了,但您的情况可能会有所不同,因此您可以执行以下操作:
- 制作一个自定义 html 标签,在页面加载时运行并部署一个带有超时的闭包。
- 在超时回调中推送一个dataLayer事件。
- 现在将要获取 属性 id 值的标签移动到 dataLayer 事件触发器(自定义事件)。
这不是很优雅,但它会起作用。同样,对于正常实施,Window 加载应该足够了。