Google Analytics(分析)在设置事件时会发出事件吗?

时间:2017-03-20 17:55:04

标签: javascript google-analytics callback shopify

我们的一些客户希望向他们报告Google Analytics ID。获得它并不难。

ga.getAll()[0].get('clientId');

还有一个排队的语法,以便在设置GA时完成操作。

但是,当GA准备就绪时,我们不想发送GA事件。我想在GA准备好时问一个问题。

也许有一些方法可以说GA"当你准备好了,运行这个功能我已经过了你。"

或者,GA准备好后会发出自定义事件吗?

目前,我的客户在窗口发出加载事件时调用我的代码。但即使这样,也没有定义ga的一小部分时间。如果你等了几秒钟,它就被定义了。也许是一些奇怪的cdn系统。无论如何,我需要一种可靠的方法来确定GA何时准备就绪。

(我无法在评论中进行格式化合作,所以我改变了我的问题以回应羽毛冠。)

听起来很棒!唯一的问题是ga还没有定义。以下是我自己发送的错误消息示例 "type": "Page View", "data": { "error": { "message": "ga.getAll is not a function. (In 'ga.getAll()', 'ga.getAll' is undefined)", "message2": "window.GoogleAnalyticsObject = ga", "message3": "typeof ga is not Object" } },

也许_gxx某些符号已经可用?

1 个答案:

答案 0 :(得分:3)

只使用一个函数调用ga()可以用作回调函数(ga(readyCallback)),因为该函数只会在analytics.js库加载并准备就绪时运行。 #34;

根据the documentation

  

通过传递一个函数来调用ga()命令队列函数   安排传递的函数在下一个点执行   队列中。

     

由于命令仅在analytics.js库之后执行   满载,是传递命令队列的最常见原因   function是作为加载analytics.js库时的回调   准备好了。

因此,您可以尝试:

ga(function(){var clientId = ga.getAll()[0].get('clientId');});

或类似的东西。