An event that describes the action of viewing content, such as a newspaper article, on a website.

Here's an example of a _Content View_:

- JavaScript
- Swift
- Kotlin

```javascript
pcdp("event", "track", {

"clientId": "kevel",

"siteId": "kevel.com",

"type": "contentView",

"customFields": {

"debug": "true",

"role": "superuser"

},

"content": {

"id": "25545c",

"name": "Internet reaches 4bn users",

"categoriesList": [

"News",

"Internet"

],

"media": "article",

"access": "paid"

}

})
```

```swift
import Foundation

let event = """
{

"clientId": "kevel",

"siteId": "kevel.com",

"type": "contentView",

"customFields": {

"debug": "true",

"role": "superuser"

},

"content": {

"id": "25545c",

"name": "Internet reaches 4bn users",

"categoriesList": [

"News",

"Internet"

],

"media": "article",

"access": "paid"

}
}
"""

let trackUrl = "https://tr.cdp.\(websiteDomain)/events"

var urlComponents = URLComponents(string: trackUrl)!

urlComponents.queryItems = [  
  URLQueryItem(name: "id_\(idType)", value: id),  
  URLQueryItem(name: "cookies", value: "false")  
]

var request = URLRequest(url: urlComponents.url!)

request.httpMethod = "POST"

request.setValue("application/json", forHTTPHeaderField: "Content-Type")

request.setValue(userAgent, forHTTPHeaderField: "User-Agent")

request.httpBody = event.data(using: .utf8)!

URLSession.shared.dataTask(with: request).resume()
```

```kotlin
import androidx.core.net.toUri

import org.json.JSONObject

import java.net.URL

import javax.net.ssl.HttpsURLConnection

val event = """
{

"clientId": "kevel",

"siteId": "kevel.com",

"type": "contentView",

"customFields": {

"debug": "true",

"role": "superuser"

},

"content": {

"id": "25545c",

"name": "Internet reaches 4bn users",

"categoriesList": [

"News",

"Internet"

],

"media": "article",

"access": "paid"

}
}
"""

val trackUri = "https://tr.cdp.$websiteDomain/events".toUri().buildUpon()
    .appendQueryParameter("id_\(idType)", id)
    .appendQueryParameter("cookies", "false")

coroutineScope.launch(Dispatchers.IO) {
    val conn = (URL(trackUri.toString()).openConnection() as HttpsURLConnection).apply {
        requestMethod = "POST"
        setRequestProperty("User-Agent", userAgent)
        setRequestProperty("Content-Type", "application/json")
        doOutput = true
    }

conn.outputStream.use { os ->
        os.write(event.toByteArray(Charsets.UTF_8))
    }

try {
        conn.responseCode
    } finally {
        conn.disconnect()
    }
}
```

In more detail, the fields supported on every _Content View_ are:

| Field | Required | Type | Default | Example | Description |
| --- | --- | --- | --- | --- | --- |
| `clientId` |  | string |  | `"kevel"` | The client identifier. |
| `siteId` |  | string |  | `"kevel.com"` | The client's site identifier. |
| `type` | _required_ | `"contentView"` |  | `"contentView"` | The event type. |
| `customFields` |  | object of string |  | `{...}` | An object with custom fields for extra metadata to be supplied in the event. The values within this object must all be strings. |
| `facebookConversionTracking` |  | [Facebook Conversion Tracking Details](https://docs.audience.kevel.com/collect/events/contentView#facebook-conversion-tracking-details) |  | [`{...}`](https://docs.audience.kevel.com/collect/events/contentView#facebook-conversion-tracking-details) | A description of a tracking event to send to Facebook using Facebook Conversions API. |
| `content` | _required_ | [Content](https://docs.audience.kevel.com/collect/events/contentView#content) |  | [`{...}`](https://docs.audience.kevel.com/collect/events/contentView#content) | A description of the actual content being viewed. |

### Facebook Conversion Tracking Details [​](https://docs.audience.kevel.com/collect/events/contentView#facebook-conversion-tracking-details "Direct link to Facebook Conversion Tracking Details")

A description of a tracking event to send to Facebook using Facebook Conversions API.

| Field | Required | Type | Default | Example | Description |
| --- | --- | --- | --- | --- | --- |
| `pixel_id` |  | string |  | `"396622227884531"` | The pixel ID to associate this Facebook tracking event with. |
| `event_id` |  | string |  | `"0c53d0b57"` | ID used to deduplicate events sent by both Facebook Pixel and Conversions API. More information about the usefulness of this ID is available at [https://developers.facebook.com/docs/marketing-api/server-side-api/using-the-api/deduplicate-pixel-and-server-side-events](https://developers.facebook.com/docs/marketing-api/server-side-api/using-the-api/deduplicate-pixel-and-server-side-events). |
| `event_name` |  | string |  | `"AddToCart"` | A Facebook pixel Standard Event or Custom Event name. This field is used to deduplicate events sent by both Facebook Pixel and Conversions API. The available Standard Events are listed in [https://developers.facebook.com/docs/facebook-pixel/reference#standard-events](https://developers.facebook.com/docs/facebook-pixel/reference#standard-events). |
| `custom_data` |  | object |  | `{...}` | Parameters to send additional data Facebook can use for ads delivery optimization. More information about the fields that can be supplied here is available at [https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/custom-data](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/custom-data). |

### Content [​](https://docs.audience.kevel.com/collect/events/contentView#content "Direct link to Content")

A description of the actual content being viewed.

| Field | Required | Type | Default | Example | Description |
| --- | --- | --- | --- | --- | --- |
| `id` |  | string |  | `"25545c"` | The content identifier. |
| `name` |  | string |  | `"Internet reaches 4bn users"` | The title of the content. |
| `categoriesList` |  | array of string |  | `[`"News", "Internet"`]` | A hierarchically sorted list of the categories the content is inserted in. |
| `media` |  | string |  | `"article"` | The type of media this content is made of. Typical values are 'video', 'article' and 'blog'. |
| `access` |  | string |  | `"paid"` | The type of access associated with the content. Typical values are 'paid' and 'free'. |
