Пример JS код для генерации ссылки с параметром yclid странице на сайте
Сам по себе yclid в ссылку не подставится. Поэтому потребует программировать.
Общая логика
- Берем из url значения yclid и других utm-меток для ссылки
- Меняем их в вашем шаблоне url для перехода в Telegram
- Подставляем эти url в нужные кнопки на странице
Реализация
Способов реализации данной логики очень много. Плюс у вас может быть определенные свои еще требования: допустим человек может отправлять не сразу форму, а после того как погуляет по сайту, в этом случае параметры нужно сохранять допустим в куках и на каждой странице генерировать по ним нужные ссылки.
Поэтому код ниже рассматривайте как один из вариантов реализации. А лучше просто дайте шаблон ссылки которую нужно генерировать программисту и ссылку на эту статью - он разберется.
Итак, допустим наша ссылка должна быть такой: https://t.me/NAME_BOT?start=test_-rf-{utm_source}_-rk-{utm_campaign}-yc-{yclid}
Тогда сперва вытаскиваем эти параметры из ссылки:
function getParam(p){
var match = RegExp('[?&]' + p + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
let utm_source= getParam('utm_source');
let utm_campaign= getParam('utm_campaign');
let yclid = getParam('yclid');
Теперь генерируем ссылку, допустим так
let url = 'https://t.me/name_bot?start=test_-rf-'+utm_source+'_-rk-'+utm_campaign+'-yc-'+yclid
Далее ссылку нужно подставить в кнопку, клик по которой будет вести на Telegram-бота. Допустим у вас на кнопке висит id=”tg_out”, тогда это можно сделать так:
document.getElementById("tg_out").setAttribute("onclick", "window.open('"+url +"', '_blank')");
За место “name_bot” поставьте имя своего бота. Параметр “?start=” обязательный, именно в нем и передается вся UTM-разметка, включая yclid.
Правила ссылки
Общий вид ссылки такой: https://t.me/name_bot?start=param
Все дело в том, что Telegram принимает только одну метку start и все. Поэтому приходится в нее добавлять все необходимые параметры. Длинна метки не должна превышать 67 символов. Иначе ничего не сработает.
Она должна состоять из значения param+ мы принимаем следующие метки:
- rf - это utm_source
- rk - это utm_compaing
- ca - это utm_medium
- yc - это параметр yclid
- _- - это разделитель между значениями
Окончательный вид ссылки будет такой:
https://t.me/name_bot?start=param_-rf-param1_-rk-param2_-ca-param3_-yc-yclid
Для определение клика и передачи по нему цели вам нужно обязательно передать параметр yclid. Остальное все по желанию.