亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

覆蓋 UTM 參數

覆蓋 UTM 參數

慕萊塢森 2022-01-07 20:45:34
我們確實有一些活動(Google、facebook、...) 當用戶到達登錄頁面(abo.mysite.com)時,他確實有 utm 參數utm_source=theCampaignSource。當用戶單擊 CTA 時,CTA 會給出一個新的 UTM,utm_source=abo然后他會轉到 shop.mysite.com。我們無法從 abo.mysite.com 中刪除 UTM。有沒有一種方法可以檢查用戶是否已經擁有 UTM,以及何時擁有 UTM 以將其保留到 shop.mysite.com?所以我們知道用戶來自谷歌(...)?我們知道如何設置這個 Thing 是一種非常糟糕的做法,我們正在努力解決這個問題。我發現了一個代碼片段,它正在操縱網站上的鏈接:links.forEach(function(link){ link.setAttribute("href","abo.mysite.com")})但我無法讓它發揮作用——因為我確實缺乏經驗。更新根據我的特定需求,這樣做:1) 從網站上的鏈接中刪除現有的 UTM<script>var link = document.getElementsByTagName("a");for (var i = 0; i < link.length; i++) {    link[i].href = link[i].href.replace(/(\?)utm[^&]*(?:&utm[^&]*)*&(?=(?!utm[^\s&=]*=)[^\s&=]+=)|\?utm[^&]*(?:&utm[^&]*)*$|&utm[^&]*/gi, '$1');}</script>2) 散列 URL 中的 UTM <script>        if(!window.jQuery) {          document.write('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js">\x3C/script>');        }     </script>    <script type="text/javascript">                $(document).ready(function() {                function getUrlVars() {                    var vars = [],                        hash;                    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');                    for (var i = 0; i < hashes.length; i++) {                        hash = hashes[i].split('=');                        vars.push(hash[0]);                        vars[hash[0]] = hash[1];                    }                    return vars;                }</script>3)用散列的 UTM 重寫站點上的每個 URL<script>          $('a').each(function(){  $(this).attr('href', $(this).attr('href') + '?utm_source=' + utm_source + '&utm_campaign' + utm_campaign + '&utm_medium' + utm_medium);});            });
查看完整描述

2 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

使用 JavaScript,要從頁面中的鏈接中刪除 UTM 參數,您可以使用正則表達式嘗試此功能:


var link = document.getElementsByTagName("a");


for (var i = 0; i < link.length; i++) {

    link[i].href = link[i].href.replace(/(\?)utm[^&]*(?:&utm[^&]*)*&(?=(?!utm[^\s&=]*=)[^\s&=]+=)|\?utm[^&]*(?:&utm[^&]*)*$|&utm[^&]*/gi, '$1');

}

如果您使用的是 Google 跟蹤代碼管理器,則可以將其添加到自定義 HTML 標記中并在 DOM Ready 上觸發它。


查看完整回答
反對 回復 2022-01-07
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

如果要將片段保留在 URL 中,可以通過以下方式修改函數:


var link = document.getElementsByTagName("a");


 for (var i = 0; i < link.length; i++) {

    arr_link = (link[i].href).split("#");

    var fragment = "";

    if (arr_link[1]) { fragment = "#" + arr_link[1]; }

    var my_new_url = arr_link[0].replace(/(\?)utm[^&]*(?:&utm[^&]*)*&(?=(?!utm[^\s&=]*=)[^\s&=]+=)|\?utm[^&]*(?:&utm[^&]*)*$|&utm[^&]*/gi, '$1');

    link[i].href = my_new_url + fragment;

 }


查看完整回答
反對 回復 2022-01-07
  • 2 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號