Online Marketing Blog

GA4: Brutto oder Netto bei value und price?

Inhaltsverzeichnis

Viele Teams waren lange unsicher, ob in Google Analytics 4 (GA4) Brutto- oder Netto-Beträge übergeben werden sollen – und haben „zur Sicherheit“ Brutto genommen. Das führt bis heute zu fehlerhaften Umsätzen in GA4. Google hat inzwischen klar spezifiziert, dass value und price Netto angegeben werden sollten.

Laut GA4 Doku Werte für "value" und "price" - Netto

Google hat in der offiziellen Event-Referenz klargestellt:

„Setzen Sie value auf die Summe von (price × quantity) für alle Elemente in items. Geben Sie nicht shipping oder tax an.“
Google for Developers

GA4: Brutto oder Netto bei value und price? 1

Damit ist klar, dass value & price Netto angegeben werden sollten. Dies ist für eine saubere Ansicht der Daten in GA4 notwendig.

purchase – Event-Parameter (event scope)

Name
Typ
Erforderlich
Beispielwert
Beschreibung
currency
string
Ja*
EUR
Die Währung der Artikel, die dem Ereignis zugewiesen sind, im ISO 4217-Format mit drei Buchstaben. Wertmesswerte für das view_item-Ereignis tragen nicht zum Umsatz bei. * Wenn Sie value festlegen, ist currency erforderlich, damit Umsatzmesswerte genau berechnet werden können.
value
number
Ja*
30,03
Der Geldwert des Ereignisses. * Legen Sie value auf die Summe von (price * quantity) für alle Elemente in items fest. Geben Sie nicht shipping oder tax an. * value ist in der Regel für aussagekräftige Berichte erforderlich. Wenn Sie das Ereignis als Schlüsselereignis markieren, sollten Sie value festlegen. * currency ist erforderlich, wenn Sie value festlegen.
customer_type
string (new / returning)
Nein
neuen
Stammt die Conversion von einem neuen oder wiederkehrenden Kunden? new: Neukunde – hat im angegebenen Zeitraum nichts gekauft (Zeitfenster von 540 Tagen empfohlen und als Standard festgelegt, aber nicht vorgeschrieben) returning: Ein wiederkehrender Kunde, der im angegebenen Zeitraum etwas gekauft hat. Geben Sie keinen Wert an, wenn die Klassifizierung nicht sicher ist, z. B. wenn der Nutzer als Gast bezahlt hat.
transaction_id
string
Ja
T_12345
Die eindeutige ID einer Transaktion. Mit dem Parameter transaction_id lässt sich vermeiden, dass doppelte Ereignisse für einen Kauf erfasst werden.
coupon
string
Nein
SUMMER_FUN
Der Name/Code des Gutscheins, der dem Ereignis zugewiesen ist. coupon-Parameter auf Ereignis- und Artikelebene sind voneinander unabhängig.
shipping
number
Nein
3,33
Die Versandkosten, die einer Transaktion zugewiesen sind.
tax
number
Nein
1,11
Die Steuern für eine Transaktion.
items
Array
Ja
Die Artikel für das Ereignis.

purchase – Item-Parameter (item scope)

