Как захватывать UTM-метки и сохранять их в заказе?

Последние изменения: 27.09.2021

UTM-метки используются для отслеживания эффективности источников трафика.

Если вы даете прямую ссылку на страницу оплаты продукта в School-Master, то UTM метка будет зафиксирована без надобности дополнительных действий.

Но, часто бывает так, что лэндинг находится на одном домене, например, на Тильде и уже с этого лэндинга кнопка оплаты ведет на School-Master. В этом случае браузер не позволит передать UTM-метки.

Что сделать, чтобы UTM-метки передавались с внешнего лэндинга в School-Master?

На страницу вашего лэндинга, между тэгами < head > ... < / head > вставьте следующий код.

1. Код подключения jquery. Если уже подключен, то добавлять не нужно.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

2. Скрипт передачи utm-метки на следующую страницу

<script>
$(document).ready(function() {
var utm = document.location.search;

$('a').each(function(index, el) {
var link = $(el).attr('href');
$(el).attr('href', link + utm);
});
});
</script>

Если на вашем лэндинге используются анкоры и скрипт выше не работает, попробуйте такую модификацию скрипта

<script>       
$(document).ready(function () {
$("a").each(function () { 
var href = $(this).attr("href");
var search = "?" + window.location.search.split("&").filter(val => val.replace('?', '').indexOf('s_') !== 0).join("&").replace('?', '');                
    if (search !== "?" && href != undefined && !href.includes("#")) {
        if (!href.includes("?")) { 
            $(this).attr("href", href + search);    
        } else {                        
            $(this).attr("href", href + search.replace("?", "&"));}                
        }          
    });     
});    
</script>

Помогла ли вам статья?