Page_view - poprawiony

 avatar
unknown
plain_text
4 months ago
1.3 kB
9
Indexable
<script>
(function () {
  if (window.__spaTrackHook) return;
  window.__spaTrackHook = true;

  function fireAll(source) {
    var url = location.href;

    if (window.__lastTrackedUrl === url) return;
    window.__lastTrackedUrl = url;

    // GA4 (gtag)
    if (typeof window.gtag === 'function') {
      window.gtag('event', 'page_view', {
        page_location: url,
        page_title: document.title
      });
    }

    // Meta Pixel
    if (typeof window.fbq === 'function') {
      window.fbq('track', 'PageView');
    }

    // TikTok Pixel
    if (window.ttq && typeof window.ttq.page === 'function') {
      window.ttq.page();
    } else if (window.ttq && typeof window.ttq.track === 'function') {
      window.ttq.track('PageView');
    }
  }

  var _pushState = history.pushState;
  var _replaceState = history.replaceState;

  history.pushState = function () {
    var ret = _pushState.apply(this, arguments);
    setTimeout(function(){ fireAll('pushState'); }, 300);
    return ret;
  };

  history.replaceState = function () {
    var ret = _replaceState.apply(this, arguments);
    setTimeout(function(){ fireAll('replaceState'); }, 300);
    return ret;
  };

  window.addEventListener('popstate', function () {
    setTimeout(function(){ fireAll('popstate'); }, 300);
  });
})();
</script>
Editor is loading...
Leave a Comment