Name
Typ
Erforderlich
Beispielwert
Beschreibung
item_id
string
Ja*
SKU_12345
Die ID des Artikels. *Entweder item_id oder item_name ist erforderlich.
item_name
string
Ja*
„Stan and Friends“-T-Shirt
Der Name des Artikels. *Entweder item_id oder item_name ist erforderlich.
affiliation
string
Nein
Google Store
Eine Produktzugehörigkeit zur Angabe eines Lieferanten oder Ladengeschäfts Hinweis: „affiliation“ ist nur auf der Ebene des Elements verfügbar.
coupon
string
Nein
SUMMER_FUN
Der Name/Code des Gutscheins, der dem Artikel zugewiesen ist. coupon-Parameter auf Ereignis- und Artikelebene sind voneinander unabhängig.
discount
number
Nein
2,22
Der Geldwert des Rabatts pro Einheit, der dem Artikel zugewiesen ist.
index
number
Nein
5
Der Index bzw. die Position des Artikels in einer Liste.
item_brand
string
Nein
Google
Die Marke des Artikels
item_category
string
Nein
Bekleidung
Die Kategorie des Artikels Wenn sie als Teil einer Kategoriehierarchie oder ‑taxonomie verwendet wird, ist dies die erste Kategorie.
item_category2
string
Nein
Adult
Die zweite Kategoriehierarchie oder zusätzliche Taxonomie des Artikels.
item_category3
string
Nein
Hemden
Die dritte Kategoriehierarchie oder zusätzliche Taxonomie des Artikels.
item_category4
string
Nein
Crew
Die vierte Kategoriehierarchie oder zusätzliche Taxonomie des Artikels.
item_category5
string
Nein
Kurzarm
Die fünfte Kategoriehierarchie oder zusätzliche Taxonomie des Artikels.
item_list_id
string
Nein
related_products
Die ID der Liste, in der dem Nutzer der Artikel präsentiert wurde Wenn festgelegt, wird item_list_id auf Ereignisebene ignoriert. Wenn nicht festgelegt, wird die item_list_id auf Ereignisebene verwendet, sofern vorhanden.
item_list_name
string
Nein
Ähnliche Produkte
Der Name der Liste, in der dem Nutzer der Artikel präsentiert wurde Wenn festgelegt, wird item_list_name auf Ereignisebene ignoriert. Wenn nicht festgelegt, wird die item_list_name auf Ereignisebene verwendet, sofern vorhanden.
item_variant
string
Nein
Grün
Die Artikelvariante oder der eindeutige Code oder die Beschreibung für zusätzliche Artikeldetails/-optionen.
location_id
string
Nein
ChIJIQBpAG2ahYAR_6128GcTUEo (die Google Place-ID für San Francisco)
Der dem Artikel zugeordnete physische Standort, z.B. der Standort des Ladengeschäfts. Wir empfehlen, die Google Place-ID zu verwenden, die dem zugehörigen Artikel entspricht. Es kann auch eine benutzerdefinierte Standort-ID verwendet werden. Hinweis: `location id` ist nur auf Artikelebene verfügbar.
price
number
Nein
10,01
Der Preis des Artikels in der angegebenen Währung. Wenn ein Rabatt auf den Artikel angewendet wird, legen Sie price auf den reduzierten Stückpreis fest und geben Sie den Stückpreisrabatt im Parameter discount an.
quantity
number
Nein
3
Artikelmenge. Wenn nicht festgelegt, wird quantity auf 1 gesetzt.

Warum die Brutto-Verwirrung entstand

In der Praxis (v. a. im DACH-E-Commerce) sind Shoppreise meist inkl. USt. dargestellt. Viele Implementierungen haben diese Brutto-Preise 1:1 als price und value an GA4 übergeben – und teils zusätzlich noch tax und shipping. Das widerspricht jedoch der aktuellen Vorgabe und kann Umsätze zu hoch ausweisen und Reports inkonsistent machen. Google zeigt in seinem purchase-Beispiel explizit: value, tax, shipping sind event-Parameter, price & quantity hängen am Item.

So setzt du GA4 heute korrekt auf

1) Felder richtig mappen
    
     gtag("event","purchase",{
  transaction_id: "T_1001",
  currency: "EUR",
  value: 100.00,        // Netto-Warenwert (Summe aus price*quantity)
  tax: 19.00,           // USt. separat
  shipping: 5.00,       // Versand separat
  items: [{
    item_id: "SKU_1",
    item_name: "T-Shirt",
    price: 50.00,       // Netto-Einzelpreis nach Rabatt
    quantity: 2,
    discount: 5.00      // optional: pro Einheit
  }]
});
    
   
  • value = (price × quantity) aller Items – ohne Steuer/Versand.
  • currency ist Pflicht, sobald value gesetzt wird.
  • Item-Parameter (u. a. price, quantity) vs. Event-Parameter (u. a. value, tax, shipping) sind klar getrennt.
