# Adobe Analytics Cloud Mode Integration

RudderStack lets you send your event data to Adobe Analytics via [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/develop/src/v0/destinations/adobe_analytics).

## Track

RudderStack categorizes the [`track`]({{< ref "event-spec/standard-events/track.md" >}}) events sent to Adobe into the following three types:

1. User tracking events
2. [Ecommerce events]({{< ref "destinations/streaming-destinations/adobe-analytics/ecommerce-events.md" >}})
3. [Heartbeat (video) events]({{< ref "destinations/streaming-destinations/adobe-analytics/adobe-analytics-heartbeat.md" >}})

A sample `track` call is as shown:

```javascript
rudderanalytics.track("User clicked link", {
  category: "click",
  label: "URL click"
})
```

Note that:
- Before sending the user tracking and heartbeat `track` events, you must [map them in the RudderStack dashboard]({{< ref "destinations/streaming-destinations/adobe-analytics/setting-up-adobe-analytics-in-rudderstack.md#connection-settings" >}}).
- RudderStack sends the ecommerce events to Adobe if they conform to the following mapping:

| RudderStack ecommerce event | Adobe event  |
| :---------------------- | :----------- |
| `Product Viewed`        | `prodView`   |
| `Product List Viewed`   | `prodView`   |
| `Product Added`         | `scAdd`      |
| `Product Removed`       | `scRemove`   |
| `Order Completed`       | `purchase`   |
| `Cart Viewed`           | `scView`     |
| `Checkout Started`      | `scCheckout` |
| `Cart Opened`           | `scOpen`     |
| `Opened Cart`           | `scOpen`     |

## Page

RudderStack sends a page view event to Adobe Analytics whenever you make a [`page`]({{< ref "event-spec/standard-events/page.md" >}}) call.

A sample `page` call is as shown:

```javascript
// Passing page category, name and properties
rudderanalytics.page("category", "name", {
  path: "path",
  url: "url",
  title: "title",
  search: "search",
  referrer: "referrer",
})
```

If this call is made, the `pageName` of the `window.s` variable will be set as **Viewed Page name**. RudderStack also sends other information like `referrer`,`url`, etc.

{{< info >}}
For every `page` call, RudderStack sets the mappings done in the dashboard as contextual data, eVars, hiers, lists and props. It calls the `t()` method to compile all the set variables and sends them to Adobe Analytics.
{{< /info >}}

## Overriding Adobe parameters

When sending data to Adobe Analytics via cloud mode, RudderStack lets you override the values of certain Adobe parameters in the final XML payload by passing the following event properties:

| Property name | Data type | Description |
| :-----| :-----| :-----| 
| `overrideEvars` | Object | Sets the value of the `eVar` tag. <br /><br />**Example**:<br /><br /><pre>{<br />  "evar1": "value1",<br />  "evar2": "value2",<br />}</pre> |
| `overrideHiers` | Object | Sets the value of the `hier` tag.<br /><br />**Example**:<br /><br /><pre>{<br />  "hier1": "oh1",<br />  "hier2": "oh2",<br />}</pre> |
| `overrideLists` | Object | Sets the value of the `list` tag.<br /><br />**Example**:<br /><br /><pre>{<br />  "list1": "bike, fazer90"<br />}</pre> |
| `overrideCustomProperties` | Object | Sets the value of the `prop` tag.<br /><br />**Example**:<br /><br /><pre>{<br />  "property1": "somevalue"<br />}</pre> |
| `overrideEventString` | String | Sets the value of the event string.<br /><br />**Example**: `scAdd` |
| `overrideProductString` | String | Sets the value of the product string. <br /><br />**Example**:<br /><br /> <pre>";product1;Games;event1=1"</pre> |
| `overrideEventName` | String | Fallback for events that are neither mapped or ecommerce events. <br /><br />**Example**: `tracking event` |
| `overridePageView` | Boolean | Send link and page values exclusively. If set to `true`, RudderStack sends page-related tags to Adobe, otherwise it sends link-related tags. |
