Google Analytics 排除 URL 查询参数

问题描述 投票:0回答:2

我正在尝试排除 all 包含 php 查询(?在 url 中)的 URL。

例子:

 mysite.com/mypage?Go_Away

应该通过谷歌分析注册为

mysite.com/mypage

我确定有一种方法可以使用过滤器,但如果可以的话,我宁愿使用 Google Analytics Exclude URL Query Parameters 选项。

我正在使用

/?
哪个应该注册为问号而不返回任何带有 ?在他们身上,但它仍在这样做......

有人对我如何实现这一目标有任何想法吗?

php url parameters google-analytics
2个回答
1
投票

“排除查询参数”采用命名参数列表(使用 ?param=Query 你不需要输入“param”)。这对你不起作用。所以你要么必须使用过滤器,要么在你的跟踪代码中使用虚拟 url 并传递没有参数的 url(例如,如果你使用异步跟踪代码,你可以使用 window.location 对象的“路径名”属性作为您的 trackpageView 调用的第二个参数)。


0
投票

在 Google Analytics 4 中,不再有用于排除查询参数的字段。

为此,您首先必须区分两种设置 GA4 的方式:

  1. 使用 gtag.js
  2. 使用 Google 跟踪代码管理器(在内部运行 GA4 代码)

教程中的代码解决方案

function cleanPageLocation() {
// define parameters to exclude
var excludeStrings = [
    "Go_Away"
];
var addressString = new URL(document.location);
var queryString = addressString.search;

// check if query string holds any parameters, otherwise just return the url without them
if (queryString.indexOf("?") != -1) {
    // https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript
    var getQueryParamsFromURL = function getQueryParamsFromURL() {
        var match,
            search = /([^&=]+)=?([^&]*)/g,
            decode = function decode(s) {
                return decodeURIComponent(s);
            },
            query = addressString.search.substring(1);

        var urlParams = {};

        while ((match = search.exec(query))) {
            urlParams[decode(match[1])] = decode(match[2]);
        }

        return urlParams;
    };
    // create param object from query string
    var urlParams = getQueryParamsFromURL();

    // if it holds any of the defined parameters, remove the key and keep the rest
    Object.keys(urlParams).map(function (key) {
        if (excludeStrings.includes(key)) delete urlParams[key];
    });

    // Create filtered query string
    var queryString = new URLSearchParams(urlParams).toString();

    // add ? to querystring unless it's empty
    if (queryString != "") queryString = "?" + queryString;
}

// return cleaned URL
return addressString.origin + addressString.pathname + queryString;

}

为 GA4 gtag.js 应用代码解决方案

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=...your id..."> 
</script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'YOUR-ID-HERE', {
    'page_location': cleanPageLocation(),
  });
</script>

为GTM应用代码解决方案

  • 在 GTM 中,您使用 JS 变量中的代码解决方案
  • 然后在 GA4 配置标签中,添加字段
    page_location
    并将其作为 JS 变量的值 Settings for GA4 config tag

https://bluerivermountains.com/en/ga4-query-parameter-exclusion

© www.soinside.com 2019 - 2024. All rights reserved.