2013-10-20 67 views
1

AFAIK,DotNetNuke網站會自動生成您的Google Analytics(分析)跟蹤代碼。如何更改DotNetNuke生成的Google Analytics(分析)跟蹤代碼?

如果您希望使用人口統計等新功能,Google建議您更改需要使用的跟蹤代碼(to this)。任何想法如何自定義由DotNetNuke生成的GA代碼?

我查看了DNN數據庫,並且GA代碼或UA沒有在那裏存在。還檢查了語言編輯器,但沒有運氣。

回答

7

在網站根目錄(httpdocs)中編輯SiteAnalytics.config似乎是正確的解決方案。

/Config/SiteAnalytics.config中的GA代碼不影響頁面中呈現的內容。正如克里斯在下面提到的,這可能是每個新門戶產生的。

+1

我想(最近沒有看),你會發現門戶網站中每個門戶的分析文件/#/你找到的配置文件可能只是爲創建新的門戶網站,FYI –

+1

謝謝克里斯。你是對的/Config/SiteAnalytics.config似乎只適用於新門戶創建。我修改了這個文件,並沒有影響現有的門戶。然而,文件/Portals/0/GoogleAnalytics.config只包含Google UA號碼,而不包含實際的跟蹤代碼,也是該目錄中唯一的配置文件。我想我會繼續尋找。 – dant

+2

您是否嘗試過修改網站根目錄中的siteanalytics.config文件? –

3

請注意,我正在使用DNN 7

您使用的是什麼版本?

這裏是所有的東西是我的根SiteAnalytics.config文件:

<?xml version="1.0" encoding="utf-8" ?> 
<AnalyticsEngineConfig> 
    <Engines> 
     <AnalyticsEngine> 
      <EngineType>DotNetNuke.Services.Analytics.GoogleAnalyticsEngine, DotNetNuke</EngineType> 
      <ElementId>Head</ElementId> 
      <InjectTop>False</InjectTop> 
      <ScriptTemplate> 
       <![CDATA[  

       <script type="text/javascript"> 

         (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
         m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
         })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

         ga('create', '[TRACKING_ID]'); 
         ga('send', 'pageview'); 

       </script> 

      ]]> 
      </ScriptTemplate> 
     </AnalyticsEngine> 
    </Engines> 
</AnalyticsEngineConfig> 

粘貼並上傳到FTP。確保您正在測試的網站在Google Analytics(分析)設置中爲網站設置了Google跟蹤ID,否則此代碼不會顯示。

+0

這可能對於DNN7是正確的,但我使用的是DNN 6.2。 – dant

+0

您是否使用此代碼並在門戶網站的Google Analytics分析設置中指定了追蹤號碼?當你在瀏覽器中查看你的頁面源代碼時,它是否在html頭部有上面的任何java代碼或者什麼都沒有? –

+0

我有這個確切的代碼在6.1.2上運行,查看http://www.firefighterbtu.net的頁面源代碼,你會發現它在html頭部使用新的通用分析代碼。也許發佈你的配置文件的內容,看看是否有任何錯誤。 –

1

對於DNN的9.x:

有幾個導遊在那裏,但他們並沒有完全UPTODATE。

https://blog.bayareasearchengineacademy.org/web-analytics/how-to-install-and-configure-google-tag-manager-in-dotnetnuke-dnn/

http://www.dnnsoftware.com/community-blog/cid/155268/using-google-tag-manager-with-dnn

上述兩個插入谷歌代碼管理腳本和無腳本代碼在體內的。這並不理想。 Google需要HEAD中的腳本標記和BODY中的noscript標記。

