Instrukcja użycia→ Utwórz tag w GTM – Niestandardowy kod HTML
→ Wklej kod listenera do nasłuchiwania zdarzeń
→ Ustaw regułę – Wszystkie strony
→ Sprawdź w trybie podglądu GTM poprawność działania listenera
Kod listenera
<script>
(function () {
/* 1. Klasyczne kopiowanie (Ctrl+C / menu „Kopiuj”) */
document.addEventListener('copy', function (e) {
var txt = '';
/* część przeglądarek dostarcza gotowy plaintext w clipboardData */
if (e.clipboardData && e.clipboardData.getData) {
txt = e.clipboardData.getData('text/plain');
}
if (!txt) { // fallback: zaznaczenie
txt = (window.getSelection && window.getSelection().toString()) || '';
}
if (!txt) return;
(txt.match(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g) || [])
.forEach(function (mail) {
window.dataLayer.push({
event: 'email_copy',
email: mail,
method: 'copy' // ręczne kopiowanie
});
});
});
/* 2. Kliknięcie PPM (menu kontekstowe) na linku mailto: */
document.addEventListener('contextmenu', function (e) {
var link = e.target.closest && e.target.closest('a[href^="mailto:"]');
if (!link) return; // nie dotyczy mailto
var email = link.getAttribute('href')
.replace(/^mailto:/i, '')
.split('?')[0]; // wyrzucamy parametry
if (!email) return;
window.dataLayer.push({
event: 'email_copy',
email: email,
method: 'contextmenu' // PPM → „Kopiuj adres e-mail”
});
});
})();
</script>