avoid duplicate listeners

PHOTO EMBED

Thu Feb 12 2026 02:30:52 GMT+0000 (Coordinated Universal Time)

Saved by @davidmchale #listeners #avoid #duplicate

    // 6. hero banner tracking
   function heroTracking() {
       
        const heroBanner = document.querySelector('.new-hero');
        if (!heroBanner) return;
    
        const link = heroBanner.querySelector('.cta');
        if (!link) return;
    
        link.addEventListener('click', function () {
            // Skip if already tracked
            if (link.dataset.bannerTracked) return;
    
            const linkTextRaw = link.textContent?.trim() || "";
            const linkText = linkTextRaw.replace(/\s+/g, " ").trim();
            const linkUrl = link.getAttribute("href") || "";
    
            if(linkText && linkUrl){
                gtmPush({
                event: "interaction_click",
                component_name: "banner",
                click_text: linkText,
                click_url: getNormalisedUrl(linkUrl),
                });
            }
    		// set to true once clicked so now marked as tracked
            link.dataset.bannerTracked = 'true';
        });
        
    } // close function
content_copyCOPY