Answer the question
In order to leave comments, you need to log in
What script to insert for dynamic content?
Good day! Happy holidays to everyone! Who can tell - they terribly heated their heads. There is a landing page, they want to make a multi-landing out of it, so that after switching from advertising by utm tag, depending on which tag the visitor came from, the h1 heading on the site changes. The marketer gave such a label https://site.ru/?utm_source=yandex&utm_medium=cpc&... (he changed only the name of the site). And I don’t understand what parameters can be changed here at all? I looked for a solution on the net, there are scripts, but they have completely different parameters in the label. Who can tell? It burns very much.
Answer the question
In order to leave comments, you need to log in
they gave you a link template. instead of curly braces {}
, there will be label values, like:
;(function(){
// [1]
// берем содержимое адресной строки (все что идет после знака «?», включая сам этот знак)
const url = location.search;
// [2]
// теперь нужно эту строку (пример):
// '?utm_source=yandex&utm_medium=cpc&utm_campaign=ооо_рога_и_копыта&utm_term=глажка котов'
// распарсить в объект:
// {
// utm_source: 'yandex',
// utm_medium: 'cpc',
// utm_campaign: 'ооо_рога_и_копыта',
// utm_term: 'глажка котов'
// }
// напишем для этого функцию:
function parseUrlSearchParams(url) {
return url.replace('?', '').split('&').reduce((res, mark) => {
const [key, value] = mark.split('=');
return (res[key] = value, res);
}, {});
}
// [3]
// далее берем со страницы нужный вам заголовок h1 или что вам там нужно
const htmlElement = document.querySelector('h1.my-super-seo-header');
// [4]
// далее собственно меням содержимое тега, на значение нужной вам utm-метки (к примеру это utm_term):
htmlElement.textContent = parseUrlSearchParams(url)['utm_term'];
// было:
// <h1 class="my-super-seo-header">мойка собак</h1>
// стало
// <h1 class="my-super-seo-header">глажка котов</h1>
// все
})();
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question