> ## Documentation Index
> Fetch the complete documentation index at: https://launchdarkly-preview.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Page viewed conversion metrics

> This topic explains how to create a page view conversion metric in LaunchDarkly.

> For the complete documentation index, see [llms.txt](/llms.txt). For the full documentation snapshot, see [llms-full.txt](/llms-full.txt).

## Overview

This topic explains how to create a page viewed metric in LaunchDarkly. Page viewed metrics track how often end users view an element on a page hosted at a specific URL. For example, you might want to track how often customers view an item when its price is discounted different amounts.

For example, you can use page viewed metrics to track:

* How many times a blog post was viewed
* Whether or not customers view a help article

<Warning title="Page viewed events are different from session replay visited URL properties">
  LaunchDarkly's observability features include a session replay plug-in that automatically tracks the URLs a user visits during a session recording. You can use the session replay `visited-url` property to filter the sessions displayed in the **Sessions** tab of the LaunchDarkly UI. However, you cannot use this property as an event for creating new metrics.

  This topic describes how to instrument page viewed events and metrics that you can use to create experiments or guarded rollouts.
</Warning>

## Prerequisites

Page viewed metrics are only compatible with the following JavaScript-based client SDKs:

* Electron
* JavaScript
* Node.js (client-side)
* React Web
* Vue

If you do not use one of these SDKs and would like to track page views, use a [custom conversion binary metric](/home/metrics/custom) instead.

<Warning title="Flush events when an end user is redirected">
  SDKs send events at regular intervals, such as every five seconds. If a browser redirects an end user to another page, any events that occurred between when the SDK last sent events and when the browser redirected will be lost. To avoid this, flush events when you know the browser will redirect an end user to another page, such as on click. To learn more, read [Flushing events](/sdk/features/flush).
</Warning>

## Metric definition

When you create a page viewed conversion metric, you must first decide:

* What you want to measure:
  * **Count**: the number of times a page was viewed.
  * **Occurrence**: whether or not a page was viewed.

Then, page viewed conversion metric definition options include:

* Analysis method:
  * for metrics measuring count, you can analyze by:
    * **Average**: "average" is the default analysis method. This method calculates the average number of page views per context. For metrics you plan to use in funnel metric groups, you must select "Average."
    * **Percentile**: you can choose between P50-P99, which represent the 50th through the 99th percentile. This method counts the page views per context, then finds the number of page views that fall into the chosen percentile.
  * for metrics measuring occurrence, the metric automatically sets the analysis method to "average."
* **\[analysis unit]**: one or more context kinds, such as "user," "device," or "request," that the metric can measure events from.

