微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用jQuery从url参数中保存utm值

如何解决使用jQuery从url参数中保存utm值

给定一个示例网址:

https://examplesite.com/?utm_source=google&utm_source_id=1234&utm_medium=example&utm_campaign=secured&utm_term=get&utm_content=other

我正在尝试将我的 UTM 值保存到我的 html 中的隐藏字段:

<input id="campaign" name="campaign" class="Meta-form-data" type="text" value="" hidden />
<input id="source_id" name="source_id" class="Meta-form-data" type="text" value="" hidden />
<input id="source" name="source" class="Meta-form-data" type="text" value="" hidden />
<input id="channel" name="channel" class="Meta-form-data" type="text" value="" hidden />
<input id="keyword" name="keyword" class="Meta-form-data" type="text" value="" hidden />
<input id="content" name="content" class="Meta-form-data" type="text" value="" hidden />

当我从 url 保存我的 utm 值时,我使用这个函数

    function ParseTrackingUrl() {
        var utm_source = getUrlParameter('utm_source');
        var utm_source_id = getUrlParameter('utm_source_id');
        var utm_medium = getUrlParameter('utm_medium');
        var utm_campaign = getUrlParameter('utm_campaign');
        var utm_term = getUrlParameter('utm_term');
        var utm_content = getUrlParameter('utm_content');

        jQuery("#source").val(utm_source);
        jQuery("#source_id").val(utm_source_id);
        jQuery("#campaign").val(utm_campaign);
        jQuery("#channel").val(utm_medium);
        jQuery("#keyword").val(utm_term);
        jQuery("#content").val(utm_content);
    }

然后从 URL 中获取每个 utm 值:

var getUrlParameter = function getUrlParameter(sParam) {
  var sPageURL = window.location.search.substring(1),surlvariables = sPageURL.split('&'),sParameterName,i;

  for (i = 0; i < surlvariables.length; i++) {
    sParameterName = surlvariables[i].split('=');

    if (sParameterName[0] === sParam) {
      return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
    }
  }
};

utm_sourceutm_source_id 没有正确保存。 utm_source_id 为空,utm_source 正在获取 source_id 值。我不确定这是怎么发生的。所有其他 utm 值都保存得很好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。