0

正在开发自定义代码以发送用户搜索详细信息以及商店何时发生 404。为此,我有类似以下的内容

    <?php
        $page = '404';
        if ($page == '404') {
            $result[] = "ga('send', 'pageview', { 'page': '404/?url='+ document.location.href + document.location.search +'&ref=' + document.referrer,  'title': '404 Error'});";            
        }
        $searchText = 'abc';
        $searchResultCount = 0;// or number of records on search query
        if ($searchText != '') {
            if ($searchResultCount == 0) {
                $result[] = "ga('send', 'pageview', { 'page': $searchText,  'title': 'Search No rsult'});";   
            } else {
                $result[] = "ga('send', 'pageview', { 'page': $searchText,  'title':  $searchResultCount.' Found on Search'});";
            }
        }

        $moreTracking = implode("\n", $result);

 ?>

  <!-- BEGIN GOOGLE UNIVERSAL ANALYTICS CODE -->
    <script type="text/javascript">
        //<![CDATA[
        (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', 'UA-<?php echo $accountId; ?>-1', 'auto');
        ga('send', 'pageview');
        <?php echo $moreTracking; ?>

        //]]>
    </script>
    <!-- END GOOGLE UNIVERSAL ANALYTICS CODE -->

我添加正确吗?用于跟踪 404 错误和搜索结果或未找到用户查询的搜索记录。

4

1 回答 1

0

您正在创建一个以 1 结尾的 UA 代码:

ga('create', 'UA-<?php echo $accountId; ?>-1', 'auto');

...GA 帐户不一定以 -1 结尾,它们会根据帐户中的网络资产数量递增。因此,例如,如果用户拥有 UA-232323-2,则代码看起来会失败。

您还发送 ga('send', 'pageview'); 两次,一次在 PHP 中,一次在 JS 标记中,可能不是有意的。它更有可能是你的意思

ga('set', 'page', '/custom-page-name')

然后在 PHP 调用之后调用 ga('send', 'pageview') :

 ga('create', 'UA-<?php echo $accountId; ?>', 'auto');
 <?php echo $moreTracking; ?>
 ga('send', 'pageview')

也不确定您是否过于复杂 - 如果 404 页面和/或搜索结果位于不同的 URL 上,那么您可以将标准跟踪脚本添加到这些页面并查看它们出现在 GA 中。但也许您希望自定义内容出现在报告中。

在所有情况下,您都可以使用实时报告来检查实施是否按预期工作。

于 2014-11-20T12:15:21.763 回答