2) Warum Netto-price entscheidend ist

Da value aus price × quantity gebildet werden soll und Steuer/Versand nicht enthalten darf, muss price netto (nach Rabatt, aber ohne Steuer) sein – sonst würdest du automatisch Brutto in value „hineinrechnen“. Die Vorgabe, Steuer/Versand nicht in value zu addieren, ist explizit dokumentiert.

Was passiert, wenn du weiter Brutto schickst?

  • Überhöhte Umsatz-KPIs: Event-level-Umsatzkennzahlen in GA4 basieren auf dem value-Parameter. Ist der Brutto, weichen Total/Purchase-Revenue von deiner Buchhaltung ab.
  • Inkonsistenzen im Bericht „E-Commerce-Käufe“: Item-Umsatz wird aus price × quantity berechnet. Wenn price fälschlich Brutto ist, aber zusätzlich tax als Event-Parameter gesendet wird, bekommst du logische Brüche zwischen Item- und Event-Ebene.
  • Falsche Conversion-Werte in Ads & Bidding-Systemen: Google empfiehlt, bei Key Events value zu setzen. Ist der Wert zu hoch, verzerrst du ROAS/CPA.

Prüf- & Fix-Checkliste

  1. Data Layer prüfen: Kommen items[].price netto (nach Rabatt) und items[].quantity korrekt?
  2. value server-/clientseitig berechnen: Σ(price × qty) über alle Items; kein Steuer/Versand.
  3. tax & shipping separat als Event-Parameter mitsenden.
  4. currency immer mitsenden, wenn value vorhanden ist.
  5. DebugView & Realtime nach Deployment prüfen; bei fehlenden Umsätzen: Leitfaden „Missing revenue data“ beachten.

Welche Events gibt es in Google Analytics

Für alle Properties

Ereignis
Auslösen, wenn ein Nutzer…
ad_impression
eine Anzeige sieht (nur App).
earn_virtual_currency
eine virtuelle Währung erhält, z. B. Münzen, Edelsteine oder Tokens.
generate_lead
ein Formular oder eine Informationsanfrage sendet.
join_group
einer Gruppe beitritt.
login
sich anmeldet.
purchase
etwas kauft.
refund
eine Erstattung erhält.
search
auf Ihrer Website oder in Ihrer App sucht.
select_content
Inhalte auf Ihrer Website oder in Ihrer App auswählt.
share
Inhalte von Ihrer Website oder App teilt.
sign_up
sich auf Ihrer Website oder in Ihrer App für ein Konto registriert.
spend_virtual_currency
virtuelle Währung ausgibt, z. B. Münzen, Edelsteine oder Tokens.
tutorial_begin
ein Tutorial während des Onboardingprozesses startet.
tutorial_complete
ein Tutorial während des Onboardingprozesses abschließt.

Für Onlineverkäufe

Ereignis
Auslösen, wenn ein Nutzer…
add_payment_info
Zahlungsinformationen während des Bezahlvorgangs sendet.
add_shipping_info
Versandinformationen während des Bezahlvorgangs sendet.
add_to_cart
Artikel in den Einkaufswagen legt.
add_to_wishlist
einer Wunschliste Artikel hinzufügt.
begin_checkout
den Bezahlvorgang startet.
purchase
etwas kauft.
refund
eine Erstattung erhält.
remove_from_cart
Artikel aus dem Einkaufswagen entfernt.
select_item
einen Artikel aus einer Liste von Artikeln oder Angeboten auswählt.
select_promotion
ein Angebot auswählt.
view_cart
den Einkaufswagen ansieht.
view_item
einen Artikel ansieht.
view_item_list
eine Liste der Artikel oder Angebote ansieht.
view_promotion
sich ein Angebot auf Ihrer Website oder in Ihrer App ansieht.

