php Google Analytics排除URL查询参数

14ifxucb  于 2023-04-19  发布在  PHP
关注(0)|答案(2)|浏览(116)

我正在尝试排除所有包含PHP查询的URL(URL中的?)。
示例:

example.com/mypage?Go_Away

应通过Google Analytics注册为

example.com/mypage

我相信有一种方法可以做到这一点与过滤器,但我宁愿使用谷歌分析排除URL查询参数选项,如果我可以。
我使用的/?应该注册为一个问号,而不是返回任何URL与?在他们还在做...
有没有人有任何想法,我如何才能做到这一点?

z9zf31ra

z9zf31ra1#

“排除查询参数”接受一个命名参数列表(with?param=Query you woukd need to enter“param”).这对你不起作用。所以你要么必须使用过滤器,或者在trackingcode中使用虚拟url,并传递不带参数的url(例如,如果您使用异步跟踪代码,您可以使用窗口的“路径名”属性。location对象作为trackpageView调用的第二个参数)。

rjjhvcjd

rjjhvcjd2#

在Google Analytics 4中,不再有排除查询参数的字段。
要做到这一点,您首先必须区分两种设置GA4的方法:
1.关于gtag.js
1.使用Google Tag Manager(在内部运行GA4 Tag)

tutorial的JavaScript代码解决方案

<script>
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;
}
</script>

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变量

    的值

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

相关问题