Google Analytics – Tracking ausgehender Links mit einer Weiterleitung

Lesezeit: 6 Minuten

Ich habe Google Analytics zum Nachverfolgen eingerichtet ausgehende Links. Allerdings habe ich auch ein WordPress-Plugin namens installiert Amazon Link Localizer die die ausgehende URL so modifiziert, dass sie ihre endgültige Form hat prourls.com?url=www.amazon.comAnstatt von www.amazon.com.

Ist es möglich, das Analytics-Skript so zu ändern, dass diese ausgehenden Link-Klicks weiterhin verfolgt werden können?

Benutzeravatar von Sally CJ
Sally C.J

SCHRITT 1: Fügen Sie hinzu trackOutboundLink Skript zu Ihrer Website.

Fügen Sie diesen Code in die hinzu <head></head> Abschnitt des HTML der Seite: (Das vollständige Skript befindet sich unten auf dieser Seite, aber verwenden Sie dieses, um die Seitengröße zu minimieren.)

<script>
var trackOutboundLink=function(t,e){var n,o="object"==typeof t?t.href:t,a=document.createElement("a");function c(){document.location=o}e=e||o,a.href=e,/\bprourls\.com?$/i.test(a.host)?e=(n=/[\?&]url=([^&#]+)/.test(a.search)&&RegExp.$1||"")?decodeURIComponent(n):e:/\blinksynergy\.com$/i.test(a.host)&&(e=(n=/[\?&]murl=([^&#]+)/.test(a.search)&&RegExp.$1||"")?decodeURIComponent(n):e),"function"==typeof gtag?gtag("event","click",{event_category:"outbound",event_label:e,transport_type:"beacon",event_callback:c}):ga("send","event","outbound","click",e,{transport:"beacon",hitCallback:c})};window.addEventListener("load",function(){var t,e,n=document.getElementsByTagName("a")||[];function o
</script>

Beachten Sie, dass das Skript eine modifizierte/angepasste Version des von Google Analytics bereitgestellten Skripts ist:

SCHRITT 2: Hinzufügen data-outbound-link="1" zum HTML der ausgehenden Links.

Fügen Sie für jeden ausgehenden Link, den Sie verfolgen möchten, Folgendes zum HTML des Links hinzu:

data-outbound-link="1"

(Und wenn Sie zuvor hinzugefügt haben onclick="trackOutboundLink('http://www.example.com'); return false;" in den HTML-Code des Links einfügen, dann ersetzen Sie ihn bitte durch den obigen Code.)

Also statt: <a href="http://www.example.com" onclick="trackOutboundLink('http://www.example.com'); return false;">Check out example.com</a>

..benutze das: <a href="http://www.example.com" data-outbound-link="1">Check out example.com</a>

DAS VOLLSTÄNDIGE SCHRIFT

Nachfolgend finden Sie die vollständige, nicht minimierte Version der Brauch trackOutboundLink Skript: (verwenden Sie dies nur als Referenz)

<script>
var trackOutboundLink = function(link, url2track) {
  var url2visit = ('object' === typeof link) ? link.href : link,
    a = document.createElement('a'),
    b;

  url2track = url2track || url2visit;
  a.href = url2track;

  // Dynamic redirect URLs via Prourls.com; this was for Amazon URLs.
  if (/\bprourls\.com?$/i.test(a.host)) {
    b = (/[\?&]url=([^&#]+)/.test(a.search) && RegExp.$1) || '';
    url2track = b ? decodeURIComponent(b) : url2track;
  // Dynamic redirect URLs via Link Synergy; this was for Footlocker URLs.
  } else if (/\blinksynergy\.com$/i.test(a.host)) {
    b = (/[\?&]murl=([^&#]+)/.test(a.search) && RegExp.$1) || '';
    url2track = b ? decodeURIComponent(b) : url2track;
  }
  // All other URLs are not parsed and expected to be valid outbound URLs.

  function onTracked() {
    //alert('Tracked: ' + url2track);
    document.location = url2visit;
  }

  if ('function' === typeof gtag) {
    gtag('event', 'click', {
      'event_category': 'outbound',
      'event_label': url2track,
      'transport_type': 'beacon',
      'event_callback': onTracked
    });
  } else {
    ga('send', 'event', 'outbound', 'click', url2track, {
      'transport': 'beacon',
      'hitCallback': onTracked
    });
  }
};

window.addEventListener('load', function() {
  var links = document.getElementsByTagName('a') || [],
    i, a;

  function _go(e) {
    e.preventDefault();

    // Track a custom URL address, if specified.
    var b = this.getAttribute('data-outbound-link');

    trackOutboundLink(this.href, '1' === b ? '' : b);
  }

  for (i = 0; i < links.length; i++) {
    a = links[i];

    if (!a.href || /^#/.test(a.href) || location.host === a.host) {
      continue;
    }

    if ('' !== a.getAttribute('data-outbound-link')) {
      a.addEventListener('click', _go, false);
    }
  }
}, false);
</script>

  • Versuchen Sie es zuerst mit den On-Click-Handlern inbegriffenoder ohne die vorhandenen On-Click-Handler zu entfernen.

    – Sally CJ

    29. April 2018 um 21:50 Uhr

  • Wir können Rechtsklicks erkennen (und Rechtsklicks für einige, wenn nicht die meisten Browser deaktivieren) oder die Aktion, das Kontextmenü/Rechtsklickmenü anzuzeigen, aber ob der Benutzer den Link in einem neuen Tab (oder Fenster) oder geöffnet hat nicht; das ist etwas ich nicht denke, wir können erkennen. Wenn Sie jedoch den Link verfolgen möchten auf Klicken Sie mit der rechten Maustaste darauf, dann können wir das tun. Ich meine, wir können es zum Beispiel unter der Kategorie “Rechtsklick” anstelle von “Klick” verfolgen. Lass mich wissen was du denkst. Und sorry, falls diese Nachricht nicht hilfreich war…

    – Sally CJ

    2. Mai 2018 um 9:03 Uhr


  • Danke Sally für die ausführliche Erklärung. Es stellt sich heraus, dass tatsächlich ein größeres Problem darin besteht, dass die Nicht-Amazon-Links nur etwa 20 % der Zeit getrackt werden. Ich habe keine Ahnung, was los ist. Es war so ein frustrierendes Problem zu lösen.

    – zgall1

    2. Mai 2018 um 12:41 Uhr

  • Ich habe die Link-Klicks in Echtzeit mit GA verfolgt und kann die Amazon-Link-Klicks zu 100 % der Zeit sehen, aber nur die anderen Link-Klicks in etwa 20 % der Zeit. Ich bin mir sicher, dass die Behebung dieses Problems einen praktischen Ansatz erfordern würde. Ich schätze all die Hilfe, die Sie geleistet haben!

    – zgall1

    2. Mai 2018 um 16:37 Uhr

  • Ich wünschte, ich könnte Ihnen weiter helfen, aber abgesehen von der technischen/codierenden Seite sind meine GA-Fähigkeiten ziemlich “so lala”, also wünsche ich Ihnen alles Gute und hoffe, dass Sie das Problem lösen werden. Prost!

    – Sally CJ

    2. Mai 2018 um 17:53 Uhr

vinoajs Benutzeravatar
vinoaj

Versuche dies:

ZuerstEntferne das onclick Handler für alle Ihre Links.

Zweite Fügen Sie den folgenden Code in Ihre ein <head> Block

var trackOutboundLink = function(url) {
    var newUrl = url;
    var re = /prourls\.co.*\?.*url=(.*)/
    var matches = url.match(re);
    if (matches && matches.length > 0) {
        newUrl = matches[1]
    }

    // console.log(newUrl);

    ga('send', 'event', 'outbound', 'click', newUrl, {
      'transport': 'beacon',
      'hitCallback': function(){document.location = url;}
    });
};

var btns = document.querySelectorAll('a.btn');
for (var i = 0, l = btns.length; i < l; i++) {
    btns[i].addEventListener('click', function(e) {
        // console.log(e.target.href);
        trackOutboundLink(e.target.href);
    });
}

Geändert trackOutboundLink() jetzt:

  • Überprüft, ob es das Formular hat prourls.com?url=XXXX
  • Extrahiert den Wert der url Parameter
  • Übergibt diesen Wert an den GA-Ereignisverfolgungsaufruf

  • Ich habe den Code hinzugefügt, aber er scheint nicht zu funktionieren. Wenn Sie die Einrichtung selbst überprüfen möchten, sehen Sie sich bitte den Link “Preis prüfen (Amazon)” auf der folgenden Seite an – ballershoesdb.com/shoes/adidas-crazy-explosive-2017

    – zgall1

    23. April 2018 um 12:47 Uhr

  • Die URLs auf Ihrer Website unterscheiden sich von dem, was Sie in Ihrer Frage beschrieben haben. Ich habe die Regex in meinem Code geändert – bitte versuchen Sie es erneut und lassen Sie mich wissen, wie es Ihnen geht

    – vinoaj

    24. April 2018 um 9:54 Uhr

  • Sorry für die Verwirrung. Ich habe den Code aktualisiert, sehe aber immer noch nicht das entsprechende Ereignis in Analytics, wenn auf den Link geklickt wird. Ich weiß, dass es im Allgemeinen funktioniert, da ich Klicks auf andere Links sehen kann, die als Ereignisse klassifiziert sind.

    – zgall1

    24. April 2018 um 13:41 Uhr

  • Bitte überprüfen Sie meine zusätzlichen Informationen oben

    – vinoaj

    25. April 2018 um 0:32 Uhr

  • Es scheint immer noch nicht zu funktionieren. Die Footlocker- und eBay-Links werden verfolgt, haben aber nichts mit Amazon zu tun (Screenshot – evernote.com/l/Adw8uB6rMgtKiqHeUXrZVSLhkxNNRDv2LCo). Wenn Sie sich das Website-Backend ansehen möchten, senden Sie eine E-Mail an die Adresse in der Fußzeile der Website, und ich kann Ihnen die erforderlichen Informationen zur Verfügung stellen.

    – zgall1

    25. April 2018 um 4:34 Uhr

1386580cookie-checkGoogle Analytics – Tracking ausgehender Links mit einer Weiterleitung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy