Listener do kopiowania adresu email

Strona główna » GTM cHTML » Listener do kopiowania adresu email
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>

Dodaj komentarz

Napisz do mnie

Paweł Piekarski
Paweł Piekarski PhD, Analityk eCommerce Marketing oparty na danych

Dane kontaktowe

+48 725 473 745

poczta@pawelpiekarski.pl

linkedin.com/in/pawelpiekarskipl

    Wysyłając wiadomość, zgadzasz się na kontakt i przetwarzanie danych zgodnie z polityką prywatności.