Coupon dimension
Coupon is the dimension that records the promotion code applied to a purchase. In GA4 ecommerce, coupon exists at two scopes: an order-level coupon on the purchase event and an item-level coupon inside each items entry. Order-level reflects a cart-wide code; item-level reflects a discount on a specific product. Reading the wrong scope, or assuming one implies the other, misstates which promotions drove sales.
What this means
GA4 ecommerce defines a coupon parameter in two places: on the purchase event (order-level) and within each object in the items array (item-level). The coupon dimension surfaces whichever scope your report uses, letting you attribute revenue to specific promo codes.
This is how you answer which discounts actually moved sales.
Two scopes, two meanings
Order-level coupon describes a code applied to the whole cart; item-level coupon describes a discount on one product line. They are independent — a cart can have an order coupon, item coupons, both, or neither. Summing or conflating them double-attributes discount impact.
Pick the scope that matches your question and keep order-level and item-level analyses separate.
- Order-level coupon on the purchase event
- Item-level coupon inside each items entry
- Scopes are independent — do not conflate
How it appears in analytics and logs
A coupon value is a promo code. A blank order-level coupon with populated item-level coupons means discounts were applied per product, not cart-wide.
Diagnostic use case
Use the coupon dimension to attribute revenue to promo codes, choosing order-level for cart-wide codes and item-level for product-specific discounts.
What WebmasterID can help detect
WebmasterID can record applied promo codes as first-party purchase context, so promotion performance is measurable without third-party tracking.
Common mistakes
- Conflating order-level and item-level coupons.
- Assuming a present item coupon implies an order coupon.
- Feeding personalised, user-specific codes into analytics.
Privacy and accuracy notes
Coupon records a promotion code, not a person — unless codes are personalised per user, which you should avoid feeding into analytics. WebmasterID treats codes as campaign context.
Related pages
- Transaction ID dimension
Transaction ID is the dimension that holds the unique identifier you assign to a completed purchase via the purchase event's transaction_id parameter. GA4 uses it to deduplicate purchases: two purchase events sharing one transaction_id within a window are treated as the same order, not two. Supplying a stable, genuinely unique value is what keeps revenue from being double-counted when a confirmation page reloads.
- Item promotion ID dimension
Item promotion ID is the dimension that holds the machine key of an on-site promotion — a banner, hero slot, or merchandised offer — set via the promotion_id parameter on the view_promotion and select_promotion events. It identifies internal merchandising placements, which is a different thing from a coupon (a checkout discount code). Keeping the two apart is essential to attributing sales to promo creative versus discount codes.
- The purchase event and e-commerce
The purchase event records a completed transaction and anchors all e-commerce reporting: revenue, items, and conversion value. It carries a transaction id, a value and currency, and an items array describing what was bought. The discipline is to record the order, not the customer — product and revenue data belong in the event, personal identity does not.
- CTA tracking
Attribute revenue to promo codes first-party.
Sources and verification notes
- GA4 developer docs — Measure ecommerce (items and coupon)Documents order-level and item-level coupon parameters.
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.