Implement integrated promotions
Prerequisites
DoorDash has enhanced its OpenAPI contract to provide more comprehensive promotion data within the order payload. This now includes merchant-funded, DoorDash-funded, and co-funded promotions, as well as support for stacked promotions.
When a consumer redeems a promotion configured in DoorDash Campaign Manager, the order payload will now include detailed discount funding breakdowns, enabling merchants to reconcile promotional expenses more accurately in their POS systems.
Overview
Merchants want their point-of-sale (POS) system to be the source of truth for accounting reconciliation. Previously, integrated promotions only surfaced merchant-funded discounts. With this upgrade, merchants can now see:
- Funding source (Merchant, DoorDash, or Co-funded)
- The exact merchant-funded discount amount
- The exact DoorDash-funded discount amount
- Support for stacked promotions (multiple promotions applied to a single order)
This ensures full visibility into promotional spend and enables merchants to correctly attribute costs when promotions are shared between DoorDash and the merchant.
Get Started
How to enable
After configuring an eligible promotional campaign in DoorDash Campaign Manager, provide the
external_campaign_id
to your DoorDash Account Owner.The DoorDash Engineering team will enable Promotions functionality in the OpenAPI Order Service.
Once enabled, DoorDash will send additional promotion-related fields within the order payload.
Field details
Fields present for all orders
Field | Description |
---|---|
subtotal_for_tax | Taxable amount subject to a sales tax logic factoring in discount, discount funding source and store state’s marketplace facilitator status. |
subtotal_tax_amount | Tax amount calculated after discounts are applied to the subtotal (excludes fees like delivery or service charges). |
Fields for promotions/discounts
Field | Description |
---|---|
applied_discounts | Array of all promotions redeemed on the order. |
discount_amount | Promotional value applied (in cents). |
promo_id | Unique identifier for the DoorDash promotional campaign. |
promo_code (optional) | Promo code entered by the consumer. |
external_campaign_id | Campaign reference id as defined by the merchant. |
New fields for co-funded and stacked promotions
Field | Description |
---|---|
discount_funding_source | Funding source: merchant, doordash, or cofunded. |
merchant_funded_discount_amount | Merchant-funded portion of the discount (in cents). |
doordash_funded_discount_amount | DoorDash-funded portion of the discount (in cents). |
total_merchant_funded_discount_amount | Total merchant-funded discount across the order (in cents). |
promo_quantity (optional) | Only applicable for item-level discounts. Promotion quantity on either item or option. |
Note: The field subtotal_discount_funding_source
is deprecated. Use discount_funding_source
at the discount level instead.
Example Payloads
Order-level co-funded discount
"applied_discounts": [
{
"discount_amount": 200,
"promo_id": "0ea502da-66bd-41f7-b6cf-e8ad3f96bdaa",
"promo_code": "$5 off",
"external_campaign_id": "PLU-123456"
}
],
"applied_discounts_details": [
{
"discount_amount": 500,
"promo_id": "0ea502da-66bd-41f7-b6cf-e8ad3f96bdaa",
"promo_code": "$5 off",
"external_campaign_id": "PLU-123456",
"doordash_funded_discount_amount": 300,
"merchant_funded_discount_amount": 200
}
],
"subtotal_for_tax": 3771,
"total_merchant_funded_discount_amount": 200
Co-funded + stacked promotions
"applied_discounts": [
{
"discount_amount": 200,
"promo_id": "0ea502da-66bd-41f7-b6cf-e8ad3f96bdaa",
"promo_code": "$5 off",
"external_campaign_id": "PLU-123456"
},
{
"discount_amount": 400,
"promo_id": "2f1225a2-8570-47cd-8819-8f8e0a362630",
"promo_code": "20% off",
"external_campaign_id": "PLU-123789"
}
],
"applied_discounts_details": [
{
"discount_amount": 500,
"promo_id": "0ea502da-66bd-41f7-b6cf-e8ad3f96bdaa",
"promo_code": "$5 off",
"external_campaign_id": "PLU-123456",
"doordash_funded_discount_amount": 300,
"merchant_funded_discount_amount": 200
},
{
"discount_amount": 400,
"promo_id": "2f1225a2-8570-47cd-8819-8f8e0a362630",
"promo_code": "20% off",
"external_campaign_id": "PLU-123789",
"doordash_funded_discount_amount": 0,
"merchant_funded_discount_amount": 400
}
],
"subtotal_for_tax": 3771,
"total_merchant_funded_discount_amount": 600
Item-level discount
"categories": [
{
"name": "Sides",
"items": [
{
"name": "Mozzarella Sticks (4 ea.)",
"quantity": 1,
"price": 379,
"applied_item_discount": {
"discount_amount": 379,
"promo_id": "7f85583b-03a1-4a54-b6e8-ac4b7b241d2d",
"external_campaign_id": "Free 4pc Mozz-Delivery",
"promo_quantity": {
"free_item_promo_quantity": 1,
"free_option_promo_quantity": 1
}
},
"applied_item_discount_details": [
{
"doordash_funded_discount_amount": 0,
"merchant_funded_discount_amount": 379,
"promo_id": "7f85583b-03a1-4a54-b6e8-ac4b7b241d2d",
"external_campaign_id": "Free 4pc Mozz-Delivery",
"promo_quantity": {
"free_item_promo_quantity": 1,
"free_option_promo_quantity": 1
}
}
]
}
]
}
],
"subtotal_for_tax": 1577,
"total_merchant_funded_discount_amount": 379
FAQ
1. Will subtotal and tax reflect the promotion?
Yes. Use subtotal_for_tax
to see the taxable amount after promotions are applied.
2. Which promotions are eligible?
All subtotal and item-based discounts, including co-funded promotions, are eligible.
3. Can promotions apply to item options or extras?
Yes. DoorDash supports promotions at the menu item, option, or combined level.
4. Will DoorDash send who funded the promotion?
Yes. The new discount_funding_source
field and breakdown fields show whether the discount was merchant-funded, DoorDash-funded, or co-funded.
5. Can multiple promotions be applied?
Yes. Orders can have multiple promotions at both order and item level. However, a single item can only have one applicable promotion.
Sample order without discount
No promotion information included in the message.
{
"id": "1825578540",
"delivery_uuid": "d810eed5-ecb1-417c-80dd-96f0c9f9c809",
"cart_uuid": "b6f30543-aacf-4da2-b79c-cef7194ce12c",
"cart_updated_at": 1622505569692,
"store_order_cart_id": "4648815252",
"tax": 270,
"subtotal": 3085,
"estimated_pickup_time": "2021-06-01T00:22:08.836357+00:00",
"is_pickup": false,
"tip_amount": 400,
"order_special_instructions": "",
"delivery_address": {},
"consumer": { ... },
"store": { ... },
"categories": [ ... ],
"delivery_short_code": "500543",
"tax_transaction_id": "",
"delivery_fee": 299,
"subtotal_tax_amount": 270,
"taxes_on_fees": 0,
"is_demand_gen": false,
"extra_cart_order_fee": 0,
"is_marketplace_facilitator": false,
"commission_type": "dashpass",
"external_order_reference": "",
Example Promo Quantity Free item only. i.e. free pizza without topping
"promo_quantity": {
"free_item_promo_quantity": 1
}
Discount item only. Half price for 2nd piece of pizza.
"promo_quantity": {
"discount_item_promo_quantity": 1
}
Free item with option. i.e. free pizza with topping
"promo_quantity": {
"free_item_promo_quantity": 1,
"free_option_promo_quantity": 1
}
Modified: 9/26/2025