Код для замены:
function getTrackingFromCurrentUrl() {
return {
fbclid: getParamFromCurrentUrl("fbclid"),
utm_source: getParamFromCurrentUrl("utm_source"),
utm_medium: getParamFromCurrentUrl("utm_medium"),
utm_campaign: getParamFromCurrentUrl("utm_campaign"),
utm_term: getParamFromCurrentUrl("utm_term"),
utm_content: getParamFromCurrentUrl("utm_content")
};
}
function persistTrackingIfExists() {
var cached = readStorage();
var current = getTrackingFromCurrentUrl();
if (current.fbclid || current.utm_source || current.utm_medium || current.utm_campaign || current.utm_term || current.utm_content) {
writeStorage({
ym: cached.ym || null,
lvid: cached.lvid || null,
fbclid: current.fbclid || cached.fbclid || null,
utm_source: current.utm_source || cached.utm_source || null,
utm_medium: current.utm_medium || cached.utm_medium || null,
utm_campaign: current.utm_campaign || cached.utm_campaign || null,
utm_term: current.utm_term || cached.utm_term || null,
utm_content: current.utm_content || cached.utm_content || null,
updatedAt: Date.now()
});
}
}
function buildStart(fbclid, utm_source, utm_medium, utm_campaign, utm_term, utm_content, ym, lvid) {
// Если это переход с рекламы Facebook, отдаем только клик-айди с коротким маркером "i" (instagram)
if (fbclid) {
return "i_" + safeEncode(fbclid);
}
// Если это обычный переход без fbclid, склеиваем стандартные UTM
var utmParts = [];
if (utm_source) utmParts.push(utm_source);
if (utm_medium) utmParts.push(utm_medium);
if (utm_campaign) utmParts.push(utm_campaign);
var start = utmParts.length ? utmParts.join("_") : "site";
if (ym) start += "__ym_" + safeEncode(ym);
// Жесткая обрезка под лимит Телеграма (64 символа) для безопасности
return start.slice(0, 64);
}