将GCLID参数转换为Squarespace隐藏字段

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

我正在尝试从URL中提取GCLID参数(例如:https://www.example.com?gclid=CjwKCAjwiMj2BRBFEiwAYfTbCjQ-LBlWhBymAH4piPD3FalPCbl24kE7VQ4JtNJ4Jfj8XPE)并将其插入Squarespace隐藏字段中。

理想情况下,我想通过GTM脚本执行此操作,但是我也可以通过站点范围内的页脚代码注入将其直接添加到Squarespace中。所有Squarespace隐藏字段均以前缀“ SQF”开头(在我的情况下,隐藏字段为:SQF_GCLID

我一直在玩这样的游戏:

`<script>
window.Squarespace.onInitialize(Y, function() {
  /**
   * Get the URL parameters
   * source: https://css-tricks.com/snippets/javascript/get-url-variables/
   * @param  {String} url The URL
   * @return {Object}     The URL parameters
   */
  var getParams = function (url) {
    var params = {};
    var parser = document.createElement('a');
    parser.href = url;
    var query = parser.search.substring(1);
    var vars = query.split('&');
    for (var i=0; i<vars.length; i++) {
      var pair = vars[i].split('=');
      params[pair[0]] = decodeURIComponent(pair[1]);
    }
    return params;
  };

  /**
   * Get UTM parameters from the current URL, insert them into correspondingly-named Squarespace form hidden fields.
   */
  var params = getParams(window.location.href);
  var param;
  var paramMatch;
  var paramBase;
  var formFields;
  var i;
  for (param in params) {
    paramMatch = param.match(/^gclid(.*)/i);
    if (!paramMatch) {
        continue;
    }
    paramBase = paramMatch[1];
    formFields = document.getElementsByName("SQF_GCLID");
    i = formFields.length;
    while (i--) {
      if (formFields[i]) {
        formFields[i].value = params[param]; 
      }
    }
  }
});
</script>`

基于找到的代码here

没有其他要传递的参数(仅gclid)。

google-tag-manager squarespace google-ads
1个回答
0
投票
<script> window.Squarespace.onInitialize(Y, function() { /** * Get the URL parameters * source: https://css-tricks.com/snippets/javascript/get-url-variables/ * @param {String} url The URL * @return {Object} The URL parameters */ var getParams = function (url) { var params = {}; var parser = document.createElement('a'); parser.href = url; var query = parser.search.substring(1); var vars = query.split('&'); for (var i=0; i<vars.length; i++) { var pair = vars[i].split('='); params[pair[0]] = decodeURIComponent(pair[1]); } return params; }; /** * Get UTM parameters from the current URL, insert them into correspondingly-named Squarespace form hidden fields. */ var params = getParams(window.location.href); var param; var paramField; for (param in params) { paramField = document.getElementsByName("SQF_" + param.toUpperCase())[0]; if (paramField) { paramField.value = params[param]; } } }); </script>
© www.soinside.com 2019 - 2024. All rights reserved.