我們的一些客戶希望向他們報告他們的Google Analytics(分析)ID。這並不難。Google Analytics是否在設置時發出事件?
ga.getAll()[0].get('clientId');
還有一個排隊的語法,這樣當GA設置操作完成。
但是當GA準備就緒時不想發送GA事件。準備好時,我想問一個問題。
也許有一些方法可以告訴GA「當你準備好了,運行這個功能,我正在通過你。」
或者,GA準備好後是否發出自定義事件?
目前,當窗口發出加載事件時,我的客戶正在調用我的代碼。但即使如此,一小部分時間沒有定義。如果您等待幾秒鐘,就會定義它。也許一些奇怪的cdn系統。無論如何,我需要一個可靠的方式來確定GA何時準備就緒。
(我無法作出評論合作格式化,所以我改變了我的問題,以迴應Feathercrown)
聽起來不錯!唯一的問題是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東西符號已經可用?
(Feathercrown,請參閱前面的回答底部的答案。)看看你引用的文檔中的JavaScript代碼段,它看起來應該立即定義ga。但事實並非如此。我的客戶在這個網站上做了些什麼? – user2171796
我想我有點驚訝,等待窗口上的'加載'事件不夠長。至少爲了定義window.ga符號。但我想他們可以把GA初始化代碼放在setTimeout上,或者其他什麼東西上,但我不知道。 – user2171796
我不確定它會幫助下一個人,但我們解決了我們的問題。我們的客戶正在使用Shopify。Shopify有一個地方可以放入「Google Analytics(分析)」代碼片段。「它有一個地方可以放置應該立即跟隨GA代碼片段的代碼。在那個地方,我們把代碼發出一個自定義事件。然後在代碼中的其他地方,我們聽取了該事件,並做了我們需要做的事情。把一個函數放在ga隊列中,就像Feathercrown描述的一樣。非常Shopify特定的,但也許它會幫助某人。 – user2171796