Was Aggregationsschlüssel sind, wie sie in der Attribution Reporting API verwendet werden und wie Sie Zielvorhaben in Schlüssel umwandeln.
Als Anbieter von Anzeigentechnologien, der Kampagnen an verschiedenen Standorten für verschiedene Produktkategorien durchführt, möchten Sie Werbetreibenden helfen, die folgenden Fragen zu beantworten:
- Wie viele Käufe aus jeder Produktkategorie wurden mit meinen Kampagnen in den einzelnen Regionen erzielt?
- Wie viel Umsatz wurde mit jeder meiner Kampagnen in jeder geografischen Region in den einzelnen Produktkategorien erzielt?
Viele Anbieter von Anzeigentechnologien empfehlen Werbetreibenden, eine Vielzahl von Conversion-Typen zu konfigurieren. Wenn Sie sich jedoch auf die wichtigsten Conversions wie Käufe konzentrieren, können Sie dafür sorgen, dass die Zusammenfassungsergebnisse für diese wichtigen Ereignisse detailliert und genau sind.
Dazu müssen Sie sich überlegen, welche Fragen Sie beantworten möchten, bevor Daten erhoben werden.
Dimensionen, Schlüssel und Werte
Um diese Fragen zu beantworten, sehen wir uns Dimensionen, Schlüssel und Werte an.
Dimensionen
Wenn Sie wissen möchten, wie Sie mit Ihren Kampagnen Umsatz erzielen, sollten Sie die folgenden Dimensionen erfassen:
- Kampagnen-ID: Die Kennung der jeweiligen Kampagne.
- Geografische ID: Die Region, in der die Anzeige ausgeliefert wurde.
- Produktkategorie: Die von Ihnen definierte Produktart.
Die Dimensionen „Kampagnen-ID“ und „Geografische ID“ sind zum Zeitpunkt der Anzeigenbereitstellung bekannt (Zeit der Anzeigenbereitstellung). Die Produktkategorie wird aus einem Triggerereignis ermittelt, wenn der Nutzer eine Conversion ausführt (Conversion-Zeit).
Die Dimensionen, die Sie in diesem Beispiel erfassen möchten, sind in der folgenden Abbildung dargestellt:

Was sind Aggregationsschlüssel (Buckets)?
Die Begriffe „Aggregationsschlüssel“ und „Bucket“ beziehen sich auf dasselbe. Der Aggregationsschlüssel wird in den Browser-APIs verwendet, mit denen Berichte konfiguriert werden. Der Begriff Bucket wird in den aggregierten und Zusammenfassungsberichten sowie in den APIs für Aggregationsdienste verwendet.
Ein Aggregationsschlüssel (kurz: Schlüssel) ist ein Datenelement, das die Werte der erfassten Dimensionen darstellt. Die Daten werden später nach jedem Aggregationsschlüssel zusammengefasst.
Angenommen, Sie erfassen die Dimensionen „Produktkategorie“, „Geografische ID“ und „Kampagnen-ID“.
Wenn ein Nutzer mit der Standort-ID 7 eine Anzeige für die Kampagnen-ID 12 sieht und später ein Produkt aus der Produktkategorie 25 kauft, können Sie einen Aggregationsschlüssel wie in der Abbildung unten festlegen:

Wie Sie später sehen werden, sieht ein Aggregationsschlüssel in der Praxis nicht genau so aus. Konzentrieren wir uns aber erst einmal auf die Informationen im Schlüssel.
Was sind aggregierbare Werte?
Um Ihre Fragen zu den beschriebenen Dimensionen zu beantworten, sollten Sie Folgendes wissen:
- Die Anzahl der Käufe (die Kaufanzahl). Nach der Zusammenfassung und Verfügbarkeit in einem Zusammenfassungsbericht entspricht dieser Wert der Anzahl der Käufe insgesamt (Zusammenfassungswert).
- Der Umsatz aus jedem Kauf (Kaufwert). Nach der Zusammenfassung und Verfügbarkeit in einem Zusammenfassungsbericht entspricht dieser Wert dem Gesamtumsatz (Zusammenfassungswert).
Sowohl die Anzahl der Käufe als auch der Wert der Käufe für eine Conversion sind aggregierbare Werte. Aggregierbare Werte sind die Werte Ihrer Analyseziele.
Frage | Aggregierbarer Wert = Zielvorhaben der Messung |
---|---|
Wie viele Käufe… | Anzahl der Käufe |
Wie viel Umsatz… | Kaufwert |
Wenn ein Nutzer mit der geografischen ID 7 eine Anzeige für Kampagnen-ID 12 sieht und später eine Conversion ausführt, indem er ein Produkt aus Produktkategorie 25 für 120 $kauft (vorausgesetzt, Ihre Währung ist USD), können Sie einen Aggregationsschlüssel und aggregierbare Werte wie die folgenden festlegen:

Aggregierbare Werte werden pro Schlüssel für viele Nutzer summiert, um aggregierte Statistiken in Form von Zusammenfassungswerten in Zusammenfassungsberichten zu generieren.

Aggregierbare Werte werden addiert, um aggregierte Statistiken für Ihre Analyseziele zu generieren.
Hinweis: In diesem Diagramm wird die Entschlüsselung nicht berücksichtigt. Es ist ein vereinfachtes Beispiel ohne Rauschen. Im nächsten Abschnitt sehen wir uns dieses Beispiel mit Rauschen an.
Von Schlüsseln und Werten zu Berichten
Sehen wir uns nun an, wie sich aggregierbare Schlüssel und Werte auf Berichte auswirken.
Aggregierbare Berichte
Wenn ein Nutzer auf eine Anzeige klickt oder sie sich ansieht und später eine Conversion ausführt, weisen Sie den Browser an, ein Paar vom Typ {Aggregationsschlüssel, aggregierbarer Wert} zu speichern.
In unserem Beispiel wird der Browser angewiesen, zwei Beiträge zu generieren (jeweils einen pro Analyseziel), wenn ein Nutzer auf eine Anzeige klickt oder sie sich ansieht und später eine Conversion ausführt.

