How to setup bonus items in bundles
Last updated: July 10, 2026
Setup Bonus Items
Create a bundle item in your store configuration
Add the main item as a component of the bundle
Add bonus items as separate components within the same bundle
Set the price of bonus items to null to distinguish them from primary items
Configure the bundle with appropriate SKUs for each component item
Usage
When a customer purchases a bundle containing bonus items, all items (both primary and bonus) will be included in the item.add webhook payload within the nested_items array. The webhook structure will look like this:
"event_data": {
"item_id": "itm_XXXXXXXXXX",
"items": [
{
"currency": "USD",
"description": "Example bundle description",
"id": "itm_XXXXXXXXXX",
"name": "Example Bundle",
"nested_items": [
{
"description": "Main item",
"id": "itm_XXXXXXXXXX",
"name": "Primary Item",
"quantity": 1,
"sku": "primary_item_sku",
"price": 999
},
{
"description": "Bonus item",
"id": "itm_XXXXXXXXXX",
"name": "Bonus Item",
"quantity": 100,
"sku": "bonus_item_sku",
"price": null
}
],
"price": 999,
"quantity": 1,
"sku": "bundle_sku",
"type": "bundle"
}
]
}To distinguish bonus items from primary items, filter items where price: null. You can also use the trigger order.paid to ensure you're only processing paid purchases and not free items from other sources like daily rewards or loyalty programs.
Note: The nested_items functionality is being added to the Get Order and Get Payments APIs and will be available in production soon.