如何更改DotNetNuke生成的Google Analytics跟踪代码?

时间:2013-10-20 08:29:10

标签: google-analytics dotnetnuke

AFAIK,DotNetNuke网站自动生成您的Google Analytics跟踪代码。

如果您希望使用人口统计等新功能,Google建议您更改需要使用的跟踪代码(to this)。知道如何自定义DotNetNuke生成的GA代码吗?

我查看了DNN数据库,并且GA代码或UA在那里看不到。还没有运气检查语言编辑器。

3 个答案:

答案 0 :(得分:7)

在网站根目录(httpdocs)中编辑SiteAnalytics.config似乎是正确的解决方案。

/Config/SiteAnalytics.config中的GA代码不会影响页面中呈现的内容。正如Chris在下面提到的,这可能是为每个新门户生成的内容。

答案 1 :(得分: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,否则此代码将不会显示。

答案 2 :(得分:2)

对于DNN 9.x:

有一些指南,但它们并不完全是最新的,所以我编译更完整的步骤。

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跟踪代码管理器脚本和noscript代码。那不太理想。 Google希望HEAD中的脚本标记和BODY中的noscript标记。

他们的指南也没有描述如何更新从DNN Community 9.x安装中隐藏的Tracking_ID。以下是如何做到这一切。

  1. 使用Google提供的说明设置您的帐户和容器。 https://support.google.com/tagmanager/answer/6103696?hl=en&ref_topic=3441530

  2. 使用上述链接中的“添加,更新和发布代码”部分设置新的“代码”,然后选择“通用分析”的“代码类型”。在“Google Analytics设置”下拉列表中,选择“新变量”,然后为要跟踪的网站输入Google Analytics“跟踪ID”。将“标签”设为“所有页面”的“触发器”。

  3. 保存所有内容并为您的变量命名并标记“Universal Analytics Variable”和“Universal Analytics Tag”。

  4. 您现在应该回到Google跟踪代码管理器“工作区”的主页。查看右上角的工作区ID,它将类似于“JTF-F9CBJA”。复制代码并记下说明。

  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,请从商店安装“Tag Assistant”扩展程序并使用它来验证您网页上的代码是否有效。

  10. 默认情况下请注意DNN不会为管理员插入GA代码,除非您选中“Track for Administrators”复选框。我个人检查那个框,以便我的跟踪代码管理器正确显示代码。 Google Analytics默认会过滤掉已知的管理员,因此我觉得它不安全。

  11. 代码示例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>False</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>
    

    *最后:这一切都需要一些严肃的技术工作,因此使用这些说明需要您自担风险。