Wie Sie später sehen werden, sieht ein Bericht vom Typ „{Aggregationsschlüssel, aggregierbarer Wert}“ nicht genau so aus. Konzentrieren wir uns aber erst einmal auf die Informationen im Bericht.
Wenn Sie den Browser anweisen, zwei Beiträge zu generieren, generiert er einen aggregierbaren Bericht, sofern die Conversion mit einem vorherigen Aufruf oder Klick abgeglichen werden kann.
Ein Bericht, der aggregiert werden kann, enthält:
- Die von Ihnen konfigurierten Beiträge.
- Metadaten zum Klick- oder Aufrufereignis und zum Conversion-Ereignis, z. B. die Website, auf der die Conversion stattgefunden hat. Alle Felder in einem aggregierbaren Bericht ansehen

Aggregierbare Berichte sind im JSON-Format und enthalten unter anderem ein Nutzlastfeld, das als Dateneingabe für den endgültigen Zusammenfassungsbericht verwendet wird.
Die Payload enthält eine Liste von Beiträgen, die jeweils ein Paar {Aggregationsschlüssel, aggregierbarer Wert} sind:
bucket
: der Aggregationsschlüssel, codiert als Bytestring.value
: Der aggregierbare Wert für dieses Analyseziel, codiert als Bytestring.
Beispiel:
{
"data": [
{
"bucket": "111001001",
"value": "11111010000",
}
],
"operation": "histogram"
}
In der Praxis werden aggregierbare Berichte so codiert, dass sich die Bucket und Werte von denen im vorherigen Beispiel unterscheiden. Ein Bucket kann also beispielsweise \u0000\u0000\x80\u0000
lauten. Bucket und Wert sind beide Bytestrings.
Zusammenfassende Berichte
Aggregierbare Berichte werden folgendermaßen über viele Browser und Geräte (Nutzer) hinweg zusammengefasst:
- Eine AdTech-Plattform fordert Zusammenfassungsberichte für eine bestimmte Gruppe von Schlüsseln und eine bestimmte Gruppe von aggregierbaren Berichten an, die aus vielen verschiedenen Browsern (Nutzern) stammen.
- Aggregierbare Berichte werden vom Aggregationsdienst entschlüsselt.
- Für jeden Schlüssel werden die aggregierbaren Werte aus den entsprechenden Berichten addiert.
- Dem Summenwert wird Rauschen hinzugefügt.

Das Ergebnis ist ein Zusammenfassungsbericht, der eine Reihe von Paaren vom Typ {Aggregationsschlüssel, Zusammenfassungswert} enthält.
Ein Zusammenfassungsbericht enthält eine Reihe von Schlüssel/Wert-Paaren im JSON-Wörterbuchstil. Jedes Paar enthält:
bucket
: der Aggregationsschlüssel, codiert als Bytestring.value
: Der zusammengefasste Wert in Dezimalform für ein bestimmtes Analyseziel, der aus allen verfügbaren aggregierbaren Berichten ermittelt wird, mit zusätzlichem Rauschen.
Beispiel:
[
{"bucket": "111001001", "value": "2558500"},
{"bucket": "111101001", "value": "3256211"},
{...}
]
In der Praxis werden Zusammenfassungsberichte so codiert, dass sich Buckets und Werte von den im Beispiel angegebenen unterscheiden. Ein Bucket kann also beispielsweise \u0000\u0000\x80\u0000
lauten. Bucket und Wert sind beide Bytestrings.
Aggregationsschlüssel in der Praxis
Aggregationsschlüssel (Buckets) werden von einem Anbieter von Anzeigentechnologien definiert, in der Regel in zwei Schritten: wenn auf eine Anzeige geklickt oder sie angesehen wird und wenn ein Nutzer eine Conversion ausführt.
Schlüsselstruktur
Mit dem Begriff Schlüsselstruktur bezeichnen wir die in einem Schlüssel codierten Dimensionen.
Ein Beispiel für eine wichtige Struktur ist „Kampagnen-ID × Standort-ID × Produktkategorie“.

Schlüsseltypen
Aggregierbare Werte werden für einen bestimmten Schlüssel für mehrere Nutzer/Browser summiert. Wir haben jedoch festgestellt, dass mit aggregierten Werten unterschiedliche Analyseziele erfasst werden können, z. B. der Wert oder die Anzahl der Käufe. Sie möchten dafür sorgen, dass der Aggregationsdienst aggregierbare Werte desselben Typs addiert.
Dazu müssen Sie in jedem Schlüssel einen Datensatz codieren, der angibt, was der zusammengefasste Wert darstellt – das Messziel, auf das sich dieser Schlüssel bezieht. Eine Möglichkeit dazu besteht darin, eine zusätzliche Dimension für den Schlüssel zu erstellen, die den Messzieltyp darstellt.
In unserem Beispiel hat dieser Messvorhabentyp zwei mögliche Werte:
- Kaufmenge ist der erste Messvorhabentyp.
- Kaufwert ist der zweite Messvorhabentyp.

