# Smartly Cloud Mode Integration

After you have successfully instrumented Smartly as a destination in RudderStack, follow this guide to correctly send your events to Smartly in [cloud mode]({{< ref "/destinations/rudderstack-connection-modes.md#cloud-mode" >}}).

Find the open source transformer code for this destination in the [GitHub repository](https://github.com/rudderlabs/rudder-transformer/tree/main/src/cdk/v2/destinations/smartly).

## Track

You can use the [`track`]({{< ref "event-spec/standard-events/track.md" >}}) to record user actions along with any associated properties.

A sample `track` call is as shown:

```javascript
rudderanalytics.track(
  "Purchase", {
    adUnitId: "123456789",
    platform: "snapchat",
    adInteractionTime: 1640999520,
    installTime: 1640999825,
    timestamp: 1641000678,
    conversions: 1,
    value: 15,
    currency: "EUR",
  }
);

```

### Supported mappings

RudderStack maps the following `track` fields to the corresponding Smartly properties:

| RudderStack property | Destination property |  Data type | 
| :---- | :---- | :--- | 
| `event` <br/> <span style="color: #4D4DFF;font-size:12px;">Required</span>  | `event_name` |  String | 
| `properties.adUnitId` <br/> <span style="color: #4D4DFF;font-size:12px;">Required</span>  | `ad_unit_id` | Number |
| `properties.platform` <br/> <span style="color: #4D4DFF;font-size:12px;">Required</span> | `platform` |  String |  
| `properties.adInteractionTime` <br/> <span style="color: #4D4DFF;font-size:12px;">Required</span> | `ad_interaction_time` | UNIX (time in seconds) |  
| `properties.conversions` <br/> `properties.products.length` <br/> `1` | `conversions` |  Number |
| `properties.value` <br/> `properties.total` <br/> `properties.revenue` <br/> `properties.price*properties.quantity` | `value` | Number |  
| `properties.installTime` | `install_time` | UNIX (time in seconds) |  
| `originalTimestamp` <br/> `timestamp` | `event_time` |  UNIX (time in seconds) |  
| `properties.currency` | `value_currency` | Number  |
