---
title: Track transactions - Cordova
description: Track transactions with the Contentsquare Cordova plugin
lastUpdated: 07 April 2026
source_url:
  html: https://docs.contentsquare.com/en/cordova/track-transactions/
  md: https://docs.contentsquare.com/en/cordova/track-transactions/index.md
---

> Documentation index: https://docs.contentsquare.com/llms.txt
> Use this file to discover all available pages before exploring further.

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

* Price (`number`, mandatory)
* Currency (`CurrencyCode` or `string`, mandatory)
* Transaction ID (`string`, optional)

The plugin defines a `TransactionItem` type to prevent potential typing errors.

```javascript
import { ContentsquareCDVPlugin, CurrencyCode, TransactionItem } from '@contentsquare/cordova-plugin-types';


declare var ContentsquarePlugin: ContentsquareCDVPlugin;


const myTransaction: TransactionItem = {
      transactionValue: 10.99,
      transactionCurrency: CurrencyCode.USD,
      transactionId: 'my_transaction_id',
};


ContentsquarePlugin.sendTransaction(myTransaction, (result) => {
  // Success
}, (err) => {
    // Handle Error
});
```

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.

## Currency

The currency is conforming to the [ISO 4217 ↗](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes) standard. Although the currency can be passed as "alphanumeric code", you should always prefer using the plugin's CurrencyCode object values. If you have to pass the ISO code as a string, capitalization is not a factor (`"USD"`, `"Usd"` or `"usd"` will all be treated as the US Dollar).

If the currency passed doesn't match our supported currencies, the SDK will send a currency value of "-1". It will be processed as the default currency of the project.