Wenn Sie n Messziele haben, hat der Messzieltyp n verschiedene Wertetypen.
Sie können sich die Dimensionen eines Schlüssels als Messwert vorstellen. Beispiel: „Anzahl der Käufe eines bestimmten Produkts pro Kampagne und Region“.
Schlüsselgröße, Dimensionsgröße
Die maximale Schlüsselgröße wird in Bits definiert, also in der Anzahl der Nullen und Einsen im Binärformat, die zum Erstellen des vollständigen Schlüssels erforderlich sind. Die API erlaubt eine Schlüssellänge von 128 Bit.
Diese Größe ermöglicht sehr detaillierte Schlüssel. Je detaillierter die Schlüssel sind, desto wahrscheinlicher ist es jedoch, dass die Werte mehr Rauschen enthalten. Weitere Informationen zu Rauschen finden Sie unter Rauschen verstehen.
Wie bereits erwähnt, werden Dimensionen in den Aggregationsschlüssel codiert. Jede Dimension hat eine bestimmte Kardinalität, d. h. die Anzahl der eindeutigen Werte, die die Dimension annehmen kann. Je nach Kardinalität muss jede Dimension durch eine bestimmte Anzahl von Bits dargestellt werden. Mit n Bits können 2n verschiedene Optionen ausgedrückt werden.
Die Kardinalität einer Länderdimension kann beispielsweise 200 betragen, da es etwa 200 Länder auf der Welt gibt. Wie viele Bits sind zum Codieren dieser Dimension erforderlich?
Mit 7 Bit können nur 27 = 128 verschiedene Optionen gespeichert werden, was weniger als die erforderlichen 200 ist.
Mit 8 Bits können 28 = 256 verschiedene Optionen gespeichert werden, was mehr als die erforderlichen 200 ist. Sie können also n=8 Bits verwenden, um diese Dimension zu codieren.
Schlüsselcodierung
Wenn Sie Schlüssel im Browser festlegen, sollten sie im Hexadezimalformat codiert sein. In Zusammenfassungsberichten werden Schlüssel im Binärformat angezeigt und als Buckets bezeichnet.
Zwei Schlüsselteile für einen vollständigen Schlüssel festlegen
Angenommen, Sie verwenden einen Schlüssel, um die folgenden Dimensionen zu erfassen:
- Kampagnen-ID
- Geografische ID
- Produktkategorie
Die Dimensionen „Kampagnen-ID“ und „Geografische ID“ sind zum Zeitpunkt der Anzeigenauslieferung bekannt (Zeit der Anzeigenauslieferung). Die Produktkategorie wird aus einem Triggerereignis ermittelt, wenn der Nutzer eine Conversion ausführt (Conversion-Zeit).
In der Praxis bedeutet das, dass Sie einen Schlüssel in zwei Schritten festlegen:
- Sie legen einen Teil des Schlüssels – Kampagnen-ID × Geografie-ID – beim Klicken oder Aufrufen fest.
- Den zweiten Teil des Schlüssels – „Produktkategorie“ – legen Sie zum Zeitpunkt der Conversion fest.
Diese verschiedenen Teile der Schlüssel werden als Schlüsselteile bezeichnet.
Ein Schlüssel wird durch OR (v
) seiner Schlüsselteile berechnet.

Beispiel:
- Quellseitiger Schlüssel =
0x159
- Schlüsselteil auf der Triggerseite =
0x400
- Schlüssel =
0x159 v 0x400 = 0x559
Wichtige Elemente ausrichten
Wenn zwei 64‑Bit-Schlüsselteile mithilfe sorgfältig platzierter 64‑Bit-Füller/Offset (die 16 Nullen) auf 128 Bit erweitert werden, entspricht das OR-Verknüpfen der Schlüsselteile dem Zusammenführen der Schlüsselteile, was einfacher zu begründen und zu überprüfen ist:
- Quellseitiger Schlüssel =
0xa7e297e7c8c8d0540000000000000000
- Schlüsselteil auf der Triggerseite =
0x0000000000000000674fbe308a597271
- Schlüssel =
0xa7e297e7c8c8d0540000000000000000 v 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271
Mehrere Schlüssel pro Anzeigenklick oder -aufruf
In der Praxis können Sie pro Attributionsquellenereignis (Anzeigenklick oder -aufruf) mehrere Schlüssel festlegen. Sie können beispielsweise Folgendes festlegen:
- Ein Schlüssel, mit dem die Kombination aus Standort-ID und Kampagnen-ID erfasst wird.
- Ein weiterer Schlüssel, mit dem der Creative-Typ und die Kampagnen-ID erfasst werden.
Sehen Sie sich Strategie B als Beispiel an.
Dimensionen in Schlüssel codieren
Wenn Sie Zusammenfassungsberichte anfordern, müssen Sie dem Aggregationsdienst mitteilen, auf welche Messwerte Sie zugreifen möchten. Dazu müssen Sie Zusammenfassungsberichte für eine bestimmte Gruppe von Aggregationsschlüsseln anfordern.
Zusammenfassungsberichte enthalten nur Paare vom Typ {Schlüssel, Zusammenfassungswert} und keine zusätzlichen Informationen zum Schlüssel. Das bedeutet Folgendes:
- Wenn Sie Schlüssel festlegen, während sich ein Nutzer eine Anzeige ansieht oder auf eine Anzeige klickt und später eine Conversion ausführt, müssen Sie die Schlüssel zuverlässig anhand der Werte der Dimensionen festlegen, die sie repräsentieren.
- Wenn Sie die Schlüssel definieren, für die Sie Zusammenfassungsberichte anfordern möchten, müssen Sie zuverlässig dieselben Schlüssel generieren oder dynamisch darauf zugreifen, die festgelegt wurden, als der Nutzer eine Anzeige aufgerufen oder angeklickt und eine Conversion ausgeführt hat. Dabei müssen Sie sich an den Werten der Dimensionen orientieren, für die Sie aggregierte Daten sehen möchten.
Dimensionen mithilfe von Schlüsselstrukturkarten codieren
Wenn Sie Dimensionen in Schlüssel codieren möchten, können Sie eine Schlüsselstrukturkarte im Voraus erstellen und verwalten, wenn Sie Ihre Schlüssel definieren (vor dem Anzeigenbereitstellen).
Eine Schlüsselstrukturkarte stellt jede Ihrer Dimensionen und ihre Position im Schlüssel dar.
In der Praxis bedeutet das Erstellen und Pflegen von Schlüsselstrukturkarten, dass Sie Dekodierungslogik implementieren und pflegen müssen. Wenn Sie nach einer Methode suchen, bei der Sie das nicht tun müssen, sollten Sie stattdessen einen hashbasierten Ansatz verwenden.
Beispiel:
Angenommen, Sie möchten sowohl Käufe als auch Kaufwerte für bestimmte Kampagnen, Regionen und Produkte erfassen.
Die Produktkategorie, die geografische ID und die Kampagnen-ID müssen Dimensionen in Ihren Schlüsseln sein. Da Sie zwei unterschiedliche Analyseziele erfassen möchten (Kaufmenge und Kaufwert), müssen Sie dem Schlüssel außerdem eine Dimension hinzufügen, mit der der Schlüsseltyp erfasst wird. So können Sie festlegen, was der aggregierbare Wert tatsächlich darstellt, wenn Sie {Schlüssel, aggregierbarer Wert}-Paare in Zusammenfassungsberichten erhalten.
Bei diesen Analysezielen hat Ihr Schlüssel die folgenden Dimensionen:
- Produktkategorie
- Typ des Zielvorhabens der Messung
- Geografische ID
- Kampagnen-ID
Sehen wir uns nun die einzelnen Dimensionen an. Angenommen, Sie müssen für Ihren Anwendungsfall Folgendes erfassen:
- 29 verschiedene Produktkategorien.
- 8 verschiedene Regionen: Nordamerika, Mittelamerika, Südamerika, Europa, Afrika, Asien, Karibik und Ozeanien.
- 16 verschiedene Kampagnen.
Hier ist die Anzahl der Bits, die Sie zum Codieren jeder Dimension in Ihrem Schlüssel benötigen:
- Produktkategorie: 5 Bit (25 = 32 > 29)
- Typ des Zielvorhabens der Messung: 1 Bit. Das Analyseziel ist entweder die Anzahl der Käufe oder der Wert der Käufe. Das sind zwei verschiedene Möglichkeiten. Daher reicht ein Bit aus, um dies zu speichern.
Geografische ID: 3 Bit (23 = 8) Sie definieren auch eine Dimensionszuordnung für die geografische ID, um zu wissen, welche geografische Region die einzelnen Binärwerte repräsentieren. Die Dimensionszuordnung für die geografische ID-Dimension könnte so aussehen:
Binärer Wert im Schlüssel Geografie 000 Nordamerika 001 Mittelamerika 010 Südamerika 011 Europa 100 Afrika 101 Asien 110 Karibik 111 Ozeanien Kampagnen-ID: 4 Bit (24 = 16)
Schlüssel mit dieser Struktur wären 13 Bit lang (5 + 1 + 3 + 4).
In diesem Beispiel würde die Schlüsselstrukturkarte für diese Schlüssel so aussehen:

