Page Summary
-
Discounts can be applied to items in an ecommerce event by using the
discountparameter. -
Do not use percentage discounts with the
discountparameter; instead, provide the value of the discount. -
You can report on item-level discounts using the "Item coupon", "Order coupon", and "Item revenue" dimensions and metrics.
-
To report on event-level discounts, you will need to create a custom metric.
You can apply a discount to an item in an ecommerce event
by adding the discount
parameter with the value of the discount. Don't use a percentage
for the discount
parameter.
Example
A customer applies an $8 discount code ("SAVE20") to an order containing two
units of one item and one unit of another item. The discount is allocated as $2
per unit for the first item and $4 per unit for the second.
Here's the purchase
event tag for this example:
// A user applies the coupon code "SAVE20" to their entire order.
// The order contains two items, each receiving a portion of the discount.
gtag
(
"event"
,
"purchase"
,
{
'transaction_id'
:
"T_12345"
,
'value'
:
32.00
,
// Total value after all discounts
'currency'
:
"USD"
,
'coupon'
:
"SAVE20"
,
// Order-level coupon code
'items'
:
[
{
'item_id'
:
"SKU_123"
,
'item_name'
:
"Blue Widget"
,
'price'
:
8.00
,
// Unit price after discount (original 10.00 - 2.00 discount)
'discount'
:
2.00
,
// Unit discount
'quantity'
:
2
,
'coupon'
:
"SAVE20"
// Optional: Item-level coupon can match order-level
},
{
'item_id'
:
"SKU_456"
,
'item_name'
:
"Red Widget"
,
'price'
:
16.00
,
// Unit price after discount (original 20.00 - 4.00 discount)
'discount'
:
4.00
,
// Unit discount
'quantity'
:
1
,
'coupon'
:
"SAVE20"
}
]
});
Report on the discount
The following dimensions and metrics allow you to report on discount:
| Dimension or metric | Description |
|---|---|
| Item coupon | The coupon used to purchase an item (e.g., a product you sell). |
| Order coupon | The coupon name or code that you specify for discounted items. |
| Item discount amount | The total discount value from items only. Item discount amount = quantity
x discount
. |
| Item revenue | The total revenue from items only, excluding tax and shipping. Item
revenue = quantity
x price
. |
Handle event-level and item-level discounts
A coupon can be added to the entire order (event-level) or to a specific product (item-level).
- Order-level: To apply a coupon to the entire transaction, add the
couponparameter at the event level (outside theitemsarray). - Item-level: To apply a coupon to a specific item, add the
couponparameter within that specific object in theitemsarray.
If a coupon applies a discount to the entire order (event-level), you should allocate that discount across the items in the event to ensure accurate item-level reporting. In each item object:
- Add the
discountparameter with the allocated unit discount value for the item. - Set the
priceto the unit price minus the allocated unit discount for the item.
You can also create a custom metric to report on event-level discounts.

