Start · Sprachen · JavaScript · Referenz · HTMLScriptElement.attributionSrc

HTMLScriptElement.attributionSrc

Eigenschaft

Liest und setzt das <code>attributionsrc</code>-Attribut eines <code>&lt;script&gt;</code>-Elements, damit beim Laden des Skripts eine Attributionsquelle oder ein Trigger der Attribution Reporting API registriert werden kann.

seit JavaScript Experimentell: nur Chromium-Browser (Chrome/Edge 1 deprecated seit ja Kategorie: webapi

Signatur

HTMLScriptElement.attributionSrc

Beschreibung

Die Eigenschaft attributionSrc gibt den Wert des HTML-Attributs attributionsrc eines <script>-Elements wieder und kann ihn auch setzen. Sie gehört zur Attribution Reporting API. Mit dieser API lassen sich Konversionen messen, zum Beispiel „Anzeige gesehen → später gekauft“, ohne dass dafür Drittanbieter-Cookies nötig sind.

Ist das Attribut gesetzt, schickt der Browser beim Laden des Skripts den Anfrage-Header Attribution-Reporting-Eligible mit. Der Server kann dann mit Attribution-Reporting-Register-Source eine Attributionsquelle registrieren oder mit Attribution-Reporting-Register-Trigger einen Attributions-Trigger. Der Browser gleicht beide später ab und sendet verzögert Berichte, die den Datenschutz wahren.

  • Leerer String (""): Die Registrierung läuft über dieselbe Anfrage wie das Skript. Der Server hinter src antwortet also mit den Registrierungs-Headern.
  • Eine oder mehrere URLs, durch Leerzeichen getrennt: Der Browser schickt an jede URL zusätzlich eine eigene keepalive-Anfrage mit dem Eligible-Header. So kann ein anderer Server die Registrierung übernehmen, etwa ein Ad-Tech-Anbieter, wenn das Skript von einem CDN kommt.

Die Eigenschaft ist sinnvoll, wenn man Skript-Tags dynamisch erzeugt, zum Beispiel Tracking- oder Conversion-Tags, die ein Tag-Manager nachlädt. Wichtig: attributionSrc muss gesetzt sein, bevor src zugewiesen und das Element eingefügt wird. Sonst ist die Anfrage schon ohne den Header unterwegs.

Parameter

Name Typ Default Beschreibung
$value string Nur beim Setzen: "" für eine Registrierung über die Skript-Anfrage selbst, oder eine durch Leerzeichen getrennte Liste von URLs, an die separate Registrierungsanfragen gehen.

Rückgabewert

Typ
string
Beschreibung
Der aktuelle Wert des Attributs attributionsrc. Fehlt das Attribut, ist es ein leerer String. Bei URLs wird der Wert so zurückgegeben, wie er im Attribut steht.

Beispiele

Conversion-Skript dynamisch laden (Registrierung über die Skript-Anfrage)

// Auf der Bestellbestätigungsseite einen Trigger registrieren
const script = document.createElement("script");

// Zuerst attributionSrc setzen, danach src!
script.attributionSrc = "";
script.src = "https://shop.example/js/conversion.js";

document.body.append(script);
console.log(script.hasAttribute("attributionsrc"));
true

Registrierung an separate Endpunkte delegieren

const script = document.createElement("script");

// Zwei Ad-Tech-Server sollen registrieren – durch Leerzeichen getrennt
const endpoints = [
  "https://adtech-a.example/register-trigger?order=4711",
  "https://adtech-b.example/register-trigger?order=4711"
];
script.attributionSrc = endpoints.join(" ");
script.src = "https://cdn.example/lib/checkout.js";

document.head.append(script);
console.log(script.attributionSrc.split(" ").length);
2

Feature-Erkennung und Wert eines statischen Tags auslesen

// HTML: <script id="ad" src="https://ads.example/tag.js" attributionsrc></script>
const supported = "attributionSrc" in HTMLScriptElement.prototype &&
  document.featurePolicy?.allowsFeature?.("attribution-reporting") !== false;

const tag = document.getElementById("ad");
if (supported && tag) {
  console.log(`attributionsrc: "${tag.attributionSrc}"`);
} else {
  console.log("Attribution Reporting wird nicht unterstützt");
}
attributionsrc: "" // bzw. in Firefox/Safari: Attribution Reporting wird nicht unterstützt

// Wichtig · Fallstricke

  • Browser-Kompatibilität: Experimentell und nur in Chromium-Browsern verfügbar (Chrome, Edge). Firefox und Safari unterstützen die Eigenschaft nicht. Google hat angekündigt, die Attribution Reporting API zusammen mit anderen Privacy-Sandbox-Technologien auslaufen zu lassen. Nicht ohne Fallback in Produktion verwenden, immer vorher per Feature-Erkennung prüfen.
  • Reihenfolge: Wird attributionSrc erst nach src gesetzt oder nachdem das Element im DOM ist, fehlt der Header Attribution-Reporting-Eligible. Die Registrierung findet dann nicht statt.
  • Voraussetzungen: Die Seite muss in einem sicheren Kontext laufen (HTTPS). Die Permissions-Policy attribution-reporting darf das Feature nicht blockieren, was besonders in iframes wichtig ist. Die Registrierungs-Endpunkte müssen ebenfalls HTTPS verwenden.
  • Kein Fehler bei Fehlschlag: Scheitert die Registrierung, etwa wegen falscher Header oder fehlender Unterstützung, wirft die Eigenschaft keinen Fehler. Das Skript wird trotzdem ganz normal geladen und ausgeführt.
  • Datenschutz: Berichte kommen absichtlich verzögert und mit Rauschen an. Für Echtzeit-Analysen sind sie nicht geeignet.