Die Reihenfolge der Dimensionen innerhalb des Schlüssels liegt bei Ihnen.
Um zu veranschaulichen, wie sich Dimensionen zu einem Schlüssel zusammensetzen, verwenden wir eine Binärdarstellung. Die Kampagnen-ID (erste Bits) ist daher die äußerste rechts und die Produktkategorie (letzte Bits) die äußerste links.
Innerhalb jeder Dimension ist das Bit mit dem größten numerischen Wert das Bit ganz links. Das Bit mit dem kleinsten numerischen Wert ist das Bit ganz rechts.
Sehen wir uns an, wie Sie mit einer Schlüsselstrukturkarte einen Schlüssel decodieren.
Nehmen wir 0b1100100111100 als beliebigen Beispielschlüssel an und nehmen wir an, Sie wissen, dass dieser Schlüssel der Schlüsselstrukturkarte in der vorherigen Abbildung entspricht.
Gemäß der Schlüsselstrukturkarte würde dieser Schlüssel in folgende Zeichenfolge decodiert:
`11001 0 011 1100`
Der Schlüssel „0b1100100111100“ steht also für die Anzahl der Käufe der Produktkategorie 25 für die Kampagnen-ID 12, die in Europa gestartet wurde.
Dimensionen mit einer Hash-Funktion codieren
Anstatt eine Schlüsselstrukturzuordnung zu verwenden, können Sie eine Hash-Funktion verwenden, um Schlüssel dynamisch, konsistent und zuverlässig zu generieren.
Das funktioniert so:
- Wählen Sie einen Hash-Algorithmus aus.
- Erstellen Sie zum Zeitpunkt der Anzeigenbereitstellung einen String, der alle zu erfassenden Dimensionen und ihre Werte enthält. Um das Quellschlüsselelement zu generieren, hashen Sie diesen String und fügen Sie gegebenenfalls ein 64-Bit-Suffix mit Nullen hinzu, um es mit dem triggerseitigen Schlüsselelement auszurichten und die OR-Bedingung leichter verständlich zu machen.
- Quellseitiger Schlüssel
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- Beachten Sie, dass
COUNT
im Ansatz der Schlüsselstrukturkarte dasselbe codiert wiemeasurementGoalType=0
.COUNT
ist etwas schlanker und expliziter.
- Quellseitiger Schlüssel
- Erstellen Sie zum Zeitpunkt der Conversion einen String, der alle zu erfassenden Dimensionen und ihre Werte enthält. Um einen triggerseitigen Schlüsselteil zu generieren, hashieren Sie diesen String und fügen Sie ein 64-Bit-Präfix aus Nullen hinzu:
- Schlüsselteil auf der Triggerseite
=
<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- Schlüsselteil auf der Triggerseite
=
- Der Browser führt eine OR-Verknüpfung dieser Schlüsselteile aus, um einen Schlüssel zu generieren.
- 128-Bit-Aggregationsschlüssel
=<64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
- 128-Bit-Aggregationsschlüssel
- Wenn Sie später einen Zusammenfassungsbericht für diesen Schlüssel anfordern möchten, können Sie ihn direkt erstellen:
- Erstellen Sie wie zuvor ein Schlüsselelement auf Quell- und Triggerseite, basierend auf den gewünschten Dimensionen.
- Quellseitiger Schlüssel
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- Schlüsselteil auf der Triggerseite
=<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- Schlüsselteil auf der Triggerseite =
toHex(hash("productCategory=25"))
- Quellseitiger Schlüssel
- Genau wie der Browser können diese Schlüsselteile verwendet werden, um denselben Schlüssel zu generieren, den der Browser zuvor generiert hat.
- 128-Bit-Aggregationsschlüssel
=<64-bit source-side key piece hash><64-bit source-side key piece hash>
- 128-Bit-Aggregationsschlüssel
- Erstellen Sie wie zuvor ein Schlüsselelement auf Quell- und Triggerseite, basierend auf den gewünschten Dimensionen.
Hier einige praktische Tipps für den hashbasierten Ansatz:
- Verwenden Sie immer dieselbe Reihenfolge der Dimensionen. So können Ihre Hash-Werte zuverlässig neu generiert werden. (
"COUNT, CampaignID=12, GeoID=7"
generiert nicht denselben Hash wie"COUNT, GeoID=7, CampaignID=12"
). Eine einfache Möglichkeit, dies zu erreichen, besteht darin, Dimensionen alphanumerisch zu sortieren. Genau das tun wir auch im Beispiel, mit der Ausnahme, dass wir immerCOUNT
oderVALUE
als ersten Punkt in der Dimension angeben. Das ist eine Entscheidung aus Gründen der Lesbarkeit, daCOUNT
oderVALUE
Informationen codiert, die sich konzeptionell etwas von allen anderen Dimensionen unterscheiden. - Behalten Sie die Dimensionen im Blick, die Sie in Schlüsseln verwenden. Sie sollten keine Schlüssel basierend auf einer Reihe von Dimensionen generieren, die Sie noch nie verwendet haben.
- Hash-Kollisionen sind selten, wenn eine geeignete Hash-Funktion verwendet wird. Durch eine Prüfung anhand zuvor verwendeter Hashes (die zur Interpretation der Ergebnisse aus dem Aggregationsdienst gespeichert werden sollten) können Sie jedoch vermeiden, dass neue Schlüssel eingeführt werden, die mit älteren Schlüsseln kollidieren.
Im Beispiel Eine Conversion pro Klick oder Aufruf erfahren Sie, wie Sie hashbasierte Schlüssel in der Praxis verwenden.
Aggregierbare Werte in der Praxis
Das AdTech-Unternehmen legt aggregierbare Werte fest, wenn ein Nutzer eine Conversion ausführt.
Um die Privatsphäre der Nutzer zu schützen, gibt es ein Obergrenze für die Beiträge einzelner Nutzer. Bei allen aggregierten Werten, die mit einer einzelnen Quelle (Anzeigenklick oder -aufruf) verknüpft sind, darf kein Wert über einem bestimmten Beitragslimit liegen.
Dieses Limit wird als CONTRIBUTION_BUDGET
bezeichnet. In der Erläuterung wird dieses Limit als L1-Budget bezeichnet, entspricht aber dem CONTRIBUTION_BUDGET
.
Ausführliche Informationen zum Beitragsbudget finden Sie im Hilfeartikel Beitragsbudget für Zusammenfassungsberichte.
Beispiel: eine Conversion pro Klick oder Aufruf
Angenommen, Sie möchten die folgenden Fragen beantworten:
- Welche Produktkategorien sind in den einzelnen Regionen am wertvollsten?
- Welche Kampagnenstrategien sind in den einzelnen Regionen am effektivsten?
Angenommen, Sie benötigen für Ihren Anwendungsfall wöchentliche Statistiken.
Außerdem müssen Sie Folgendes im Blick behalten:
- 16 verschiedene Kampagnen.
- 8 verschiedene Regionen: Nordamerika, Mittelamerika, Südamerika, Europa, Afrika, Asien, Karibik und Ozeanien.
- 29 verschiedene Produktkategorien.
Geeignete Messwerte
Viele Anbieter von Anzeigentechnologien empfehlen Werbetreibenden, eine Vielzahl von Conversion-Typen zu konfigurieren. Wenn Sie sich jedoch auf die wichtigsten Conversions wie Käufe konzentrieren, können Sie dafür sorgen, dass die zusammengefassten Ergebnisse für diese wichtigen Conversion-Ereignisse detailliert und genau sind. Je mehr Messwerte Sie erfassen, desto kleiner ist das Beitragsbudget pro Messwert und desto unschärfer sind die einzelnen Werte. Daher müssen Sie sorgfältig auswählen, was Sie messen möchten.
In diesem Beispiel konzentrieren wir uns auf Kampagnen, bei denen nur eine Conversion pro Klick oder Aufruf gemessen wird: ein Kauf.
Sie können weiterhin sowohl die Anzahl der Käufe als auch den Kaufwert erfassen und auf eine Vielzahl wichtiger zusammengefasster Statistiken wie den Gesamtkaufwert und geografische Aufschlüsselungen zugreifen. So bleiben die Schwankungen im Rahmen und Sie können Ihr Beitragsbudget einfach skalieren.
Was ist mit Währungen?
Wenn Sie Kampagnen in verschiedenen Regionen schalten, sollten Sie die Währungen berücksichtigen. Sie haben folgende Möglichkeiten:
- Währung als eigene Dimension in den Aggregationsschlüsseln festlegen
- Sie können die Währung auch aus einer Kampagnen-ID ableiten und alle Währungen in eine Referenzwährung umrechnen.
In diesem Beispiel gehen wir davon aus, dass Sie die Währung aus einer Kampagnen-ID ableiten können. So können Sie jeden Kaufwert aus der Landeswährung des Nutzers in eine Referenzwährung Ihrer Wahl umrechnen. Sie können diese Conversion auch direkt ausführen, wenn der Nutzer einen Artikel kauft.
Bei dieser Methode sind alle aggregierbaren Werte in derselben Referenzwährung angegeben und können daher addiert werden, um einen aggregierten Gesamtkaufwert zu erhalten.
Zielvorhaben in Schlüssel umsetzen
Mit Ihren Analysezielen und Messwerten haben Sie eine Reihe von Optionen für Ihre Hauptstrategie. Konzentrieren wir uns auf zwei dieser Strategien:
- Strategie A: Eine detaillierte Schlüsselstruktur
- Strategie B: zwei grobe Schlüsselstrukturen
Strategie A: Ein tiefes Verzweigungsbaum-System (eine detaillierte Schlüsselstruktur)
Bei Strategie A verwenden Sie eine detaillierte Schlüsselstruktur, die alle erforderlichen Dimensionen enthält:

