Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

Spec: Page


The Page call lets you record whenever a user sees a page of your website, along with any optional properties about the page. Calling Page or Screen in a Segment source is one of the first steps to getting started with Segment.

Segment University: The Page Method
Check out our high-level overview of the Page method in Segment University. (Must be logged in to access.)

Note: In analytics.js a Page call is included in the snippet by default, just after analytics.load. Many destinations require a page event to be fired at least once per page load for proper initialization. You can add an optional name or properties object to the default call, or make a Page call multiple times per page load if you have a single-page application.

Here's the payload of a typical Page call with most common fields removed:

1
{
2
"type": "page",
3
"name": "Home",
4
"properties": {
5
"title": "Welcome | Initech",
6
"url": "http://www.example.com"
7
}
8
}

And here's the corresponding JavaScript event that would generate the above payload. If you're using Segment's JavaScript library, the page name and URL are automatically gathered and passed as properties into the event payload:

analytics.page("Retail Page","Home");
(information)

Info

Based on the library you use, the syntax in the examples might be different. You can find library-specific documentation on the Sources Overview page.

Beyond the common fields, the Page call takes the following fields:

FieldTypeDescription
categoryoptionalStringThe category of the page, added to the properties object.

Passed as the first argument in a page call, for example analytics.page("category", "name");
nameoptionalStringName of the page

For example, most sites have a "Signup" page that can be useful to tag, so you can see users as they move through your funnel.
propertiesoptionalObjectFree-form dictionary of properties of the page, like url and referrer

See the Properties field docs for a list of reserved property names.

Example

example page anchor

Here's a complete example of a Page call:

1
{
2
"anonymousId": "507f191e810c19729de860ea",
3
"channel": "browser",
4
"context": {
5
"ip": "8.8.8.8",
6
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36"
7
},
8
"integrations": {
9
"All": true,
10
"Mixpanel": false,
11
"Salesforce": false
12
},
13
"messageId": "022bb90c-bbac-11e4-8dfc-aa07a5b093db",
14
"name": "Home",
15
"properties": {
16
"title": "Welcome | Initech",
17
"url": "http://www.example.com"
18
},
19
"receivedAt": "2015-02-23T22:28:55.387Z",
20
"sentAt": "2015-02-23T22:28:55.111Z",
21
"timestamp": "2015-02-23T22:28:55.111Z",
22
"type": "page",
23
"userId": "97980cfea0067",
24
"version": "1.1"
25
}

The User ID is a unique identifier for the user performing the actions. Check out the User ID docs for more detail.

The Anonymous ID can be any pseudo-unique identifier, for cases where you don't know who the user is, but you still want to tie them to an event. Check out the Anonymous ID docs for more detail.

Note: In our browser and mobile libraries a User ID is automatically added from the state stored by a previous identify call, so you do not need to add it yourself. They will also automatically handle Anonymous IDs under the covers.


Properties are extra pieces of information that describe the page. They can be anything you want.

Segment handles properties with semantic meanings in unique ways. For example, Segment always expects path to be a page's URL path, and referrer to be the previous page's URL.

You should only use reserved properties for their intended meaning.

Reserved properties Segment has standardized:

PropertyTypeDescription
nameStringName of the page. Reserved for future use.
pathStringPath portion of the page's URL. Equivalent to canonical path(link takes you to an external page) which defaults to location.pathname(link takes you to an external page) from the DOM API.
referrerStringPrevious page's full URL. Equivalent to document.referrer(link takes you to an external page) from the DOM API.
searchStringQuery string portion of the page's URL. Equivalent to location.search(link takes you to an external page) from the DOM API.
titleStringPage's title. Equivalent to document.title(link takes you to an external page) from the DOM API.
urlStringPage's full URL. Segment first looks for the canonical URL. If the canonical URL is not provided, Segment uses location.href(link takes you to an external page) from the DOM API.
keywordsArray [String]A list/array of keywords describing the page's content. The keywords would most likely be the same as, or similar to, the keywords you would find in an HTML meta(link takes you to an external page) tag for SEO purposes. This property is mainly used by content publishers that rely heavily on pageview tracking. This isn't automatically collected.

Note: In Analytics.js, Segment automatically sends the following properties: title, path, url, referrer, and search.