---
title: Business Transaction Tracking
description: >-
  Monitor individual transaction processing across synchronous and asynchronous
  systems with Data Streams Monitoring's Business Transaction Tracking.
breadcrumbs: Docs > Data Streams Monitoring > Business Transaction Tracking
---

# Business Transaction Tracking

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site). ().
{% /alert %}

{% /callout %}

{% callout %}
##### Join the Preview!

Transaction Tracking is in Preview. Use this form to submit your request today.

[Request Access](https://www.datadoghq.com/product-preview/business-transaction-tracking/)
{% /callout %}

Business Transaction Tracking monitors the complete processing of individual transactions across synchronous and asynchronous systems to help you meet SLAs and regulatory requirements.

With DSM's transaction tracking, you can:

- Monitor end-to-end latency of transactions from receipt to completion, across synchronous and asynchronous data streams processes
- Detect SLO breaches, stuck transactions, and dropped transactions
- Identify transactions breaching SLAs to notify and compensate customers
- Generate transaction ID reports to meet regulatory requirements
- Troubleshoot by inspecting example delayed, stuck, or dropped transaction IDs in APM, logs, or internal databases

{% image
   source="https://docs.dd-static.net/images/data_streams/btt-outcome.f092fa4cbfe02e95e2a389802832cb98.png?auto=format"
   alt="A transaction pipeline detail page showing Summary, Monitors, and Breached Transactions sections. The Summary section displays three graphs: Transactions by Status (successful vs. breached), Success Rate, and Latency percentiles over time. The Monitors section shows one alert-status monitor for breached transactions. The Breached Transactions section lists transaction IDs with their start time, duration, and pathway from start to finish." /%}

## How it works{% #how-it-works %}

Data Streams Monitoring (DSM) extracts transaction IDs from sync (like HTTP request/response) and async (like Kafka produced/consumed) message headers. When an individual transaction's ID is available in headers across all services with a checkpoint, DSM can follow the transaction across these services until its completion.

## Create a transaction pipeline{% #create-a-transaction-pipeline %}

1. Navigate to [Data Streams Monitoring > Transactions](https://app.datadoghq.com/data-streams/transactions). You must [complete the form](https://www.datadoghq.com/product-preview/business-transaction-tracking/) to access this page.
1. Select Create Transaction Pipeline.
1. In the modal, define:
   - Pipeline Name: A name for your pipeline
   - Steps to track transactios across services. For each step, select a Service, an Environment, and an Extractor Type. Define a Header Name.
     {% image
        source="https://docs.dd-static.net/images/data_streams/btt-create-pipeline.8051ea8c78b0b54686e6c7b8777cd3db.png?auto=format"
        alt="The Create Transaction Tracking Pipeline modal at step 1, Define. Fields include Pipeline Name and SLO Duration. Two steps are configured: a start step using the transaction-generator service with an HTTP Response Header extractor type, and an end step using the transaction-queuer service with an HTTP Request Header extractor type." /%}
1. Click Save and Continue.
1. Verify your checkpoints. If any checkpoints require configuration, copy and paste the provided environment variables into your service deployment.
   {% image
      source="https://docs.dd-static.net/images/data_streams/btt-configure-verify.8a63a0a3f44f2e24eca9fac024c71802.png?auto=format"
      alt="The Configure and Verify Checkpoints modal at step 2. Two services are listed with Needs Configuration status: transaction-generator with a start checkpoint, and transaction-queuer with a queuer-in checkpoint. Each service displays a DD_DATA_STREAMS_TRANSACTION_EXTRACTORS environment variable to copy into the service deployment." /%}
1. Click Done.
