---
title: "Sending orders using the Engage SDK"
slug: "sending-orders-using-the-engage-sdk"
abstract: "Describes collecting and sending transactional data to Sitecore CDP from the client and from the server."
---
# Sending orders using the Engage SDK

Using the Engage SDK, you can collect and send transactional data to Sitecore CDP in real time.

You collect and send transactional data in the same way as you [collect and send behavioral data](https://doc.sitecore.com/cdp/en/developers/api/integrating-with-sitecore-cdp/understanding-integration-details/sending-events-using-the-engage-sdk.html "Sending events using the Engage SDK"), using either client-side tracking or [server-side tracking](https://doc.sitecore.com/cdp/en/developers/api/integrating-with-sitecore-cdp/understanding-integration-details/server-side-tracking-with-the-engage-sdk-package.html "Server-side tracking with the Engage SDK package"). Using the Engage SDK script, you can implement client-side tracking. Using the Engage SDK package, you can implement both client-side tracking and server-side tracking.

The transactional data includes orders that the user makes as they interact with your app.

::::tabs
:::tab{title="2.1"}

You can send an order to Sitecore CDP in real time using either a single event or multiple events.

#### Sending orders using a single event

Use this option if your organization's site is tagged to send all order-related data from the confirmation page. You can also use this option if your organization uses an order management system (OMS), or if your organization uses cookies and local storage to capture order details.

To send an order to Sitecore CDP in real time using a single event, you must use the `[Engage.event()](../../stream-api/sitecore-engage-sdk-reference/functions/engage-event.md "Engage.event(type, eventData[, extensionData])")` function (client-side tracking) or the `[EngageServer.event()](../../stream-api/sitecore-engage-sdk-reference/functions/engageserver-event.md "EngageServer.event(type, eventData, req[, extensionData])")` function (server-side tracking) to send an [ORDER_CHECKOUT event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/order_checkout-event.html "ORDER_CHECKOUT event").

> [!important]
> To use the flight data model, [assemble orders using multiple events](https://doc.sitecore.com/cdp/en/developers/api/integrating-with-sitecore-cdp/understanding-integration-details/sending-orders-using-the-engage-sdk.html#UUID-249a4989-cad7-cdef-0543-001e9d2a8f0f_UUID-199bdda1-5e71-2361-027d-97a3d70b0e0c "Sending orders using multiple events") instead of sending an ORDER\_CHECKOUT event.

#### Sending orders using multiple events

Use this option if the booking flow for your organization's site does not facilitate sending all order-related data from the confirmation page. This way, you can send individual events related to orders when, for example, a user adds a product to their shopping cart, makes a purchase, or empties their shopping cart.

To send an order to Sitecore CDP in real time using multiple events, you must use the `[Engage.event()](../../stream-api/sitecore-engage-sdk-reference/functions/engage-event.md "Engage.event(type, eventData[, extensionData])")` function (client-side tracking) or the `[EngageServer.event()](../../stream-api/sitecore-engage-sdk-reference/functions/engageserver-event.md "EngageServer.event(type, eventData, req[, extensionData])")` function (server-side tracking) to send the following events in this sequence:

1. [ADD event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/add-event.html "ADD event") - to capture the product details when a user adds a product to their cart.
2. [CONFIRM event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/confirm-event.html "CONFIRM event") - to capture a list of products that are in the cart before the payment is made.
3. One of the following:
    - [CHECKOUT event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/checkout-event.html "CHECKOUT event") - to capture a user's action of completing a purchase.
        - Optionally, after a CHECKOUT event, a [PAYMENT event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/payment-event.html "PAYMENT event") - to capture the user's payment method.
    - [CLEAR_CART event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/clear_cart-event.html "CLEAR_CART event") - to capture the user's action of emptying their cart.

See [all options for sending orders](https://doc.sitecore.com/cdp/en/developers/api/stream-api/direct-http-requests-reference/sending-orders-1166443.html "Sending orders") to Sitecore CDP.

:::
:::tab{title="2.0"}

To send an order to Sitecore CDP in real time, you must use the `[Engage.event()](../../stream-api/sitecore-engage-sdk-reference/functions/engage-event.md "Engage.event(type, eventData[, extensionData])")` function (client-side tracking) or the `EngageServer.event()` function (server-side tracking) to send the following events in this sequence:

1. [ADD event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/add-event.html "ADD event") - to capture the product details when a user adds a product to their cart.
2. [CONFIRM event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/confirm-event.html "CONFIRM event") - to capture a list of products that are in the cart before the payment is made.
3. One of the following:
    - [CHECKOUT event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/checkout-event.html "CHECKOUT event") - to capture a user's action of completing a purchase.
        - Optionally, after a CHECKOUT event, a [PAYMENT event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/payment-event.html "PAYMENT event") - to capture the user's payment method.
    - [CLEAR_CART event](https://doc.sitecore.com/cdp/en/developers/api/stream-api/sitecore-engage-sdk-reference/objects/event-data-object/clear_cart-event.html "CLEAR_CART event") - to capture the user's action of emptying their cart.

See [all options for sending orders](https://doc.sitecore.com/cdp/en/developers/api/stream-api/direct-http-requests-reference/sending-orders-1166443.html "Sending orders") to Sitecore CDP.

:::::::
