ionId); } else { console.warn('⚠️ session_id GA4 nu a fost găsit în cookie-ul _ga_HTEX6NQ81Y'); } // ======================================================== // === CONSTRUIRE LINK AFFILIAT CU PARAMETRII NOI // ======================================================== // citește href-ul actual var affLink = jQuery(this).attr('href'); // === elimină click_id, client_id, session_id vechi === affLink = affLink .replace(/([?&])click_id=[^&]*/g, '') .replace(/([?&])client_id=[^&]*/g, '') .replace(/([?&])session_id=[^&]*/g, '') .replace(/[?&]+$/, ''); affLink = affLink.replace(/([?&]){2,}/g, '$1'); // === adaugă valori noi === var sep = affLink.indexOf('?') === -1 ? '?' : '&'; affLink += sep + 'click_id=' + encodeURIComponent(click_id); if (clientId) affLink += '&client_id=' + encodeURIComponent(clientId); if (sessionId) affLink += '&session_id=' + encodeURIComponent(sessionId); // actualizează link-ul final jQuery(this).attr('href', affLink); console.log('🔗 Link final:', affLink); // scrie localstorage cu magazinele unde s-a dat clic // extrage data curenta //var today = new Date(); //var dd = today.getDate(); //var mm = today.getMonth()+1; //January is 0! //var yyyy = today.getFullYear(); //today = mm + '/' + dd + '/' + yyyy; var now = new Date().getTime(); magClick[data_id] = now; localStorage.setItem("magClick", JSON.stringify(magClick)); var categorie = data_fav['tiplink'] ? data_fav['tiplink'] : ''; //tip link (afiliere/abonament) var actiune = "Click"; //actiune (click/view/play/submit) var eticheta = data_fav['domeniu'] ? data_fav['domeniu'] : ''; //domeniu (2performant.com/profitshare.ro) var dimension1 = data_fav['tip_produs'] ? data_fav['tip_produs'] : ''; //tip produs (magazin/produs/brand/categorie) var dimension2 = data_fav['nume_magazin'] ? data_fav['nume_magazin'] : ''; //nume magazin var dimension3 = data_fav['title'] ? data_fav['title'] : ''; //nume clic (numele produsului, magazinului, brandului) var dimension4 = "2026"; //an clic var dimension5 = "Produse"; //nume pagina var dimension6 = window.location.href; //link pagina var dimension7 = data_fav['reducere'] ? data_fav['reducere'] : ''; //reducere var dimension8 = data_fav['tiplink'] ? data_fav['tiplink'] : ''; //tip link (afiliere/abonament) var dimension9 = "Click"; //actiune (click/view/play/submit) var dimension10 = data_fav['domeniu'] ? data_fav['domeniu'] : ''; //domeniu (2performant.com/profitshare.ro) var dimension11 = data_fav['pozitionare'] ? data_fav['pozitionare'] : ''; // pozitie magazin in lista var dimension13 = readCookie('utm_source'); var dimension14 = readCookie('utm_medium'); var dimension15 = readCookie('utm_campaign'); var dimension16 = readCookie('utm_term'); var dimension17 = readCookie('utm_content'); var dimension18 = "ah_prod"; // tipul paginii (home/cat/sezon/pg_mag/pg_brand/pg_prod/sg_mag/sg_brand/sg_prod/cand_e/altele) var dimension19 = data_fav['poz_pagina'] ? data_fav['poz_pagina'] : ''; // locul in pagina (loop/single/popup) // tag in onesignal /*if (typeof localStorage !== "undefined") { var mag = 'click_'+dimension2; var magClicks = parseInt(localStorage.getItem(mag), 10); if (!isNaN(magClicks)) { magClicks += 1; } else { magClicks = 1; } localStorage.setItem(mag, magClicks); if (magClicks >= numVisitsTrigger) { tagUserWithPageTopic(mag, magClicks); } }*/ // event google analytics 4 GA4 gtag('event', actiune, { 'tip_produs': dimension1, 'nume_magazin': dimension2, 'nume_clic': dimension3, 'an_clic': dimension4, 'nume_pagina': dimension5, 'link_pagina': dimension6, 'reducere': dimension7, 'tip_link': dimension8, 'actiune': dimension9, 'domeniu': dimension10, 'pozitie': dimension11, 'click_id': click_id, // nou click_id 'client_id': clientId, // nou client_id din _ga 'session_id': sessionId, 'utm_source': dimension13, 'utm_medium': dimension14, 'utm_campaign': dimension15, 'utm_term': dimension16, 'utm_content': dimension17, 'tip_pagina': dimension18, 'poz_pagina': dimension19 }); // test in consolă dacă se trimite console.log('GA4 event sent:', actiune, { 'tip_produs': dimension1, 'nume_magazin': dimension2, 'nume_clic': dimension3, 'click_id': click_id, 'client_id': clientId }); // facebook pixel conversion fbq('track','AddToCart',{content_name:data_fav['title'],content_ids: data_id,content_type: content_type,value: 0.10,currency: 'RON'}); // TikTok - add this before event code to all pages where PII data postback is expected and appropriate ttq.track('ClickAfiliere', { "contents": [{ "content_id": dimension3, // string. ID of the product. Example: "1077218". "content_type": "product", // string. Either product or product_group. "content_name": dimension2, // string. The name of the page or product. Example: "shirt". }], }); ttq.track('AddToCart', { "contents": [{ "content_id": dimension3, // string. ID of the product. Example: "1077218". "content_type": "product", // string. Either product or product_group. "content_name": dimension2, // string. The name of the page or product. Example: "shirt". }], }); }) document.addEventListener("DOMContentLoaded", function() { const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { const el = entry.target; const data_fav_json = el.getAttribute('data-fav'); const data_fav = JSON.parse(data_fav_json); const data_id = el.getAttribute('data-id'); const now = new Date().getTime(); // evită dublarea în sesiune if (!el.dataset.logged) { el.dataset.logged = "1"; let magViews = JSON.parse(localStorage.getItem("magViews") || "{}"); magViews[data_id] = now; localStorage.setItem("magViews", JSON.stringify(magViews)); // === DEFINEȘTE ACEEAȘI LOGICĂ DE DIMENSIUNI CA LA CLICK === var actiune = "Impression_screen"; var dimension1 = data_fav['tip_produs'] || ''; var dimension2 = data_fav['nume_magazin'] || ''; var dimension3 = data_fav['title'] || ''; var dimension4 = "2026"; var dimension5 = "Produse"; var dimension6 = window.location.href; var dimension7 = data_fav['reducere'] || ''; var dimension8 = data_fav['tiplink'] || ''; var dimension9 = "View"; var dimension10 = data_fav['domeniu'] || ''; var dimension11 = data_fav['pozitionare'] || ''; var dimension13 = readCookie('utm_source'); var dimension14 = readCookie('utm_medium'); var dimension15 = readCookie('utm_campaign'); var dimension16 = readCookie('utm_term'); var dimension17 = readCookie('utm_content'); var dimension18 = "ah_prod"; var dimension19 = data_fav['poz_pagina'] || ''; // === GA4 === gtag('event', actiune, { 'tip_produs': dimension1, 'nume_magazin': dimension2, 'nume_clic': dimension3, 'an_clic': dimension4, 'nume_pagina': dimension5, 'link_pagina': dimension6, 'reducere': dimension7, 'tip_link': dimension8, 'actiune': dimension9, 'domeniu': dimension10, 'pozitie': dimension11, 'utm_source': dimension13, 'utm_medium': dimension14, 'utm_campaign': dimension15, 'utm_term': dimension16, 'utm_content': dimension17, 'tip_pagina': dimension18, 'poz_pagina': dimension19 }); // === (Opțional) Facebook Pixel if (typeof fbq === 'function') { fbq('trackCustom','MagazinView',{ content_name: dimension2, content_ids: data_id, content_type: 'product' }); } // === (Opțional) TikTok if (typeof ttq === 'object' && typeof ttq.track === 'function') { ttq.track('ViewMagazin', { "contents": [{ "content_id": dimension3, "content_type": "product", "content_name": dimension2, }] }); } } } }); }, { threshold: 0.5 }); // logo vizibil min. 50% // urmărește toate magazinele din listă document.querySelectorAll(".gg").forEach(el => observer.observe(el)); }); // perioada black friday - afisare "A INCEPUT" sau "INCEPE PE ZZ.MM.YYYY" la magazine in loop jQuery(".magazin").each(function() { var bf_activ = 'nu'; var d = new Date(); var data_curenta = d.getFullYear() + "" + ((d.getMonth()+1)<10 ? '0' : '') + (d.getMonth()+1) + "" + ((d.getDate())<10 ? '0' : '') + d.getDate() + "" + ((d.getHours())<10 ? '0' : '') + d.getHours() + "" + ((d.getMinutes())<10 ? '0' : '') + d.getMinutes(); var data_bf_json = jQuery(this).children('.mag').children('.perioada_bf').attr('data-bf'); if (data_bf_json != null) { // daca magazinul nu are data completata deloc, atunci ignora var data_bf = JSON.parse(data_bf_json); var data_inceput = data_bf['iyear'] + data_bf['imonth'] + data_bf['iday'] + data_bf['ihour'] + data_bf['imin']; var data_sfarsit = data_bf['syear'] + data_bf['smonth'] + data_bf['sday'] + data_bf['shour'] + data_bf['smin']; // 🟩 === Ignoră "A ÎNCEPUT" începând cu ziua oficială de BF până la 31 decembrie === //var zi_bf_php = 6; // ex: 7 var zi_bf_php = 30; // ex: 7 var an_curent = d.getFullYear(); var data_ignore_start = an_curent + "11" + (zi_bf_php < 10 ? "0" + zi_bf_php : zi_bf_php) + "0000"; // ex: 202511070000 var data_ignore_end = an_curent + "12312359"; // 31.12.YYYY 23:59 var ignora_inceput = (data_curenta >= data_ignore_start && data_curenta <= data_ignore_end); // 🟩 ============================================================= if (data_curenta >= data_inceput) { if (data_curenta <= data_sfarsit && !ignora_inceput) { jQuery(this).children('.mag').children('.perioada_bf').html('A ÎNCEPUT'); jQuery(this).children('.mag').children('.perioada_bf').addClass('a-inceput'); jQuery(this).addClass('inceput'); var bf_activ = 'da'; } } } // adauga cod reducere activ daca nu e inceput black friday if (bf_activ == 'nu') { var cod_bf_json = jQuery(this).children('.mag').children('.cod_bf').attr('data-cod'); if (cod_bf_json == null) { // daca magazinul nu are voucher current completat deloc, atunci ignora return true; } var cod_bf = JSON.parse(cod_bf_json); if (data_curenta >= cod_bf['start']) { if (data_curenta <= cod_bf['end']) { jQuery(this).children('.mag').children('.cod_bf').html('VOUCHER: ' + cod_bf['cod']); jQuery(this).children('.mag').children('.cod_bf').addClass('cod-activ'); } } } });