如何为 Wordpress 中的每个网站页面添加单独的分析

How to add a separate Analytics for each website page in Wordpress

我们有一个 WordPress 安装,其位置作为单独的页面。

例如:mysite.com/colorado 和 mysite.com/alabama

我们需要对其中每一个进行单独的 google 分析,对所有 mysite.com 进行 1 个分析。

有没有办法用 WordPress 插件做到这一点,或者我们需要手动编写一些代码吗?

提前致谢!

如果我没记错的话,Google Analytics 可以让您以这样的细分方式查看您的分析。也就是说,如果您 do 需要单独的脚本,那么编写程序会相对容易。可能有一些插件可以执行此操作,但我不知道有什么特别的,不过粗略地浏览一下 Header and Footer Scripts 之类的插件,它允许您逐页添加脚本。

某些主题还允许您根据 page/post 添加 SEO/Script 设置。如果是这种情况,您可以打开每个页面并将每个脚本标记转储到 "header scripts" 或类似部分,然后称其为好。 (创世纪是执行此操作的主题示例)。

如果没有,编程这将是相对简单的。我会这样做:

add_action( 'wp_head', 'display_analytics_by_page', 1 );
function display_analytics_by_page(){
    // Default Script Code with individual UA codes replaced
    $script = '<!-- Global site tag (gtag.js) - Google Analytics -->
        <script async src="https://www.googletagmanager.com/gtag/js?id=[UA-CODE]"></script>
        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag(\'js\', new Date());

          gtag(\'config\', \'[UA-CODE]\');
        </script>';

    // Array of UA codes by state
    $codes = array(
        'Alabama' => 'UA-123456789-1',
        'Oregon'  => 'UA-987654542-3',
        'Vermont' => 'UA-000000000-0'
    );

    // Get title of this page
    $title = get_the_title();

    // If this page title exists in the codes array, swap placeholder and echo it.
    if( isset($codes[$title]) ){
        echo str_replace( '[UA-CODE]', $codes[$title], $script );           
    }
}

一路评论,大意是把"default"脚本放进去,却把UA代码拉出来。仅当您在每个脚本中都需要完全相同的脚本代码时,这才有效,否则您必须将每个脚本添加到 $codes 数组。

然后创建一个 UA 代码数组(如果需要,也可以创建完整的脚本),以页面标题为键。

然后检查页面标题,如果存在,拉入该代码并回显。这是 wp_head 挂钩上的 运行,因此您只需将此代码放入 functions.php(或类似)文件中即可。

如果您想轻松进行无编码,请使用插件。跳转到插件 > 添加新插件 并在搜索框中搜索 Google Analytics。安装名为 Google Analytics for WordPress(以前称为 GADWP) 的插件。激活插件并将其与您的 Google Analytics 属性 连接。全部完成后,您将看到 new tab beside your post's title. See a screenshot here.

如果您想要整个网站的网络分析,请前往您的管理仪表板。一个新的小部件将与分析一起出现。

可以找到插件的文档 here

希望对您有所帮助。

我很好奇为什么所有地点都需要一个单独的 GA 帐户?这种情况下的常见做法是:

  • 使用 1 个帐户
  • 为整个域创建 1 个 GA 视图
  • 通过根据 URL
  • 过滤流量,为每个位置创建 +1 视图

如果不同的帐户与限制用户访问有关,请知道您可以根据每个 属性 视图授予用户访问权限。