2

我在我的Chrome擴展頁面中添加了此gtm代碼(由內容腳本in和iframe)GTM - 將事件/數據推送到gtm dataLayer不發送任何內容到https://www.google-analytics.com/r/collect?v

// <!-- Google Tag Manager --> 
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 
})(window,document,'script','owDataLayer','GTM-XXXXXXX'); 
// <!-- End Google Tag Manager --> 

我已經成功加載了gtm.js文件。

Request URL:https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX&l=dataLayer 
Request Method:GET 
Status Code:200 (from disk cache) 

我有一個按鈕和下面的代碼已被附接至按鈕的點擊事件

dataLayer.push({ 「事件」:「標籤點擊」, 「用戶ID」:123 , 'description':「Social」 });

當我點擊按鈕dataLayer.push工作成功,但沒有任何發送到https://www.google-analytics.com/r/collect? 在開發人員工具欄窗口的「網絡」選項卡上沒有任何活動。

任何人都可以幫我解決這個問題嗎?提前致謝!

編輯: 添加標籤設置的屏幕截圖。 enter image description here

+0

你可以分享GTM中應該在'tab click'事件上觸發的Tag的設置嗎? (屏幕截圖會很棒) – Matus

+0

@Matus,添加了標籤設置的屏幕截圖。謝謝! –

+0

謝謝,但我的意思是在您的GTM帳戶中設置標籤。我不確定你在哪裏設置這個「標籤」 - 我從來沒有見過這個。無論如何,你需要定義這個標籤應該在「標籤點擊」事件中觸發。在您的GTM賬戶中,您需要創建「自定義事件」觸發器,然後將該標籤設置爲在此觸發器上觸發 - 是否已完成? – Matus

回答

3

本週末,我花了很多時間閱讀gtm和coogle Chrome擴展。 最後我得到了this blog post by Simo Ahava。他討論與解決方案完全相同的問題。感謝Simo。

這是他的博客帖子的部分粘貼。我們必須將checkProtocolTask : false添加到每個gtm標記中,以便從 Google Chrome擴展程序發送跟蹤。

添加checkProtocolTask : false到要設置的字段

向下滾動到要設置的字段,並添加一個新的領域:

Field Name: checkProtocolTask 
Value: false 

通常情況下,谷歌Analytics(分析)要求請求GA從HTTP或HTTPS起源。如果請求來自其他任何地方,則該過程將被取消。通過將名爲checkProtocolTask​​的任務設置爲false,我們可以阻止此檢查的發生,因爲擴展使用自定義chrome-extension://協議。

截圖:

enter image description here

發佈此所以其他人發現,如果他們面對同樣的問題這回答很有幫助。謝謝!