【问题标题】:Google analytics Site search is not working as expectedGoogle 分析网站搜索未按预期工作
【发布时间】:2020-03-09 14:19:00
【问题描述】:

我刚开始在我的网站上使用 Google 分析。我发现,如下所述,启用站点搜索非常简单,

但是我的网站在查询字符串中没有搜索词,而是下面提到的 url 的一部分,

https://mydomian.net/search#q=boxtest18

由于某些内部原因,我无法修改代码以将搜索词作为查询字符串附加到 url。

This 文章解释了如何在 GA 中配置站点搜索,如果 URL 中存在站点搜索词:不作为查询参数(单词)。

当我尝试时,它似乎不起作用。

下面是我的过滤器配置。

我在这里做错了什么?

我可以对这种 url 使用过滤器吗?

我的正则表达式正确吗?

在这里帮帮我。

【问题讨论】:

    标签: search google-analytics google-analytics-filters


    【解决方案1】:

    正如 Michele 所说,当查询在 url 哈希中可见时,您可以附加哈希;

    gtag('config', 'GA_TRACKING_ID', {
      'page_path': location.pathname + location.hash
    });
    

    虽然如果您使用请求(ajax 或任何 restful api),您应该手动触发页面视图作为虚拟页面。

      pagePath = location.pathname
      gtag('config', 'GA_TRACKING_ID', {page_path: pagePath + '?gender=' + request.gender });
    
      // or if using analytics.js
      ga('send', 'pageview', pagePath + '?gender=' + request.gender);
    

    更多信息,这里是发送帖子的帮助部分 https://support.google.com/analytics/answer/1012264?hl=en#Post


    浏览请求对象

    您可以使用这些来手动触发虚拟页面的页面查看。如果您希望使用 analytics.js (ga()),请参考 this documentation

    gtag('config', 'GA_MEASUREMENT_ID', {
      'page_title' : 'homepage',
      'page_path': '/home'
    });
    
    Parameter name  Value type  Required    Description
    page_title      string      No          The page's title.
    page_location   string      No          The page's URL.
    page_path       string      No          The path portion of location. This value 
                                                must start with a slash (/) character.
    

    更多信息,这里是官方文档 https://developers.google.com/analytics/devguides/collection/gtagjs/pages


    事件请求对象

    为了完整起见,我添加了这个部分

    您可以使用这些来触发跟踪事件。如果您希望使用 analytics.js (ga()),请参考 this documentation

    gtag('event', <action>, {
      'event_category': <category>,
      'event_label': <label>,
      'value': <value>
    });
    

    action 是将在 Google Analytics(分析)事件报告中作为事件操作显示的字符串。

    category 是将显示为事件类别的字符串。

    label (可选) 是作为事件标签出现的字符串。

    (可选)是一个非负整数,将作为事件值出现。

    更多信息,这里是官方文档 https://developers.google.com/analytics/devguides/collection/gtagjs/events

    【讨论】:

    • 谢谢。你能告诉我什么是请求对象吗?它包含什么?
    • 嘿@PaRsH 我已经添加了浏览量和事件所需的请求对象。澄清一下,您仍然应该使用 gtag 或 analytics.js 方法来执行此操作。但是当您处理 ajax 请求时,您将触发这些(逻辑上)。
    【解决方案2】:

    在 Google Analytics(分析)中,URL 路径与您的浏览量匹配被删除这些片段

    您可以在将数据发送到 Google Analytics(分析)之前更新数据(跟踪浏览量)。

    gtag('config', 'GA_TRACKING_ID', {
      'page_path': location.pathname + location.hash
    });
    

    或者你可以使用谷歌标签管理器来获取片段,更多信息在这里:https://www.simoahava.com/gtm-tips/track-url-fragments-as-pageviews/

    然后您可以随意处理它或将# 替换为? 与过滤器。

    【讨论】:

    • 感谢您的回答。它确实部分起作用。但是 ajax 搜索似乎不起作用。这里有什么帮助吗?
    • Ajax 搜索是一个超出分析范围的主题,您应该使用适当的标签打开一个新的专用线程,例如:javascript。如果您在我的回答中使用建议解决了当前问题,请将其标记为已解决,请。
    【解决方案3】:

    在深入研究 Google 分析和 Google 标签管理器后,我找到了解决方案。就我而言,解决方案非常简单。

    对于每次搜索,搜索词都会在 url 片段中更新。在以下情况下,我搜索了boxtest18 并更新了如下网址。

    https://mydomian.net/search#q=boxtest18

    为此,我在 Google 标签管理器中创建了一个标签,并在历史更改事件中触发它。这解决了我的问题。

    这里是步骤。

    1. 在谷歌标签管理器中,我添加了新标签并填写了突出显示的信息。

    2. 片段值是我创建的变量。

    3. 对于新标签,我创建了如下所示的触发事件。

    并确保您的网页中有跟踪代码脚本和 Google 标签管理器脚本。而已。希望它可以帮助某人。

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      • 2021-07-27
      相关资源
      最近更新 更多