For page viewed metrics, the unit aggregation method is automatically set to "sum." To learn more about the metric definition options, read [Analysis method](/home/metrics/components#analysis-method) and [Analysis units](/home/metrics/components#analysis-method).

## Create page viewed metrics

To create a page viewed metric:

1. Navigate to the **Metrics** list.
2. Click **Create metric**. The "Create metric" dialog appears.
3. If you use [Snowflake native Experimentation](/home/warehouse-native/snowflake), you have the option to select either **LaunchDarkly hosted** or **Warehouse native**. Select **LaunchDarkly hosted**.
4. Select an event kind of **Page viewed**.
5. Specify the **Target type** you want to track behavior on. Expand the section below to view the four types of URL matching.

<Accordion title="Expand URL matching options">
  \| URL matching schema

  \| Description

  | Example |
  | - |

  \| ---

  \| --- |
  \| Simple match

  \| This sends an event when the end user accesses a URL, or clicks on an element hosted at a URL, that matches the string you enter in the Target URL field or a formulation of that URL that included appended parameters. If you want events to record for URLs with substrings, specify each URL individually.

  \| If you specify:

  <ul><li> <code>[https://www.example.com](https://www.example.com)</code> </li></ul> Then LaunchDarkly sends events from views or clicks at:

  <ul><li> <code>[https://www.example.com](https://www.example.com)</code> </li> <li> <code>[https://www.example.com#signin](https://www.example.com#signin)</code> </li></ul> If you specify:

  <ul><li> <code>[https://www.example.com](https://www.example.com)</code> , and </li> <li> <code>[https://www.example.com/login](https://www.example.com/login)</code> </li></ul> Then LaunchDarkly sends events from views or clicks at:

  <ul><li> <code>[https://www.example.com](https://www.example.com)</code> </li> <li> <code>[https://www.example.com/login](https://www.example.com/login)</code> </li></ul> |
  \| Exact match

  \| This sends an event when the end user accesses a URL, or clicks on an element hosted at a URL, that exactly matches what you enter in the Target URL field. Identical base URLs with different substrings do not send events.

  \| If you specify:

  <ul><li> <code>[https://www.example.com](https://www.example.com)</code> </li></ul> Then LaunchDarkly sends events from views or clicks at:

  <ul><li> <code>[https://www.example.com](https://www.example.com)</code> </li></ul> Views and clicks at <code>[https://www.example.com/login](https://www.example.com/login)</code> and <code>[https://www.example.com#signin](https://www.example.com#signin)</code> do not send events. |
  \| Regular expression

  \| This sends an event based on a regex expression you specify. This lets you designate more precise locations to send click and page view events.

  \| If you specify:

  <ul><li> <code>example.com\\/account\\/.\*\\/billing</code> </li></ul> Then LaunchDarkly sends events from views or clicks at any string between <code>account/</code> and <code>/billing</code>, such as <code>[http://example.com/account/12345/billing](http://example.com/account/12345/billing)</code>. <br /> You can test your regular expressions using the tool at [Regular Expressions 101](https://regex101.com/). |
  \| Substring match

  \| This sends an event when the end user accesses a URL, or clicks on an element hosted at a URL with a specific string of text in it.

  \| If you specify:

  <ul><li> <code>[https://www.example.com](https://www.example.com)</code> </li></ul> Then LaunchDarkly sends events from views or clicks at:

  <ul><li> <code>[https://www.example.com/abc](https://www.example.com/abc)</code> </li> <li> <code>[https://www.example.com/def/ghi](https://www.example.com/def/ghi)</code> </li></ul> If you specify:

  <ul><li> <code>your-substring</code> </li></ul> Then LaunchDarkly sends events from views or clicks at:

  <ul><li> <code>example.com/your-substring</code> </li> <li> <code>example.com/username/your-substring/</code> </li> <li> <code>example.com/your-substring/settings</code> </li></ul> Because all of these URLs contain <code>your-substring</code>, clicks on the CSS selectors you specify on each page send events. |
</Accordion>

6. Enter the **Target URL**.
7. (Optional) Click **Add target URL** to track behavior on more than one URL.
8. Select what you want to measure:
   * **Count**: the number of times a page was viewed
   * **Occurrence**: whether or not a page was viewed
9. In the [Metric definition](#metric-definition) section, select the following:
   * Analysis method:
     * If you selected **Count** in step 7, select **Average** or a percentile between P50-P99 click rate.
     * If you selected **Occurrence** in step 7, the metric automatically sets this to "Average."
   * per **\[analysis unit]**: For page viewed metrics, the analysis unit will usually be "user," "customer," or similar, representing an individual person.

<Frame caption="A page viewed conversion metric.">
  ![A page viewed conversion metric.](https://files.buildwithfern.com/https://launchdarkly.docs.buildwithfern.com/docs/c0f082827b94eff78b26d04040774d845f6834a9fee0fb36a1ed8b67d28c80b4/assets/images/auto/metrics-event-kind-pageview.auto.png)
</Frame>

10. Enter a metric **Name**.
11. (Optional) Add a **Description**.
12. (Optional) Add any **Tags**.
13. (Optional) Update the **Maintainer**.
14. Click **Create metric**.

You can connect the metric to an [experiment](/home/experimentation/create) or [guarded rollout](/home/releases/guarded-rollouts) to monitor the impact of a flag change.

<Card icon="link">
  You can also use the REST API: [Create metric](/api-reference/metrics/create-metric)
</Card>
