An event that describes the action of viewing a page.

Here's an example of a _Page View_:

- JavaScript
- Swift
- Kotlin

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

"clientId": "kevel",

"siteId": "kevel.com",

"type": "pageView",

"customFields": {

"debug": "true",

"role": "superuser"

},

"title": "Welcome to your Shop",

"pageType": "homepage",

"category": "Shopping"

})
```

```swift
import Foundation

let event = """{

"clientId": "kevel",

"siteId": "kevel.com",

"type": "pageView",

"customFields": {

"debug": "true",

"role": "superuser"

},

"title": "Welcome to your Shop",

"pageType": "homepage",

"category": "Shopping"

}"

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": "pageView",

"customFields": {

"debug": "true",

"role": "superuser"

},

"title": "Welcome to your Shop",

"pageType": "homepage",

"category": "Shopping"

}"""

val trackUri = "https://tr.cdp.$websiteDomain/events".toUri().buildUpon()

.appendQueryParameter("id_$idType", id)

.appendQueryParameter("cookies", "false")

// Network requests aren't allowed in main thread. Get adequate scope from context.

// See https://kotlinlang.org/docs/coroutines-guide.html for more info.

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 {

// Trigger the request

conn.responseCode

} finally {

conn.disconnect()

}

}
```

In more detail, the fields supported on every _Page 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_ | `"pageView"` |  | `"pageView"` | 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/pageView#facebook-conversion-tracking-details) |  | `[...](https://docs.audience.kevel.com/collect/events/pageView#facebook-conversion-tracking-details)` | A description of a tracking event to send to Facebook using Facebook Conversions API. |
| `title` |  | string |  | `"Welcome to your Shop"` | The page title. |
| `pageType` |  | string |  | `"homepage"` | The type of the page being viewed. |
| `category` |  | string |  | `"Shopping"` | The category of the page being viewed. |

### 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). |