Diese Struktur wird für alle Ihre Schlüssel verwendet.
Sie teilen diese Schlüsselstruktur in zwei Schlüsseltypen auf, um zwei Analyseziele zu unterstützen.
- Schlüsseltyp 0: Messzielvorhabentyp = 0, den Sie als Anzahl der Käufe definieren.
- Schlüsseltyp 1: Messzielvorhabentyp = 1, den Sie als Kaufwert definieren.
Zusammenfassungsberichte sehen so aus:

Strategie A kann als „ein tiefes Baumdiagramm“ beschrieben werden:
- Jeder Zusammenfassungswert in Zusammenfassungsberichten ist allen Dimensionen zugeordnet, die Sie erfassen.
- Sie können diese zusammengefassten Werte mit jeder dieser Dimensionen zusammenfassen. Die Zusammenfassungen können also so detailliert sein wie die Anzahl der Dimensionen.
Bei Strategie A würden Sie Ihre Fragen so beantworten:
Frage | Antwort |
---|---|
Welche Produktkategorien sind in den einzelnen Regionen am wertvollsten? | Addieren Sie die Anzahl der Käufe und die Werte in den Zusammenfassungsberichten für alle Kampagnen. So erhalten Sie die Anzahl und den Wert der Käufe pro Geo-ID × Produktkategorie. Vergleichen Sie für jede Region den Kaufwert und die Anzahl der verschiedenen Produktkategorien. |
Welche Kampagnenstrategien sind in den einzelnen Regionen am effektivsten? | Addieren Sie die Anzahl der Käufe und die Werte in den Zusammenfassungsberichten für alle Produktkategorien. So erhalten Sie die Anzahl und den Wert der Käufe pro Kampagnen-ID × Standort-ID. Vergleichen Sie für jede Region den Kaufwert und die Anzahl der verschiedenen Kampagnen. |
Mit Strategie A können Sie auch diese dritte Frage direkt beantworten:
„Wie viel Umsatz hat jede meiner Kampagnen in jeder geografischen Region für jedes Produkt erzielt?“
Auch wenn die zusammengefassten Werte fehlerbehaftet sind, können Sie feststellen, ob Unterschiede zwischen den Werten der einzelnen Kampagnen nicht nur auf Fehler zurückzuführen sind. Wie das geht, erfahren Sie unter Rauschen verstehen.
Strategie B: zwei flache Bäume (zwei grobe Schlüsselstrukturen)
Bei Strategie B verwenden Sie zwei grobe Schlüsselstrukturen, die jeweils einen Teil der benötigten Dimensionen enthalten:

