Пример JS код для генерации ссылки с параметром yclid странице на сайте

Сам по себе yclid в ссылку не подставится. Поэтому потребует программировать.

Общая логика

  1. Берем из url значения yclid и других utm-меток для ссылки
  2. Меняем их в вашем шаблоне url для перехода в Telegram
  3. Подставляем эти 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. Остальное все по желанию.

Не нашли ответ?

Спросите в чате пользователей в Telegram - там отвечает команда Shinta. Новости сервиса и разборы по контекстной рекламе - в нашем канале.