# Pageview Tracking

## Pageview Tracking in the JENTIS Data Layer

When a visitor navigates to a new page, it's important to submit a **pageview interaction** to the JENTIS Data Layer. This signals that a new page has been loaded and allows proper tracking of that user action.

### `pageview` Command

#### Example Usage

```javascript
// Example only – do not execute directly
_jts.push({
  track: "pageview",
  // optional properties
});
```

#### Mandatory Properties

There are **no required properties** for the `pageview` track command.

#### Optional Properties

| Name              | Description                                            | Type   | Example Value                    |
| ----------------- | ------------------------------------------------------ | ------ | -------------------------------- |
| `breadcrumb`      | An array of breadcrumb navigation elements.            | array  | `["home", "products", "family"]` |
| `group`           | Group the page into one or more categories.            | array  | `["cms", "storelocator"]`        |
| `pagetitle`       | Override the default page title from `document.title`. | string | `"myPageName"`                   |
| `virtualPagePath` | Define a custom URL to replace the browser’s URL.      | string | `"/my/virtual/url.html"`         |

#### Example

```javascript
_jts.push({
  track: "pageview",
  breadcrumb: ["Group1", "Group2", "Group3"],
  group: ["cms", "storefinder"],
  pagetitle: "Store Finder Page"
});
```

### Virtual Pageview Tracking

In single-page applications (SPAs) or other dynamic websites, page transitions may not result in actual browser page loads. In these cases, use the `virtualpageview` command to track virtual navigation.

#### `virtualpageview` Command

**Example Usage**

```javascript
// Example only – do not execute directly
_jts.push({
  track: "virtualpageview",
  virtualPagePath: "/my/virtual/url.html",
  // optional properties
});
```

#### Mandatory Properties

| Name              | Description                                          | Type   | Example Value            |
| ----------------- | ---------------------------------------------------- | ------ | ------------------------ |
| `virtualPagePath` | The URL representing the new location in the browser | string | `"/my/virtual/url.html"` |

#### Optional Properties

| Name         | Description                                            | Type   | Example Value                    |
| ------------ | ------------------------------------------------------ | ------ | -------------------------------- |
| `pagetitle`  | Override the default page title from `document.title`. | string | `"myVirtualPage"`                |
| `breadcrumb` | An array of breadcrumb navigation elements.            | array  | `["home", "products", "family"]` |
| `group`      | Group the page into one or more categories.            | array  | `["cms", "storelocator"]`        |

Use `virtualpageview` to ensure consistent and accurate tracking on websites with dynamic routing or JavaScript-based navigation systems.