此外,他們的指南並未介紹如何更新您從DNN社區9.x安裝中隱藏的Tracking_ID。以下是如何做到這一切。

  1. 使用Google的指示來設置您的帳戶和容器。 https://support.google.com/tagmanager/answer/6103696?hl=en&ref_topic=3441530

  2. 使用上述鏈接中的「添加,更新和發佈標籤」部分設置一個新的「標籤」並選擇「Universal Analytics」的「標籤類型」。在「Google Analytics設置」下拉菜單中,選擇「新變量」,然後爲您要跟蹤的網站輸入Google Analytics「跟蹤ID」。給「標籤」一個「所有頁面」的「觸發器」。

  3. 保存所有內容併爲變量命名並標記「通用分析變量」和「通用分析標記」等內容。

  4. 您現在應該回到Google跟蹤代碼管理器「工作區」的主頁。在右上角查看,然後單擊「JTF-F9CBJA」類似的Workspace ID。複製代碼並記下說明。

  5. 通過FTP轉到您的DNN安裝並找到位於您網站根目錄的「SiteAnalytics.config」。編輯SiteAnalytics.config,以便它類似於下面的第一個示例代碼。請注意,我已經創建了XML來在HEAD的頂部插入「script」標籤,並在BODY中插入「noscript」標籤。

  6. 現在轉到DNN門戶的根目錄。默認的根在「/ portals/0」。如果您有多個門戶網站,則需要按照每個門戶網站的這些說明進行操作。

  7. 找到文件GoogleAnalytics.config。使用值「TrackingId」找到「SettingName」的節點。將其下方的「SettingValue」更改爲您的Google Tag Assistant「工作區ID」(來自您上面保存的代碼)。如果您的GoogleAnalytics.config中沒有這些節點,請從下面的第二個代碼示例複製。保存文件。

  8. 重新載入您更新的網站。檢查源代碼以查看「腳本」代碼是否插入到HEAD中,以及「BODY」中是否包含「noscript」代碼。

  9. 如果您使用Chrome,請從商店安裝「標籤助手」擴展程序,並使用它來驗證您網頁上的代碼是否正常工作。

  10. 默認情況下請注意DNN不會爲管理員插入GA代碼,除非您選中「跟蹤管理員」複選框。就我個人而言,我選中了該框,以便我的代碼管理器正確顯示代碼。 Google Analytics默認會過濾掉已知的管理員,所以我不覺得這是安全的。

代碼示例1 - SiteAnalytics.config

<?xml version="1.0" encoding="utf-8" ?> 
<AnalyticsEngineConfig> 
<Engines> 
    <AnalyticsEngine> 
     <EngineType>DotNetNuke.Services.Analytics.GoogleAnalyticsEngine, DotNetNuke</EngineType> 
     <ElementId>Head</ElementId> 
     <InjectTop>True</InjectTop> 
     <ScriptTemplate> 
      <![CDATA[  

       <!-- Google Tag Manager --> 
       <script>(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','dataLayer','[TRACKING_ID]');</script> 
       <!-- End Google Tag Manager -->   

      ]]> 
     </ScriptTemplate> 
    </AnalyticsEngine> 
    <AnalyticsEngine> 
     <EngineType>DotNetNuke.Services.Analytics.GoogleAnalyticsEngine, DotNetNuke</EngineType> 
     <ElementId>Body</ElementId> 
     <InjectTop>True</InjectTop> 
     <ScriptTemplate> 
      <![CDATA[  

       <!-- Google Tag Manager (noscript) --> 
       <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=[TRACKING_ID]" 
       height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
       <!-- End Google Tag Manager (noscript) -->  

      ]]> 
     </ScriptTemplate> 
    </AnalyticsEngine> 
</Engines> 
</AnalyticsEngineConfig> 

代碼示例2 - GoogleAnalytics.config

<?xml version="1.0" encoding="utf-8"?> 
<AnalyticsConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <Settings> 
    <AnalyticsSetting> 
     <SettingName>TrackingId</SettingName> 
     <SettingValue>ENTER YOUR WORKSPACE ID HERE</SettingValue> 
    </AnalyticsSetting> 
    <AnalyticsSetting> 
     <SettingName>UrlParameter</SettingName> 
     <SettingValue /> 
    </AnalyticsSetting> 
    </Settings> 
</AnalyticsConfig> 

*最後:這一切都需要一些嚴重的技術工作,所以使用這些指令在你自己的風險。

相關問題