Sie teilen jede dieser wichtigen Strukturen in zwei Haupttypen auf, um zwei Analyseziele zu unterstützen.
- Messvorhabentyp = 0, den Sie als Anzahl der Käufe definieren.
- Messzielvorhabentyp = 1, den Sie als Kaufwert definieren möchten.
Sie erhalten vier Haupttypen:
- Schlüsseltyp I-0: Schlüsselstruktur I, Anzahl der Käufe.
- Schlüsseltyp I-1: Schlüsselstruktur I, Kaufwert.
- Schlüsseltyp II-0: Schlüsselstruktur II, Anzahl der Käufe.
- Schlüsseltyp II-1: Schlüsselstruktur II, Kaufwert.
Zusammenfassungsberichte sehen so aus:

Sie können sich Strategie B als Strategie mit zwei flachen Bäumen vorstellen:
- Die Zusammenfassungswerte in Zusammenfassungsberichten werden einem von zwei kleinen Dimensionssätzen zugeordnet.
- Sie können diese Summenwerte zusammen mit jeder Dimension in diesen Sets zusammenfassen. Das bedeutet, dass diese Zusammenfassungen nicht so detailliert sind wie in Option A, da es weniger Dimensionen gibt, auf die sie angewendet werden können.
Bei Strategie B würden Sie Ihre Fragen so beantworten:
Frage | Antwort |
---|---|
Welche Produktkategorien sind in den einzelnen Regionen am wertvollsten? | Sie können direkt auf die Anzahl der Käufe und die Werte in den Zusammenfassungsberichten zugreifen. |
Welche Kampagnenstrategien sind in den einzelnen Regionen am effektivsten? | Sie können direkt auf die Anzahl der Käufe und die Werte in den Zusammenfassungsberichten zugreifen. |
Entscheidung: Strategie A
Strategie A ist einfacher: Alle Daten folgen derselben Schlüsselstruktur. Das bedeutet auch, dass Sie nur eine Schlüsselstruktur verwalten müssen.
Bei Strategie A müssen Sie jedoch die Summe der Summenwerte in den Zusammenfassungsberichten berechnen, um einige Ihrer Fragen zu beantworten. Jeder dieser zusammengefassten Werte ist fehlerbehaftet. Wenn Sie diese Daten zusammenfassen, summieren Sie auch den Rauschenpegel.
Das ist bei Strategie B nicht der Fall. Dort enthalten die in den Zusammenfassungsberichten angezeigten Summenwerte bereits die benötigten Informationen. Das bedeutet, dass Strategie B wahrscheinlich zu weniger Auswirkungen von Rauschen führt als Strategie A.
Wie sollten Sie entscheiden, welche Strategie Sie verwenden? Bei bestehenden Werbetreibenden oder Kampagnen können Sie anhand von Verlaufsdaten ermitteln, ob das Conversion-Volumen besser für Strategie A oder Strategie B geeignet ist. Bei neuen Werbetreibenden oder Kampagnen können Sie jedoch Folgendes tun:
- Sie erfassen Daten für einen Monat mit den detaillierten Schlüsseln (Strategie A). Da Sie die Dauer der Datenerhebung verlängern, sind die Summenwerte höher und die Abweichungen relativ geringer.
- Bewerten Sie die Anzahl der wöchentlichen Conversions und den Kaufwert mit angemessener Genauigkeit.
Angenommen, die Anzahl der wöchentlichen Käufe und der Kaufwert sind in diesem Beispiel hoch genug, dass Strategie A zu einem Störgeräuschanteil führt, den Sie für Ihren Anwendungsfall als akzeptabel erachten.
Da Strategie A einfacher ist und zu einem Störeffekt führt, der Ihre Fähigkeit, Entscheidungen zu treffen, nicht beeinträchtigt, entscheiden Sie sich für Strategie A.
Hash-Algorithmus auswählen
Sie entscheiden sich für einen hashbasierten Ansatz, um Ihre Schlüssel zu generieren. Dazu müssen Sie einen Hash-Algorithmus auswählen, der diesen Ansatz unterstützt.
Angenommen, Sie haben SHA-256 ausgewählt. Sie können auch einen einfacheren, weniger sicheren Algorithmus wie MD5 verwenden.
Im Browser: Schlüssel und Werte festlegen
Nachdem Sie sich für eine Schlüsselstruktur und einen Hash-Algorithmus entschieden haben, können Sie Schlüssel und Werte registrieren, wenn Nutzer auf Anzeigen klicken oder sie sich ansehen und anschließend eine Conversion ausführen.
Im Folgenden finden Sie eine Übersicht über die Header, die Sie zum Registrieren von Schlüsseln und Werten im Browser festlegen:


