Warum Downloads und ausgehende Links eigene Messpunkte brauchen
Auf vielen B2B-Websites liegt der eigentliche Inhalt nicht auf der Seite, sondern daneben: im Datenblatt, in der Preisliste als Excel-Datei, im Katalog, in der Montageanleitung. Auf der Seite selbst stehen eine Zusammenfassung und ein Link. Ähnlich ist es mit Verweisen auf Händler, Marktplätze und Partnerportale. Die Seite erfüllt ihren Zweck in dem Moment, in dem der Besucher sie verlässt.
Ein Zählskript läuft nur in HTML-Seiten. Öffnet sich die PDF im Betrachter des Browsers oder landet sie im Download-Ordner, läuft dort kein Skript mehr, auf der Seite des Händlers erst recht nicht. Ohne eigenen Messpunkt bleibt in der Statistik nur der letzte Seitenaufruf stehen, mit kurzer Verweildauer und als Ausstiegsseite. Wer dann die Absprungrate senken will, optimiert womöglich genau die Seite weg, die am besten funktioniert. Warum die Absprungrate allein wenig über Aufmerksamkeit verrät, beschreibt der Beitrag Aufmerksamkeit messen: Scrolltiefe statt Absprungrate.
Dateien werden auch gelesen, ohne dass die eigene Seite beteiligt ist. Google kann den Inhalt der meisten textbasierten Dateien und bestimmter Dokumentformate indexieren und führt dabei unter anderem PDF, Excel, PowerPoint und Word auf (Google Search Central). Wer ein Datenblatt direkt aus dem Suchergebnis öffnet, ruft die Datei ab, ohne Ihre Seite zu sehen. Klickbasierte Downloadzahlen beschreiben deshalb, wie Besucher Ihrer Seiten zu Dateien finden, nicht, wie oft eine Datei insgesamt abgerufen wird.
Ein Messpunkt am Klick beantwortet Fragen, die Seitenaufrufe offenlassen:
- Welche Datenblätter, Preislisten und Kataloge werden tatsächlich geladen, und von welcher Seite aus?
- Welche Händler, Marktplätze und Partner bekommen Besucher von Ihrer Website, und welche keine?
- Führen Produktseiten eher zum Download oder eher zum Kontakt per E-Mail und Telefon?
- Welche verlinkten Dateien klickt niemand an, und welche Links zeigen auf einen Host, an den niemand gedacht hat?
Was als Download zählt und was als ausgehender Link
Die Einordnung gehört zur cookielosen Webanalyse von XICTRAQ® und läuft ohne Zusatzcode. Der Tracker hört auf Klicks im ganzen Dokument. Bei jedem Klick sucht er vom angeklickten Element aufwärts den nächsten Link und liest dessen Ziel. Dann entscheidet ein einfacher Vergleich: Liegt das Ziel auf einem anderen Host als die aktuelle Seite, entsteht ein Ereignis outbound mit der vollständigen Zieladresse. Liegt es auf demselben Host und endet der Pfad auf eine bekannte Dateiendung, entsteht ein Ereignis file_download mit dem Pfad der Datei. Alles andere ist ein gewöhnlicher Klick innerhalb der Website.
Markieren müssen Sie die Links dafür nicht. Erfasst werden auch Links in SVG-Grafiken, etwa eine verlinkte Produktzeichnung oder eine klickbare Karte mit Händlerstandorten. Deren Ziel steht im Browser nicht als einfacher Text bereit, der Tracker liest es deshalb gesondert aus.
Als Download gelten diese Dateiendungen, unabhängig von Groß- und Kleinschreibung und auch dann, wenn der Adresse ein Abfrageteil wie ?v= folgt:
pdf, doc und docx, xls und xlsx, ppt und pptx, csv und txt
zip, rar, 7z, tar und gz, etwa Pakete mit Zeichnungen oder Treibern
mp3, mp4, wav und ogg, sofern als Datei verlinkt
exe, dmg, apk und ipa, etwa Installationsprogramme
Nicht auf der Liste stehen unter anderem Bilder, Dateien für Computer-Aided Design (CAD) wie .step oder .dwg, E-Books, Kalenderdateien und elektronische Visitenkarten. Ein Klick auf eine solche Datei der eigenen Domain zählt weder als Download noch als ausgehender Link. Die Übersicht zeigt die wichtigsten Fälle:
| Linkziel | Einordnung | Was gespeichert wird |
|---|---|---|
| /downloads/datenblatt.pdf auf der eigenen Domain | Datei-Download | Pfad der Datei, ohne Abfrageteil |
| Datei auf firma.example, Seite auf www.firma.example | Datei-Download, denn www. und ohne gelten als derselbe Host | Pfad der Datei |
| Datei auf cdn.firma.example oder bei einem Speicherdienst | ausgehender Link, kein Download | vollständige Zieladresse |
| Shop oder Portal auf shop.firma.example | ausgehender Link | vollständige Zieladresse |
| Händler, Marktplatz, Partnerportal | ausgehender Link | vollständige Zieladresse |
| mailto: und tel: | ausgehender Link, ausgewertet als Kontaktaufnahme | Adresse oder Rufnummer des Links |
| /download.php?id=… ohne Dateiendung | kein Ereignis | nichts, gewöhnlicher Klick |
| javascript:, data:, blob:, about: | kein Ereignis | nichts |
Der Hostvergleich: www, Subdomain und CDN
Ob ein Ziel zur eigenen Website gehört, entscheidet allein der Host, also der Teil der Adresse zwischen Schema und Pfad. Relative Links wie /downloads/preisliste.xlsx löst der Browser vor dem Vergleich gegen die aktuelle Adresse auf, sie landen also beim eigenen Host. Ein vorangestelltes www. wird auf beiden Seiten entfernt: Ein Link von www.firma.example auf firma.example bleibt auf der Website, und eine Datei unter der Adresse ohne www. zählt als Download.
Für jede andere Subdomain gilt das nicht. shop.firma.example und cdn.firma.example sind für den Vergleich fremde Hosts. Für Shops und Portale auf eigener Subdomain ist das meist gewollt, denn der Wechsel dorthin ist ein Übergang in ein anderes System. Für Dateien kann es überraschen: Liegt das Datenblatt auf einem CDN, also einem Netz von Auslieferungsservern, oder bei einem Speicherdienst, wird der Klick als ausgehender Link gezählt. In der Karte Datei-Downloads fehlt er dann, in der Karte Ausgehende Links steht er mit voller Adresse.
Vor der Auswertung lohnt eine kurze Bestandsaufnahme: Auf welchem Host liegen Ihre Datenblätter, Kataloge und Preislisten? Liegen sie auf einem CDN, finden Sie die Klicks unter den ausgehenden Links, erkennbar am Host. Wer alle Unterlagen in einer Liste sehen will, verlinkt sie über einen Pfad der Hauptdomain, den der Webserver auf den Speicherort weiterleitet. Dann zählt der Klick als Download.
Ein Link auf eine Datei, die es nicht mehr gibt, wird trotzdem als Klick gezählt. Ob verlinkte Dateien und Händlerseiten noch antworten, zeigt eine Linkprüfung, nicht die Klickanalyse. Wie sich tote Links laufend finden lassen, beschreibt der Beitrag Broken Links und 404-Fehler automatisch überwachen.
Warum das Ereignis den Seitenwechsel überlebt
Ein Klick auf einen Link ist der ungünstigste Moment, um Daten zu versenden. Der Browser beginnt sofort mit der Navigation, und eine gewöhnliche asynchrone Anfrage der alten Seite kann dabei abgebrochen werden. Frühere Messverfahren haben den Seitenwechsel deshalb künstlich verzögert, etwa mit blockierenden Anfragen, und damit die nächste Seite langsamer gemacht (MDN).
Für genau diesen Fall gibt es navigator.sendBeacon(). Die Methode sendet eine kleine Datenmenge per HTTP-POST an einen Server und ist ausdrücklich für Analysedaten gedacht (MDN). Der Browser reiht die Daten ein und überträgt sie, ohne das Entladen der Seite oder die nächste Navigation aufzuhalten. Die eingereihten Daten sind auf 64 KiB begrenzt (MDN), und die Methode ist seit April 2018 browserübergreifend verfügbar (MDN).
Die zweite Möglichkeit ist fetch() mit der Option keepalive. Dann bricht der Browser die Anfrage nicht ab, wenn die auslösende Seite vor dem Ende der Anfrage entladen wird (MDN). Auch hier gibt es eine Obergrenze: Übersteigt die Nutzlast aller noch laufenden keepalive-Anfragen einer Seite zusammen mit der neuen Anfrage 64 Kibibyte, endet die neue Anfrage mit einem Netzwerkfehler (WHATWG Fetch Standard).
Der XICTRAQ®-Tracker nutzt beide Wege nacheinander: zuerst sendBeacon, und wenn der Browser den Beacon nicht annimmt, fetch mit keepalive. Die Daten gehen als einfacher Text an den Server, so braucht der Browser keine Vorabanfrage, und weder der Download noch der Wechsel zum Händler wird verzögert. Wie dasselbe Prinzip am Ende einer Sitzung greift, beschreibt der Beitrag unload verschwindet: Analytics-Daten vollständig erfassen.
Vereinfacht sieht das Prinzip so aus. Der Ausschnitt ist ein Lehrbeispiel mit verkürzter Endungsliste, nicht der Quelltext des Trackers. Der Listener hängt in der Einfangphase am Dokument und sieht den Klick dadurch auch dann, wenn ein Skript der Seite die Weitergabe des Ereignisses stoppt:
// Prinzip, vereinfacht: kein Quelltext des Trackers
const FILE_PATTERN = /\.(pdf|docx?|xlsx?|zip)$/i;
const bareHost = (host) => host.replace(/^www\./, '');
document.addEventListener('click', (event) => {
const link = event.target.closest('a[href]');
if (!link) return;
const target = new URL(link.href, location.href);
// Skript-, Daten- und Speicheradressen führen nirgendwohin
if (/^(javascript|data|blob|about):$/.test(target.protocol)) return;
let payload = null;
if (bareHost(target.host) !== bareHost(location.host)) {
payload = { name: 'outbound', url: target.href };
} else if (FILE_PATTERN.test(target.pathname)) {
payload = { name: 'file_download', file: target.pathname };
}
// sendBeacon reiht die Daten ein, der Seitenwechsel wartet nicht
if (payload) navigator.sendBeacon('/collect', JSON.stringify(payload));
}, true);Klicks, die keine Messung auslösen
Klickbasierte Zahlen erfassen nicht jeden Weg zu einer Datei. Einige Wege zu einer Datei oder einem fremden Ziel lösen auf der Seite kein gewöhnliches Klickereignis aus, andere lassen sich an der Linkadresse nicht als Download erkennen:
- Mittelklick und neuer Tab: Für Maustasten außer der primären gibt es ein eigenes Ereignis,
auxclick(MDN). Es wird erst seit Dezember 2024 von aktuellen Browsern durchgängig unterstützt (MDN). Ob ein Mittelklick zusätzlich als gewöhnlicher Klick ankommt, hängt vom Browser ab. - Kontextmenü: Wer per Rechtsklick „Link speichern unter“ wählt, lädt die Datei, ohne den Link anzuklicken.
- Direkter Abruf: Ein Datenblatt aus dem Suchergebnis, aus einer E-Mail oder aus einem Lesezeichen öffnet sich ohne Ihre Seite.
- Download über ein Skript ohne Dateiendung: Adressen wie
/download.php?id=…liefern die Datei aus, ihr Pfad endet aber nicht auf eine bekannte Endung. Ob der Browser die Antwort anzeigt oder speichert, steuert der Server über den Header Content-Disposition, der auch den Dateinamen für die lokale Speicherung mitliefern kann (RFC 6266). Der Tracker sieht nur die Adresse des Links. - Dateien, die erst im Browser entstehen: Ein Export aus einem Konfigurator hat oft eine Adresse mit
blob:. Sie verweist auf ein Objekt im Speicher des Browsers (MDN) und führt nirgendwohin, der Tracker zählt sie deshalb nicht. - Das Attribut download allein: Es zeigt an, dass ein Link zum Herunterladen einer Ressource gedacht ist (WHATWG HTML Standard). Es wirkt aber nur bei Adressen desselben Ursprungs sowie bei
blob:- unddata:-Adressen (MDN) und ändert nichts an der Einordnung nach Host und Dateiendung.
Ein Tippen auf den Link und die Eingabetaste auf einem fokussierten Link lösen dagegen ein gewöhnliches Klickereignis aus (MDN). Wer mit Tastatur oder Touchscreen unterwegs ist, wird also mitgezählt. Und jeder Klick zählt einzeln: Wer dasselbe Datenblatt mehrmals öffnet, erzeugt mehrere Downloads in einer Sitzung. Die Karte Datei-Downloads zeigt darum wahlweise die Zahl der Downloads oder die Zahl der Besucher, die eine Datei geladen haben.
Downloads ohne Link und Dateien außerhalb der Liste
Für Fälle, die die automatische Erfassung nicht abdeckt, bietet der Tracker zwei Wege. Sie gehören nur dorthin, wo kein Link automatisch erfasst wird. Das Handbuch zur JS-Tracker-API zeigt xictraq.event('download', …) als Beispiel für ein eigenes Ereignis. Dieser Aufruf ist für Downloads gedacht, die ohne gewöhnlichen Link entstehen. Steht er zusätzlich an einem Link auf eine PDF der eigenen Domain, wird jeder Abruf doppelt erfasst: als Datei-Download und als eigenes Ereignis.
Der erste Weg ist der Aufruf in eigenem Code, etwa wenn ein Konfigurator eine Datei im Browser erzeugt. Die Methode URL.createObjectURL() liefert dafür eine blob:-Adresse, die auf das erzeugte Objekt zeigt (MDN):
// Datei im Browser erzeugen und zum Speichern anbieten
const blob = new Blob([csvText], { type: 'text/csv' });
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = 'konfiguration.csv';
link.click();
// blob:-Adressen zählt der Tracker nicht, darum hier von Hand melden
if (window.xictraq) {
xictraq.event('download', { file: 'konfiguration.csv' });
}Die Prüfung auf window.xictraq ist nötig, weil der Tracker mit defer lädt und Aufrufe vor dem Laden verloren gehen. Ein solches Ereignis erscheint unter den eigenen Ereignissen, nicht in der Karte Datei-Downloads, die nur automatisch erkannte Klicks führt.
Der zweite Weg kommt ohne eigenes Skript aus. Ein Element mit dem Attribut data-xictraq-event meldet bei einem Klick ein eigenes Ereignis unter diesem Namen, weitere Attribute mit dem Präfix data-xictraq- gehen als Eigenschaften mit. Das passt für Dateien, deren Endung nicht auf der Liste steht, zum Beispiel CAD-Daten auf der eigenen Domain:
<a href="/cad/kugelventil.step"
data-xictraq-event="cad_download"
data-xictraq-modell="kugelventil">
CAD-Daten (STEP)
</a>An einem Link auf eine PDF der eigenen Domain stünde derselbe Klick mit diesem Attribut zusätzlich unter dem eigenen Ereignisnamen. Das kann gewollt sein, wenn ein einzelnes Dokument als Ziel zählen soll, gehört dann aber in die Beschreibung der Messung.
Aus Downloads und Händlerklicks Ziele machen
Ein Download ist kein Abschluss, aber oft der wichtigste Zwischenschritt vor einer Anfrage. In XICTRAQ® lassen sich Ziele auf zwei Arten anlegen: als Seitenziel, das bei einem bestimmten Pfad wie einer Dankeseite greift, oder als Ereignisziel, das bei einem bestimmten Ereignisnamen greift. Ein Ereignisziel mit dem Namen file_download zählt jede Sitzung, in der mindestens eine Datei geladen wurde.
Ein Ziel zählt Sitzungen, nicht Klicks. Die Conversion-Rate ist der Anteil der Sitzungen mit erreichtem Ziel an allen Sitzungen des Zeitraums. Wer in einem Besuch mehrere Dateien lädt, geht als eine Sitzung ein. Wie viele Unterlagen mitgenommen wurden, zeigt weiterhin die Karte Datei-Downloads.
Für ein bestimmtes Dokument reicht file_download als Ziel nicht, denn das Ereignisziel vergleicht nur den Namen des Ereignisses, nicht die Datei. Hier hilft das Attribut aus dem vorigen Abschnitt: Das Datenblatt der wichtigsten Produktlinie bekommt ein eigenes Ereignis, etwa datenblatt_premium, und dieses Ereignis wird als Ziel angelegt. Für ausgehende Links gilt dasselbe. outbound als Ziel greift bei jedem Wechsel nach außen, ein eigener Ereignisname am Link zum Händlerportal nur bei genau diesem einen Übergang.
Klicks auf mailto:- und tel:-Links ordnet XICTRAQ® bei der Auswertung zusätzlich als Kontaktaufnahmen ein, getrennt nach Telefon, E-Mail, WhatsApp und SMS. Gewöhnliche ausgehende Klicks zählen dort nicht als Lead. Wie Bestellungen und Umsätze ohne fremde Skripte in dieselbe Auswertung kommen, zeigt der Beitrag Conversion-Tracking ohne Drittanbieter-Scripts einrichten.
Ein Ereignisziel auf file_download zeigt, wie viele Sitzungen überhaupt zu einer Datei finden. Ein eigenes Ereignis am wichtigsten Dokument zeigt, ob genau dieses Dokument gefragt ist. Beide zusammen trennen das allgemeine Interesse an Unterlagen vom Interesse an einem bestimmten Produkt.
Auswerten: welche Datei, welcher Händler, welche Seite
In der Analytics-Übersicht stehen dafür zwei Karten bereit, Datei-Downloads und Ausgehende Links. Beide lassen sich auf einen Zeitraum und eine Zahl von Zeilen einstellen; die Download-Karte sortiert wahlweise nach Downloads, nach Besuchern oder nach Dateinamen. Die Karten sind ab dem Starter-Plan verfügbar, die Tarife stehen auf der Preisseite. Jedes Ereignis wird außerdem mit dem Pfad der Seite gespeichert, auf der geklickt wurde.
Welche Seiten ein Besucher vor dem Download gesehen hat, ist eine Frage der Pfade, nicht der einzelnen Klicks. Wie sich Übergänge zwischen Seiten auswerten lassen, beschreibt der Beitrag Nutzerpfade auswerten: Wo Besucher die Spur verlassen. Für die Karten selbst hilft eine Lesehilfe:
| Beobachtung | Mögliche Ursache | Nächster Schritt |
|---|---|---|
| Viele Downloads, wenige Besucher | wiederholte Abrufe durch dieselben Personen, etwa Händler oder eigene Mitarbeitende | nach Besuchern statt nach Downloads sortieren |
| Datenblatt verlinkt, aber kein Download | Link schwer zu finden, falsche Datei oder Datei auf einem fremden Host | Host prüfen, Link sichtbarer platzieren |
| Hohe Ausstiegsrate auf der Produktseite | Besucher gehen zum Datenblatt oder zum Händler | Ausstiege mit Downloads und ausgehenden Klicks abgleichen |
| Viele Klicks zu einem Marktplatz | Besucher kaufen lieber dort als beim Händler oder im eigenen Shop | Verweis und Angebot auf der Seite prüfen |
| Kontaktklicks steigen, Anfragen nicht | ein Klick zeigt Absicht, nicht Abschluss | Eingang von Anrufen und E-Mails gegenzählen |
Ausgehende Links tragen die vollständige Zieladresse samt Abfrageteil. Wer Händler mit Kampagnenparametern verlinkt, sieht deshalb je Parameterkombination eine eigene Zeile; wie sich Parameter einheitlich halten lassen, beschreibt der Beitrag UTM-Parameter: Kampagnen sauber messbar auszeichnen. Bei Downloads gibt es diese Aufspaltung nicht: Eine neue Fassung desselben Datenblatts mit angehängtem ?v= landet in derselben Zeile wie die alte.
Datenschutz: messen, ohne im Browser zu speichern
Für die Klickmessung braucht der Tracker weder ein Cookie noch eine Kennung im Browser. Die Reichweitenmessung von XICTRAQ® setzt keine Cookies und legt nichts im Speicher des Browsers ab; Sitzungen werden über eine pseudonyme Tageskennung unterschieden. Genau an dieser Stelle setzt § 25 TDDDG an: Die Speicherung von Informationen in der Endeinrichtung des Nutzers und der Zugriff auf dort bereits gespeicherte Informationen sind grundsätzlich nur mit Einwilligung zulässig (TDDDG).
Ob eine Messung insgesamt ohne Einwilligung auskommt, entscheidet aber nicht das Fehlen eines Cookies allein, sondern ihre Gestaltung im Einzelfall. Was der Unterschied zwischen anonymen und pseudonymen Daten dabei bedeutet, ordnet der Beitrag Anonym oder pseudonym? Webanalyse nach den EDPB-Leitlinien ein. Die Grundlagen stehen in Cookieless Tracking: Wie Analytics ohne Consent-Banner funktioniert.
Für Downloads und ausgehende Links kommt eine praktische Regel hinzu: Was in der Linkadresse steht, landet in der Statistik. Bei Dateien ist das nur der Pfad, bei ausgehenden Links die ganze Adresse. Ein Link zum Händlerportal mit Kundennummer, Name oder Sitzungskennung im Abfrageteil schreibt diese Werte in die Auswertung. Solche Angaben gehören nicht in Links, die Besucher anklicken. Eine Suche im Quelltext nach Parametern wie id=, user= oder email= in externen Links findet sie vor dem Start.
Einführung Schritt für Schritt
- Snippet einbinden: Das Standard-Snippet genügt, Downloads und ausgehende Links erfasst es ohne Zusatzcode.
- Links inventarisieren: Welche Dateien sind verlinkt, mit welcher Endung, auf welchem Host? Dateien auf einem CDN oder einer Subdomain gesondert notieren.
- Lücken schließen: Für Endungen außerhalb der Liste und für Dateien ohne Link ein eigenes Ereignis vorsehen, aber nicht zusätzlich an einem Link, der schon automatisch zählt.
- Ziele anlegen:
file_downloadals allgemeines Zwischenziel, eigene Ereignisse für einzelne Dokumente oder Händlerportale, dazu ein Seitenziel für die Dankeseite des Anfrageformulars. - Gegenprobe machen: Einen Download und einen Händlerlink im gewöhnlichen Browser selbst anklicken und in der Auswertung wiederfinden. Automatisierte Testbrowser meldet der Tracker bewusst nicht, ein Test mit einem solchen Werkzeug bleibt deshalb leer.
- Messregeln festhalten: Notieren, welche Zahl was zählt, damit Downloads, eigene Ereignisse und Kontaktaufnahmen nicht addiert werden.
Wer die Auswertung zuerst ansehen möchte, findet die Analytics-Übersicht mit Beispieldaten in der Live-Demo. Eigene Ereignisse und das Attribut beschreibt das Handbuch zur JS-Tracker-API im Einzelnen.
Unterlagen und Weiterleitungen als Vertriebssignal nutzen
Downloads und ausgehende Links sind auf vielen Websites die Stellen, an denen aus einem Besuch ein Vorgang wird: Ein Datenblatt landet in einer Ausschreibung, eine Preisliste in einer Kalkulation, ein Händlerlink in einer Bestellung. Wer diese Klicks misst, sieht, welche Unterlagen gebraucht werden, welche Seiten zu ihnen führen und welche Partner Besucher bekommen. Mit Cookieless Analytics von XICTRAQ® geschieht das ohne Cookie und ohne Speicher im Browser, gehostet in der EU. Welcher Tarif passt, zeigt die Preisseite, wie die Karten im Dashboard aussehen, die Live-Demo.
Dieser Beitrag stützt sich auf: MDN Web Docs, Seiten „Navigator: sendBeacon() method“, „RequestInit“, „Element: click event“, „Element: auxclick event“, „HTML anchor element“ und „URL: createObjectURL() static method“; WHATWG, Fetch Standard, Abschnitt HTTP-network-or-cache fetch; WHATWG, HTML Standard, Abschnitt Links; RFC 6266 zum Header Content-Disposition; Google Search Central, „File types indexable by Google“; Telekommunikation-Digitale-Dienste-Datenschutz-Gesetz (TDDDG), § 25. Die Angaben zum XICTRAQ®-Tracker beschreiben dessen Fassung zum Erscheinungstermin. Der Beitrag ersetzt keine Rechtsberatung.