Skip to main content
The page event records whenever a user views a page on your website or a screen in your mobile app. Both the web SDK and mobile SDK emit page events with channel set to "web" or "mobile" respectively. On web, page properties are automatically collected from the browser. On mobile, the screen name is mapped to page-equivalent fields (page_title, page_path, page_url) so that web and mobile views are processed through the same analytics pipeline.

Fields

Apart from the common fields, the page call accepts the following properties:
PropertyTypeDescription
urlStringFull URL of the page.
pathStringPath component of the URL (without query string or hash).
hashStringHash fragment of the URL (e.g., #section).
queryStringQuery string of the URL (without the leading ?).
nameStringName of the page or screen.
categoryStringCategory of the page or screen.
titleStringTitle of the page.

Properties

The following table shows which properties are automatically set by each SDK:
PropertyWeb SDKMobile SDK
properties.urlwindow.location.hrefNot set
properties.pathwindow.location.pathnameNot set
properties.hashwindow.location.hashNot set
properties.querywindow.location.searchNot set
properties.nameCaller-providedScreen name (required)
properties.categoryCaller-providedCaller-provided
context.page_urlwindow.location.hrefapp://{screenName}
context.page_titledocument.titleScreen name
context.page_pathNot set (derived in backend)Not set (derived in backend)
context.referrerdocument.referrerFrom deep link (if set)
context.user_agentBrowser user agentDevice user agent (if available)
context.os_nameNot setiOS or Android
context.device_typeNot setmobile or tablet
context.app_nameNot setFrom native config or options
context.app_versionNot setFrom native config or options
channel"web""mobile"

Sample Payload (Web)

{
    "type": "page",
    "channel": "web",
    "context": {
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36",
        "locale": "en-US",
        "timezone": "Asia/Saigon",
        "location": "ID",
        "referrer": "https://chatgpt.com/",
        "utm_source": "chatgpt.com",
        "utm_medium": "",
        "utm_campaign": "",
        "utm_term": "",
        "utm_content": "",
        "page_url": "https://formo.so/faucets?utm_source=chatgpt.com",
        "page_title": "Free testnet faucets",
        "library_name": "Formo Web SDK",
        "library_version": "1.25.0",
        "browser": "chrome",
        "screen_width": 1920,
        "screen_height": 1080,
        "screen_density": 1,
        "viewport_width": 1920,
        "viewport_height": 969
    },
    "properties": {
        "url": "https://formo.so/faucets?utm_source=chatgpt.com",
        "path": "/faucets",
        "hash": "",
        "query": "utm_source=chatgpt.com",
        "name": "Faucets",
        "category": "Docs",
        "title": "Free testnet faucets"
    }
}

Sample Payload (Mobile)

Screen events from the mobile SDK are sent as page events with channel: "mobile":
{
    "type": "page",
    "channel": "mobile",
    "version": "1",
    "session_id": "117b982a451dc22edea6413b8e20958216c0a5b3baaa1d90699c42dbf4e74e33",
    "anonymous_id": "c2bc0ebe-d852-49d1-9efd-e45744850ae0",
    "context": {
        "library_name": "Formo React Native SDK",
        "library_version": "1.0.0",
        "page_title": "Wallet",
        "page_url": "app://Wallet",
        "locale": "en-US",
        "timezone": "America/New_York",
        "location": "US",
        "os_name": "iOS",
        "os_version": "17.0",
        "device_model": "iPhone 14 Pro",
        "device_manufacturer": "Apple",
        "device_type": "mobile",
        "app_name": "MyDeFiApp",
        "app_version": "2.1.0",
        "app_build": "42",
        "network_wifi": true,
        "network_cellular": false
    },
    "properties": {
        "name": "Wallet",
        "category": "Main"
    }
}