如何在页面之间保留 url 参数?

Posted

技术标签:

【中文标题】如何在页面之间保留 url 参数?【英文标题】:How can I keep url parameter from page to page? 【发布时间】:2019-06-07 20:48:55 【问题描述】:

当访问者从一个页面转到另一个页面时,如何保留 google 的 ads gclid 参数?

例如访问者来自带有参数的 google 并登陆页面 a (www.example.com/a/?gclid=abcd123) 当他进入另一个页面(www.example.com/b)时,参数应该保持原样(www.example.com/b/?gclid=abcd123)

wordpress 上的ps

【问题讨论】:

【参考方案1】:

您可以使用Google Tag Manager 维护跨网站的查询参数。

步骤

    在 GTM 上创建自定义变量,您需要将其传递到您网站的每个链接。 在 GTM 中添加下面的 javascript 代码以从链接中获取自定义参数并将其添加到 url。

<script type="text/javascript">
  (function() 
    var utmInheritingDomain = "yourdomain.com", // REPLACE THIS DOMAIN 
      utmRegExp = /(\&|\?)utm_[A-Za-z]+=[A-Za-z0-9]+/gi,
      links = document.getElementsByTagName("a"),
      utms = [
        "gclid=URL - gclid" // IN GTM, CREATE A URL VARIABLE gclid
      ];

    for (var index = 0; index < links.length; index += 1) 
      var tempLink = links[index].href,
        tempParts;

      if (tempLink.indexOf(utmInheritingDomain) > 0)  // The script is looking for all links with the gclid
        tempLink = tempLink.replace(utmRegExp, "");

        tempParts = tempLink.split("#");

        if (tempParts[0].indexOf("?") < 0) 
          tempParts[0] += "?" + utms.join("&"); // The script adds gclid parameter to all links with the domain you've defined
         else 
          tempParts[0] += "&" + utms.join("&");
        

        tempLink = tempParts.join("#");
      

      links[index].href = tempLink;
    
  ());
</script>

你可以找到详细步骤here

【讨论】:

以上是关于如何在页面之间保留 url 参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Javascript 重定向中保留 URL 参数?

我们可以在 OIDC 中保留请求 URL 吗?

HTML页面之间的参数传递

PRESTASHOP 1.7 ||如何在CSM自定义页面上使用某些参数配置Friendly Url?

不同页面之间实现参数传递的几种方式

如何在不重新加载页面的情况下将服务器端重定向到其他页面并仍将 URL 保留在 Nextjs 应用程序中?