Contact Us

Analytics

Pendo Help CenterAnalyticsUnderstanding URLs for page tagging

Understanding URLs for page tagging

Overview

Pendo follows standard web URL syntax rules. A URL is composed of different parts but here are 3 main parts of a URL.

example URL: https://www.example.com/path/to/myfile.html

  1. https part of the URL is referred to as the protocol
  2. www.example.com part of the URL is referred to as the domain or host name
  3. /path/to/myfile.html part of the URL is called the path to the resource on the Web server

note: Web standards dictate that the path of the URL to be case sensitive in most cases. So as best practice go ahead and capture case syntax for tagged pages in Pendo.

Supported URLs

The following are examples of supported standard URL syntax:

  1. Standard URL: https://www.pendo.io/features/platform/index.html

  2. Wildcard: https://www.pendo.io/features/* (* denotes a wildcard)

  3. Multiple Wildcards: https://www.pendo.io/features/platform/index.html/*/*

  4. Ignore After (this will ignore everything after a double wildcard): https://www.pendo.io/features/platform/index.html/users/**

  5. Include a Contains: https://www.pendo.io/features/platform/index.html/users/~contains:dashboard

  6. Pendo will also understand the difference between: https://domain.com/url#page1 and https://domain.com/url#page2, however you will not be able to do a wildcard (*) after a fragment (#) in any page rules

  7. Query parameter existence: https://pendo.io?mobile

  8. Query parameter value: https://pendo.io?language=english

  9. Multiple query parameters: https://pendo.io?mobile&language=english

Parameterized URLs

note: If you have an interest in utilizing page parameterization, please contact help@pendo.io or your Customer Success Manager to have this feature enabled.

Pendo provides the ability to ‘parameterize’ a page URL. This functions similarly to wildcard * with a major addition: the various wildcard results will be created as their own page results nested under the ‘page’ you created. This is useful to easily create page rules across a countable variety of URLs with a single entry. To explain this further, let’s assume you have the following three page URLs that all carry mostly similar content or you would like to be viewed together:

https://www.pendo.io/features/foo/

https://www.pendo.io/features/bar/

https://www.pendo.io/features/ipsum/

We could use the following page rule to capture all three:

https://www.pendo.io/features/*parameter*/

These would appear inside your subscription under your page rule like this:

pageParameters.png

Unsupported URLs

Page Parameters: Pendo will skip any dynamically set page parameters in the URL (i.e. the section after an ; but before a ? or #).

We do not currently support any form of NOT within page rules. Additionally, we do not support ~contains: after a ?.

The * will only act as a wildcard when matching the entirety of a string between two slashes. For example, https://www.pendo.io/features will be matched by //*/* but not by //*.pendo.io/features or //www.pendo.io/f*s.

Neither * nor ~contains: works after a ?, they will be treated literally.

After a ?, order of query parameters is ignored. For example, https://www.pendo.io?first=one&second=two and https://www.pendo.io?first=one&second=two will both be matched by the page rule //www.pendo.io?first=one&second=two.

Custom Match

When using the Custom Match inside Manage Pages In-App there are various options that will appear below the URL.

namePage.png

Here is an explanation of the options:

  • <Ignore>: This will match everything inside of two forward slashes /*/
  • <Ignore after>: This will match everything else in the URL after a double star /**
  • <Parameter>: This works just like <Ignore>, but captures the values between the slashes
  • search_params=: This is related to the search/query part of the URL (i.e. everything after the ?, but before any #) set to a specific value
  • search_params=<anything>: This will include a search/query part of the URL set to any value

Examples

Query Parameters

To match https://www.pendo.io/features?language=english&mobile=false and https://www.pendo.io/features?language=french&mobile=true but not https://www.pendo.io/features?mobile=true: //www.pendo.io/features?language

To match https://www.pendo.io/features?language=english but not https://www.pendo.io/features?language=french: //www.pendo.io/features?language=english

Subdomains

To match https://app.pendo.io/ and https://help.pendo.io/ but not https://www.insert.io/: //~contains:pendo.io/**

© 2019 Pendo  |  Terms of Service  |  Privacy Policy