---
title: Track transactions - Flutter
description: Track transactions with the CSQ Flutter SDK
lastUpdated: 05 December 2025
source_url:
  html: https://docs.contentsquare.com/en/csq-sdk-flutter/experience-analytics/track-transactions/
  md: https://docs.contentsquare.com/en/csq-sdk-flutter/experience-analytics/track-transactions/index.md
---

To associate a user's session with their potential purchases (and corresponding revenue), you must send the transaction via a dedicated API.

```dart
import 'package:contentsquare/csq.dart';


final transaction = CustomerTransaction(
  price: 430.99,                  // required
  currency: Currency.EUR,         // required
  transactionId: "order_12345",   // optional
);
CSQ().trackTransaction(transaction);
```

Warning

**Each transaction must only be sent once**. A common mistake is to trigger the sending when the confirmation screen is displayed. This leads to triggering the transaction each time the user puts the app in background and then in foreground on the confirmation screen.