Quellseitige Schlüsselelemente festlegen
Wenn ein Nutzer auf eine Anzeige klickt oder sie sich ansieht, legen Sie die Aggregationsschlüssel in der Kopfzeile Attribution-Reporting-Register-Aggregatable-Source
fest.
In dieser Phase können Sie für jeden Schlüssel nur den Teil des Schlüssels oder Schlüsselelement festlegen, der zum Zeitpunkt der Anzeigenbereitstellung bekannt ist.
Erstellen wir die wichtigsten Elemente:
Quellseitiger Schlüssel für die Schlüssel-ID… | String mit den Dimensionswerten, die Sie festlegen möchten | Der Hash dieses Strings im Hexadezimalformat, auf die ersten 64 Bit gekürzt (64 ÷ 4 = 16 Zeichen1) | Hexadezimal-Hash mit angehängten Nullen, um das OR-Verknüpfen zu vereinfachen . Dies ist der wichtigste Teil auf Quellseite. |
---|---|---|---|
key_purchaseCount |
COUNT, CampaignID=12, GeoID=7 |
0x3cf867903fbb73ec | 0x3cf867903fbb73ec0000000000000000 |
key_purchaseValue |
VALUE, CampaignID=12, GeoID=7 |
0x245265f432f16e73 | 0x245265f432f16e730000000000000000 |
Legen wir nun die wichtigsten Elemente fest:
// Upon receiving the request from the publisher site
res.set(
"Attribution-Reporting-Register-Aggregatable-Source",
JSON.stringify([
{
"id": "key_purchaseCount",
"key_piece": "0x3cf867903fbb73ec0000000000000000"
},
{
"id": "key_purchaseValue",
"key_piece": "0x245265f432f16e730000000000000000"
}
])
);
Schlüssel-IDs werden nicht in den endgültigen Berichten angezeigt. Sie werden nur beim Festlegen von Schlüsseln im Browser verwendet, damit Quell- und Trigger-Schlüsselteile miteinander abgeglichen und zu einem vollständigen Schlüssel kombiniert werden können.
Optional: Berichte auf Ereignisebene
Wenn Sie Berichte auf Ereignisebene zusammen mit aggregierten Berichten verwenden möchten, müssen für eine bestimmte Quelle die Daten auf Ereignisebene (Ereignis-ID der Quelle und Triggerdaten) und der Aggregationsschlüssel abgeglichen werden können.
Sie können beide Berichte verwenden, wenn Sie beispielsweise Berichte auf Ereignisebene verwenden möchten, um Modelle zu erstellen, mit denen Sie ermitteln können, welche Anzeigentypen in der Regel zu den meisten Käufen führen.
Ein Nutzer führt eine Conversion aus
Wenn ein Nutzer eine Conversion ausführt, wird in der Regel eine Pixelanfrage an den AdTech-Server gesendet. Nach Erhalt dieser Anfrage:
- Legen Sie die Schlüsselelemente auf Conversion-Seite (Triggerseite) fest, um den Schlüssel zu vervollständigen.
Diese wichtigen Informationen legst du über den Header
Attribution-Reporting-Register-Aggregatable-Trigger-Data
fest. - Legen Sie den aggregierbaren Wert für diese Conversion über die Überschrift
Attribution-Reporting-Register-Aggregatable-Values
fest.
Setzen Sie die Schlüsselteile auf der Auslöserseite, um den Schlüssel fertigzustellen.
Erstellen wir die wichtigsten Elemente:
Triggerseitiges Schlüsselelement für die Schlüssel-ID… | String mit den Dimensionswerten, die Sie festlegen möchten | Der Hash dieses Strings im Hexadezimalformat, auf die ersten 64 Bit gekürzt (64 ÷ 4 = 16 Zeichen1) | Hexadezimal-Hash mit angehängten Nullen, um die OR-Verknüpfung zu vereinfachen. Dies ist der wichtigste Teil auf Quellseite. |
---|---|---|---|
key_purchaseCount |
ProductCategory=25 |
0x1c7ce88c4904bbe2 | 0x0000000000000000f9e491fe37e55a0c |
key_purchaseValue |
(gleich) | (gleich) | (gleich) |
Legen wir jetzt die wichtigsten Elemente fest:
// Upon receiving the pixel request from the advertiser site
res.set(
"Attribution-Reporting-Register-Aggregatable-Trigger-Data",
JSON.stringify([
// Each dictionary independently adds pieces to multiple source keys
{
"key_piece": "0x0000000000000000f9e491fe37e55a0c",
"source_keys": ["key_purchaseCount", "key_purchaseValue"]
},
])
);
Beachten Sie, dass Sie mehreren Schlüsseln dasselbe Schlüsselelement hinzufügen, indem Sie mehrere Schlüssel-IDs in source_keys
angeben. Das Schlüsselelement wird dann beiden Schlüsseln hinzugefügt.
Aggregierbare Werte festlegen
Bevor Sie die aggregierbaren Werte festlegen, müssen Sie sie hochskalieren, um Rauschen zu reduzieren.
Angenommen, es wurde ein Kauf für Produkttyp 25 für 52 € getätigt.
Diese Werte werden nicht direkt als aggregierbare Werte festgelegt:
key_purchaseCount
: 1 Conversionkey_purchaseValue
: 52 $
Bevor Sie diese aggregierbaren Werte registrieren, müssen Sie sie skalieren, um Abweichungen zu minimieren.
Sie haben zwei Ziele, für die Sie Ihr Beitragsbudget ausgeben möchten. Daher können Sie das Beitragsbudget in zwei Teile aufteilen.
In diesem Fall wird jedem Zielvorhaben maximal CONTRIBUTION_BUDGET/2
(=65.536 ÷ 2=32.768) zugewiesen.
Angenommen, der maximale Kaufwert für einen einzelnen Nutzer beträgt auf Grundlage des bisherigen Kaufverhaltens aller Nutzer der Website 1.500 $. Es kann Ausreißer geben, z. B. sehr wenige Nutzer, die mehr ausgegeben haben. Sie können diese Ausreißer aber ignorieren.
Der Skalierungsfaktor für den Kaufwert sollte so sein:
((CONTRIBUTION_BUDGET
/2) / 1.500) = 32.768/1.500 = 21,8 ≈ 22
Der Skalierungsfaktor für die Kaufanzahl beträgt 32.768 ÷ 1 = 32.768, da Sie festgelegt haben, maximal einen Kauf pro Anzeigenklick oder -aufruf (Querereignis) zu erfassen.
Sie können jetzt folgende Werte festlegen:
key_purchaseCount
: 1 × 32.768 = 32.768key_purchaseValue
: 52 × 22 = 1.144
In der Praxis würden Sie sie so festlegen, indem Sie den speziellen Header Attribution-Reporting-Register-Aggregatable-Values
verwenden:
// Instruct the browser to schedule-send a report
res.set(
"Attribution-Reporting-Register-Aggregatable-Values",
JSON.stringify({
"key_purchaseCount": 32768,
"key_purchaseValue": 1144,
})
);
Der aggregierbare Bericht wird generiert
Der Browser gleicht die Conversion mit einem vorherigen Aufruf oder Klick ab und generiert einen aggregierbaren Bericht, der neben den Berichtsmetadaten die verschlüsselte Nutzlast enthält.
Im Folgenden finden Sie ein Beispiel für die Daten, die in der Nutzlast des aggregierbaren Berichts enthalten sein könnten, wenn sie im Klartext lesbar wäre:
[
{
key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece OR conversion-side key piece for the key key_purchaseCount
value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
},
{
key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece OR conversion-side key piece for the key key_purchaseValue
value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
},
]
Hier sehen Sie zwei separate Beiträge in einem einzigen aggregierbaren Bericht.
Zusammenfassungsbericht anfordern
- Berichte, die in Batches zusammengefasst werden können. Folgen Sie den Tipps unter Batching.
- Generieren Sie die Schlüssel, für die Sie Daten sehen möchten. So rufen Sie beispielsweise Zusammenfassungsdaten für
COUNT
(Gesamtzahl der Käufe) undVALUE
(Gesamtwert der Käufe) für die Kampagnen-ID 12 × die geografische ID 7 × die Produktkategorie 25 auf:- Erstelle den Quellschlüssel wie bei der Einrichtung im Browser.
- Erstelle das triggerseitige Schlüsselelement, wie du es beim Festlegen im Browser getan hast.
Messwert, den Sie anfordern möchten1 | Quellseitiger Schlüssel | Schlüsselteil auf der Triggerseite | Schlüssel für die Anfrage an den Aggregationsdienst2 |
---|---|---|---|
Anzahl der Käufe insgesamt (COUNT ) |
0x3cf867903fbb73ec 0000000000000000 |
0x00000000000000 00f9e491fe37e55a0c |
0x3cf867903fbb73 ecf9e491fe37e55a0c |
Gesamtwert des Kaufs (VALUE ) |
0x245265f432f16e73 0000000000000000 |
0x0000000000000000 f9e491fe37e55a0c |
0x245265f432f16e73 f9e491fe37e55a0c |
- Fordere vom Aggregationsdienst Zusammenfassungsdaten für diese Schlüssel an.
Zusammenfassungsbericht verarbeiten
Sie erhalten einen Zusammenfassungsbericht, der so aussehen könnte:
[
{"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
"value": "2558500"},
{"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
"value": "687060"},
…
]
Der erste Bucket ist der COUNT
-Schlüssel im Binärformat. Der zweite Bucket ist der VALUE
-Schlüssel im Binärformat.
Die Schlüssel sind zwar heterogen (COUNT
im Vergleich zu VALUE
), sie befinden sich aber im selben Bericht.
Werte herunterskalieren
- 2.558.500 bezieht sich auf die Anzahl der Käufe für diesen Schlüssel, multipliziert mit dem zuvor berechneten Skalierungsfaktor. Der Skalierungsfaktor für die Anzahl der Käufe betrug 32.768. Dividieren Sie 2.558.500 durch das Beitragsbudget des Zielvorhabens: 2.558.500 ÷ 32.768 = 156,15 Käufe.
- 687.060 → 687.060 ÷ 22 = 31.230 $Gesamtkaufwert
Die Zusammenfassungsberichte enthalten daher die folgenden Informationen:
- Within the reporting time period, campaign #12
run in Europe drove about 156 purchases (± noise)
for the product category #25
```
```text
- Within the reporting time period, campaign #12
run in Europe drove $31,230 of purchases (± noise)
for the product category #25.