Für Lead-Generierung

Ereignis
Auslösen, wenn ein Nutzer…
generate_lead
ein Formular online sendet oder Informationen offline bereitstellt.
qualify_lead
als den Kriterien für einen qualifizierten Lead entsprechend gekennzeichnet wird.
disqualify_lead
aus einem von mehreren Gründen nicht als Lead gekennzeichnet wird.
working_lead
sich an einen Mitarbeiter wendet oder vom jemandem aus Ihrem Unternehmen kontaktiert wird.
close_convert_lead
zu einem Lead mit Conversion (einem Kunden) wird.
close_unconvert_lead
aus einem von mehreren Gründe nicht als konvertierter Lead gekennzeichnet wird

Für Spiele

Ereignis
Auslösen, wenn ein Nutzer…
earn_virtual_currency
eine virtuelle Währung erhält, z. B. Münzen, Edelsteine oder Tokens.
join_group
einer Gruppe beitritt.
level_end
ein Level in einem Spiel beendet.
level_start
ein neues Level in einem Spiel beginnt.
level_up
das nächste Level in einem Spiel erreicht.
post_score
seine Punktzahl postet.
select_content
Inhalte auswählt.
spend_virtual_currency
virtuelle Währung ausgibt, z. B. Münzen, Edelsteine oder Tokens.
tutorial_begin
ein Tutorial während des Onboardingprozesses startet.
tutorial_complete
ein Tutorial während des Onboardingprozesses abschließt.
unlock_achievement
einen Erfolg verbucht.

FAQ

Setze price auf den rabattierten Netto-Einzelpreis und zusätzlich discount pro Item (optional).

Für „aussagekräftige Berichte“ ist value typischerweise erforderlich; bei Key Events wird es empfohlen.

Sie sind Event-Parameter und sollen nicht in value einfließen – so bleiben Item- und Event-Ebene sauber und vergleichbar.

Fazit

Die frühere Brutto-Praxis war nachvollziehbar, ist heute aber nicht mehr GA4-konform. Stelle auf Netto-price und value = Σ(price × qty) ohne Steuer/Versand um. So stimmen deine Umsätze in GA4 mit Shop/ERP überein – und deine Reporting- & Bidding-Signale werden verlässlich.

Quellen (Auszug): GA4 Event-Referenz (Tag Platform) mit value-Regel und Reporting-Hinweis; GA4 E-Commerce-Beispiele für Parameter-Scopes; Leitfaden zu fehlenden Umsätzen.

Weitere Artikel zu - Webanalytics

Alexander Kern
Ein gut funktionierendes Conversion-Tracking ist essenziell für erfolgreiche Google Ads-Kampagnen. Doch was tun, wenn im Google Tag Manager (GTM) bei allen Google Ads Conversion-Tags und Remarketing-Tags die Meldung „Tag Fehlgeschlagen“ erscheint? In diesem Beitrag erfahren Sie, was hinter diesem Fehler steckt und wie Sie ihn beheben können.
Julian Schweizer
Es ist endlich wieder so weit. Der SEO-Contest startet auf ein Neues und auch dieses Jahr ist MISSION OM wieder auf Erkundungsmission, um nach den Sternen im SEO-Himmel zu greifen. Mit Voller Tatendrang und voll beladenen Energiebehältern startet unser Raumschiff am 03.05.2022 in neuen Spähern des SEO-Universums.
Julian Schweizer
Die Keyword Analyse ist ein wichtiger Baustein bei der Suchmaschinenoptimierung. Sie ist einer der ersten Schritte und bildet die Basis für die weiteren Optimierungen.
Alexander Kern
Der Google Tag Manager fungiert als ein Container, über den Code Snippets wie Tracking Codes oder Conversionpixel in die Website oder mobile App implementiert werden können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert