首先,您永遠不要在容器代碼片段後面使用dataLayer = [{...}](最好不要使用它)。通過將它重新初始化爲一個新的Array,您正在覆蓋容器代碼片段。如您所見,在「預覽」面板中不存在「頁面視圖」事件(應該在DOM就緒之前),這意味着所有頁面觸發器將不起作用。
其次,「自定義變量」已棄用。 Universal Analytics中的自定義維度已被替換。
第三,您是否真的將此變量/維度添加到GA代碼?
下面是它如何工作:
1)在你的腳本替換數據層= [{...}]有:
window.dataLayer = window.dataLayer || []; window.dataLayer.push({'event':'variablePushed', 'externalID':external_id });
這是與dataLayer進行交互的安全方式。
2)在GA管理員/屬性設置/自定義/自定義維度中,創建一個具有適當範圍的新自定義維度,並記下分配的索引編號。如果您不熟悉自定義維度,則需要閱讀一些內容。開始於https://support.google.com/analytics/answer/2709828?hl=en
3)爲事件名稱variablePushed創建一個新的自定義事件觸發器,將其命名爲「Event - variablePushed」(不含引號)。
4)爲變量名稱externalID創建一個新的數據層變量, {{externalID}}(不含花括號)。
5)創建一個新的事件標籤,使用事件類別:外部ID,事件操作:{{externalID}},並將非交互字段設置爲True。
6)在事件標籤中瀏覽更多設置 - >自定義尺寸,並添加一個新的自定義尺寸。從(2)中設置索引編號,並將該值設置爲{{externalID}}。
7)將您在(3)中創建的觸發器添加到此事件標籤。
現在發生的情況是,當發生externalID dataLayer.push()時,事件標籤會向GA發送非交互事件(因此它不會影響跳出率),並將其與自定義維度搭配使用。