Common Properties

Journey Analytics trackers, on any OS, automatically enrich the events that you send, by adding more properties called common properties.

See below for a full list of common properties.

Common properties are added to all projects. These include data collected automatically by Journey Analytics trackers according to the specific OS, and enrichments done on the event, session and user level.

Automatically Enriched Properties

User Level:

We identify the user_id, and then look at everything we know about this user. For every event we collect we look to see whether the user was already active in the past. If he was, we assign the same user_internal_id to that user, connecting all his data to the same user_id.

Any user scope property you previously sent is added to the events we received on the user, such as: email, age, address, etc.

Additional information we learned during the last events is added to the user profile to be used in the next events this user will perform.

Session and Event Level:

All the session data we received earlier to that session is added to the event. For example, when we identify a utm_source or a url_referrer parameter in the first event of the session we will copy this information (property) for all the following events during that same session (or until a new value for this property is received). The same is done for all the session scope properties you defined.

  • Geo location: from the IP of the event we add the country, city, state and region for any event we receive.
  • Device: based on the "device user agent" we add the device type, operating system, browser and other device properties.
  • URL: based on the URL of the event, we add the UTM tags, URL referrer, and traffic_source properties.
  • is_new: on the first session the user ever did we mark all the events in the session as new (is_new=1). You can use this to distinguish new from returning users.
  • event_duration: we add the time (in milliseconds) it took the user to perform each event to the event. This is done by calculating the time that passed from the current event to the following one performed by the same user. Thus, the duration of the last event of every session is always zero. This enables you to see where users stall, or what phases in their path are carried quickly.
  • session_duration: the total time passed from the first event in the session to the last. We calculate this when the session is completed (30 mins of inactivity, configurable per project), to enable the analyst to easily understand session durations and the session duration distribution.
  • session_length: the number of events the user has performed during the session. We add this number to the session to enable the analyst to see how many events are performed during a session, for example to easily identify extremely short 'bounce' sessions.

Full common Property list:

PropertiesDescriptionJSIOSAndroidASUnity
app_idThe app/bundle ID in the Play/Apple stores, Bundle ID. E.g. com.mycompany.myapp++
app_versionThe version of the app. E.g. 2.3.1++
browser_nameBrowser Name. E.g. Chrome, Safari+++
browser_versionThe version of the browser. E.g. 10, 11+++
carrierWireless carrier of the device owner. E.g. Orange, Vodafone++
connectivity_stateThe connectivity state of the device. E.g. Mobile, WiFi, Offline+++
customer_user_idThe user id of the hosting app.+++++
device_brandThe marketing brand of the device. E.g. iPhone 4, Samsung Galaxy S III+++++
device_manufacturerThe device manufacturer name. E.g. Samsung, Apple+++
device_modelThe device model name. E.g. "iPad 3,4", GT-I9300+++++
device_nameThe user defined name of the device. Note: on Android, this property is not supported and always contains the string "".+
device_orientationThe device orientation. E.g. Portrait, Landscape+++
device_osThe Operating System of the device. E.g. Android, iOS+++++
device_os_versionThe OS version of the device. E.g. 4.1+++++
device_screen_sizeThe width and the height of the device screen. E.g. 300x400++++
device_typeThe type of the device. E.g. Desktop, Mobile, Tablet++++
device_unique_identifierA unique device identifier. In iOS it will return UIDevice identifierForVendor, and in Android the device IMEI.+
event_time_tsThe timestamp of the event+++++
install_referrerInstall Referral is used to track the installation source of the app.+
ip_cityThe city of the event sender, extracted from the IP+++
ip_countryThe country of the event sender, extracted from the IP.+++
ip_latitudeThe latitude location of the event sender, extracted from the IP.+++
ip_longitudeThe longitude location of the event sender, extracted from the IP.+++
ip_regionThe region of the event sender, extracted from the IP.+++
location_altitudeThe altitude, available only if the user permitted to access location and supported by device.+
location_latitudeThe latitude location, available only if the user permitted to access location+
location_longitudeThe longitude location, available only if the user permitted to access location+
page_titleThe web page's title tag.+
page_urlThe URL of the page the user was on when the event was sent. Sent with page_load events by default.
page_url_paramsAll params included in the URL, after question mark character of the page the user was on when the event was sent. Sent with page_load events by default.+
referring_domainThe the domain that users "came from" when visiting your page.+
referring_urlThe the URL that users "came from" when visiting your page.+
session_durationThe duration of the session in milliseconds.+++++
session_idA unique ID that assigns a specific user for the duration of that user's visit.+++++
session_screen_scaleThe current screen resolution, in this format: {SCREEN_WIDTH , SCREEN_HEIGHT}+
time_in_appThe time in seconds from the Journey Analytics tracker initialization (usually from application load time if Journey Analytics tracker is initialized when the application loads).+
timezone_offsetThe device time zone offset from UTC time, in hours. E.g. -2.5+++
tracker_typeJourney Analytics tracker type. E.g. Android, iOS++++
tracker_versionJourney Analytics tracker version. E.g. 2.1.0++++
traffic_sourceA combination of the page URL and the page referrer to infer where traffic to the website has come from.+
user_idJourney Analytics internal user id. Always use the property when applicable.++++
user_local_timeThe user local time calculated based on the UTC time + timezone offset+++
utm_campaignCampaign Name - Used for keyword analysis. Use utm_campaign to identify a specific product promotion or strategic campaign. E.g. spring_sale++
utm_contentCampaign Content - Used for A/B testing and content-targeted ads to differentiate ads or links that point to the same URL. E.g. logolink, textlink++
utm_mediumCampaign Medium - Used to identify a medium such as email or cost-per- click. E.g: cpc++
utm_sourceCampaign Source - Used to identify a search engine, newsletter name, or other source. E.g. google++
utm_termCampaign Term - Used for paid search to note the keywords for this ad. E.g. running+shoes++

Manually Enriched Properties

There are additional properties that can be enriched by the server, on the event level, but will need your action. Since not all potentially enrichable properties are relevant to every user, we've built a mechanism that lets you decide specifically which properties you want to have enriched in addition to the Common Properties. The enrichment of those properties is divided into two groups:

  • Enrichment based on the event triggering device's IP.
  • Enrichment based on the event triggering device.

In order to use those properties you should:

  1. Select a property from the list below.
  2. Copy its name and add to it the prefix of the relevant group. The prefixes are:
    1. coola_enrich_ip_
    2. coola_enrich_dua_
  3. Example: if you are interested in having a property that checks if a visitor to my site is a robot you should use the following phrase:
    1. Prefix: coola_enrich_dua_
    2. Property: isRobot
    3. And put them together like so: coola_enrich_dua_isRobot
  4. When you have your enrichment phrase create a Property with that enrichment phrase. Click Cog icon → Click "Properties":

    1. Add new property Plus icon
    2. Add the name: coola_enrich_dua_isrobot
    3. Add the source: coola_enrich_dua_isRobot
    4. Datatype should be STRING
    5. The Scope should be EVENT
  5. Save the new property.

From now on, this property will be used to enrich incoming events (if applicable).

IP Enrichment

Below you can find all the properties of which enrichment is based on the event triggering device's IP. It should be used with the prefix and the property name as so: coola_enrich_ip_<IP_PROPERTY>

If you need more details on the enrichment, based on the device's IP, please have a look here.

PropertiesDescription
geoname_idA unique identifier for the network's location as specified by www.geonames.org
country_iso_codeA two-character ISO 3166-1 country code for the country associated with the location.
continent_codeThe continent code for this location.
continent_nameThe continent name for this location in the file's locale.
subdivision_1_iso_codeA string of up to three characters containing the region-portion of the ISO 3166-2 code for the first level region associated with the IP address.
subdivision_1_nameThe subdivision name for this location in the file's locale.
accuracy_radiusThe approximate accuracy radius, in kilometers, around the latitude and longitude for the geographical entity (country, subdivision, city or postal code) associated with the IP address.
metro_codeThe metro code associated with the IP address. These are only available for networks in the US.
time_zoneThe time zone associated with location, as specified by the IANA Time Zone Database, e.g., "America/New_York".
registered_country_geoname_idThe registered country is the country in which the ISP has registered the network.
represented_country_geoname_idThe represented country is the country which is represented by users of the IP address.
postal_codeThe postal code associated with the IP address.

DUA Enrichment

Below you can find all the properties of which enrichment is based on the event triggering device. It should be used with the prefix and the property name as so: coola_enrich_dua_<DUA_PROPERTY>

If you need more details on the enrichment, based on the device's User Agent, please have a look here.

PropertiesDescription
isBrowserIdentifies desktop browsers.
isRobotIdentifies non-human traffic (robots, crawlers, checkers, download agents, spam harvesters and feed readers).
isCheckerIdentifies link/site checkers.
isDownloaderIdentifies download agents/clients.
isFilterIdentifies proxy/content filters.
isSpamIdentifies known email address or spam harvesters.
isFeedReaderIdentifies feed reader clients.
isMasqueradingAsDesktopThe device is pretending to be a desktop browser.
botNameThe name of the robot and/or crawler.
isAppIdentifies non-browser apps and webviews.
networkOperatorThe mobile network operator that provides service to the device.
networkBrandThe brand name of the mobile network operator.
mccThe Mobile Country Code (MCC) of the brand.
mncThe Mobile Network Code (MNC) of the brand.
countryCodeThe country code of the network operator.
networkTypeThe type of the mobile network operator.
vendorThe company/organisation that provides a device, browser or other component to the market. It can be a manufacturer, mobile operator or other organisation exclusively offering a product.
yearReleasedThis is the year that the device was released (or announced)
mobileDeviceTrue if the device is meant for use on the move.
touchScreenUser may touch the screen to interact with the device.
diagonalScreenSizeThe diagonal dimension of the screen in inches.
displayPpiThe pixel density of the Device's screen. Pixels Per Inch.
devicePixelRatioRatio between physical pixels and device-independent pixels (dips) on the browser.
displayColorDepthThe color depth of a display.
nfcThe device has NFC (Near Field Communication) hardware.
cameraMegapixels of the camera if the device has one.
isMobilePhoneThe device is a mobile phone.
isTabletThe device is a tablet device.
isEReaderThe device is a reading device.
isGamesConsoleThe device is a games console.
isTVThe device is a television.
isSetTopBoxThe device is a set-top box.
isMediaPlayerThe device is a media player.
osVendorThe supplier of the operating system.
osFamilystringThe general group name of the operating system (eg. Windows).
osAndroidThe device is distributed with Android OS pre-installed.
osBadaThe device is distributed with Bada OS pre-installed.
osiOsThe device is distributed with iOS pre-installed.
osRimThe device is distributed with RIM OS pre-installed.
osSymbianThe device is distributed with Symbian OS pre-installed.
osWindowsMobileThe device is distributed with Windows Mobile pre-installed.
osWindowsPhoneThe device is distributed with Windows Phone pre-installed.
osWindowsRtThe device is distributed with Windows RT OS pre-installed.
osWebOsThe device is distributed with WebOS pre-installed.
osProprietaryThe device is distributed with a proprietary OS pre-installed.
developerPlatformCommercial name of the developer platform if any (Nokia Series 40, Sony Ericsson Java Platform, etc).
developerPlatformVersionIf the device was built around a Developer Platform, which version.
languageThe language requested by the device in an ISO-639 two-letter code – i.e. "en".
languageLocaleThe language locale requested by the device in an ISO-639 two-letter code followed by an ISO-3166 country code – i.e. "en-GB".
browserVendorThe supplier of the web browser.
browserRenderingEngineThe name or type of the browser rendering engine used by the browser.
markup_xhtmlBasic10The ability of the web browser to render a page using XHTML Basic 1.0.
markup_xhtmlMp10The ability of the web browser to render a page using XHTML-MP 1.0.
markup_xhtmlMp11The ability of the web browser to render a page using XHTML-MP 1.1.
markup_xhtmlMp12The ability of the web browser to render a page using XHTML-MP 1.2.
markup_wml1The ability of the web browser to render a page using WML.
vCardDownloadThe ability of the web browser to download and open the device's address book when a vCard URI is used.
image_Gif87The ability to display a GIF87 image embedded in a mobile web page, using a tag such as img or object.
image_Gif89aThe ability to display a GIF89a image embedded in a mobile web page, using a tag such as img or object.
image_JpgThe ability to display a JPG image embedded in a mobile web page, using a tag such as img or object.
image_PngThe ability to display a PNG image embedded in a mobile web page, using a tag such as img or object.
usableDisplayWidthThe horizontal size of the default browser's viewport, expressed in device independent pixels (DIPs), when held in its default orientation and the browser zoom is set to 100%. Also known as CSS resolution.
usableDisplayHeightThe vertical size of the default browser's viewport, expressed in device independent pixels (DIPs), when held in its default orientation and the browser zoom is set to 100%. Also known as CSS resolution.
uriSchemeTelThe ability of the web browser to start a telephone call when a URI is defined with the protocol 'tel' followed by a telephone number (e.g. tel:+35312345678).
uriSchemeSmsThe ability of the web browser to start a new SMS message when a URI is defined with the protocol sms followed by a telephone number (e.g. sms:+35312345678).
uriSchemeSmsToThe ability of the web browser to start a new SMS message when a URI is defined with the protocol smsto followed by a telephone number (e.g. smsto:+35312345678).
cookieSupportThe ability of a client to store cookies and send them when appropriate.
httpsbooleanThe web browser supports the SSL protocol. Support of different certificate authorities is independent from the ability of supporting SSL. Verify that a page protected with SSL is displayed properly
memoryLimitMarkupDescribes the maximum size in bytes for markup in a web page. Media is treated separately. Some browsers might have a variable memory limit based on the memory used by other applications, in that case 0 will be used.
memoryLimitEmbeddedMediaDescribes the maximum size in bytes for media files embedded in a web page. Media is treated separately. Some browsers might have a variable memory limit based on the memory used by other applications, in that case 0 will be used.
memoryLimitDownloadDescribes the maximum size in bytes for downloaded from a web page and stored locally (e.g. a ringtone or an image). Media is treated separately. Some browsers might have a variable memory limit based on the memory used by other applications, in that case 0 will be used.
flashCapableThe browser is Flash-Capable.
wapPushThe device is capable of receiving WAP Push notifications, opening a browser upon user instigation, and following the embedded link.
js_supportBasicJavaScriptThe browser has some level of JavaScript support, typically Alert, Confirm, setInterval, setTimeout.
js_modifyDomThe browser's JavaScript engine supports modifying DOM elements.
js_modifyCssThe browser's JavaScript engine supports modifying CSS elements.
js_supportEventsThe browser's JavaScript engine supports Events.
js_supportEventListenerThe browser's JavaScript engine supports Event Listeners.
js_xhrThe browser's JavaScript engine supports XMLHttpRequest.
js_supportConsoleLogThe browser's JavaScript engine supports console.log().
js_jsonThe browser's JavaScript engine supports JSON objects.
supportsClientSideIndicates whether the device supports the DeviceAtlas ClientSide component.
csdThe device is capable of connecting to CSD (Circuit Switched Data) networks.
hscsdThe device is capable of connecting to HS CSD (High Speed Circuit Switched Data) networks.
gprsThe device is capable of connecting to GPRS (General Packet Radio Service) networks.
edgeThe device is capable of connecting to EDGE (Enhanced Data rates for GSM Evolution) networks.
hsdpaThe device is capable of connecting to HSDPA (High-Speed Downlink Packet Access) networks.
umtsThe device is capable of connecting to UMTS (Universal Mobile Telecommunications System) networks.
hspaEvolvedThe device is capable of connecting to HSPA+ (Evolved High-Speed Packet Access) networks.
lteThe device is capable of connecting to LTE (Long Term Evolution) networks.
lteAdvancedThe device is capable of connecting to LTE Advanced (Long Term Evolution Advanced) networks.
lteCategoryThe UE Category of the device, defining the combined uplink and downlink capability as specified in 3GPP TS36.306.
volteThe device is capable of making VoLTE calls. When True, this implies LTE, HD Voice, and AMR-WB are True.
wifiThe device is capable of connecting to WiFi networks.
vowifiThe device is capable of seamless call handover between Wi-Fi and VoLTE connections.
rcsThe device natively supports Rich Communication Services as specified in GSMA RCS6.0 UNI.
html_audioThe browser supports the audio HTML tag.
html_canvasThe browser supports the canvas element.
html_inlinesvgThe browser supports inline SVG.
html_svgThe browser supports SVG.
html_videoThe browser supports the video HTML tag.
css_animationsThe browser supports CSS animations.
css_columnsThe browser supports CSS columns.
css_transformsThe browser supports CSS transforms.
css_transitionsThe browser supports CSS transitions.
js_applicationCacheThe browser's JavaScript engine supports Application Cache.
js_geoLocationThe browser's JavaScript engine supports Geo Location.
js_indexedDBThe browser's JavaScript engine supports indexedDB.
js_localStorageThe browser's JavaScript engine supports Local Storage.
js_sessionStorageThe browser's JavaScript engine supports Session Storage.
js_webGlThe browser's JavaScript engine supports Web GL.
js_webSocketsThe browser's JavaScript engine supports the Web Sockets API.
js_webSqlDatabaseThe browser's JavaScript engine supports the Web SQL Database API.
js_webWorkersThe browser's JavaScript engine supports the Web Workers API.
js_deviceOrientationThe browser's JavaScript engine supports Device Orientation.
js_deviceMotionThe browser's JavaScript engine supports Device Motion event.
js_touchEventsThe browser's JavaScript engine supports Touch events.
js_querySelectorThe browser's JavaScript engine supports the Query Selector.
stream_3gp_h264_level10booleanSupport for the streaming of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.0.
stream_3gp_h264_level10bSupport for the streaming of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.0b.
stream_3gp_h264_level11Support for the streaming of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.1.
stream_3gp_h264_level12Support for the streaming of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.2.
stream_3gp_h264_level13Support for the streaming of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.3.
stream_3gp_aac_lcSupport for the streaming of media encoded in the 3GP envelope, with the AAC (M4V/MP4) Low Complexity codec.
stream_3gp_h263Support for the streaming of media encoded in the 3GP envelope, with the H263 codec. Verify that the browser behaves as expected.
stream_3gp_amr_nbSupport for the streaming of media encoded in the 3GP envelope, with the AMR audio codec, in Narrow Band.
stream_3gp_amr_wbSupport for the streaming of media encoded in the 3GP envelope, with the AMR audio codec, in Wide Band.
stream_mp4_h264_level11Support for the streaming of media encoded in the MP4 envelope, with the H264 codec and in Level 1.1.
stream_mp4_h264_level13Support for the streaming of media encoded in the MP4 envelope, with the H264 codec and in Level 1.3.
stream_mp4_aac_lcSupport for the streaming of media encoded in the MP4 envelope, with the AAC (M4V/MP4) Low Complexity codec.
stream_httpLiveStreamingSupport for the HTTP live Streaming protocol.
wmvThe ability to play WMV envelope for video files. The device is able to parse the WMV envelope for video files.
qcelpInVideoThe ability to play a video that includes audio encoded with QCELP (Qualcomm Code Excited Linear Prediction) codec. The device is able to play videos with audio encoded using QCELP.
3gp_h264_level10Support for the playback of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.0.
3gp_h264_level10bSupport for the playback of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.0b.
3gp_h264_level11Support for the playback of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.1.
3gp_h264_level12Support for the playback of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.2.
3gp_h264_level13Support for the playback of media encoded in the 3GP envelope, with the H264 (MPEG-2 PART 10) codec and in Level 1.3.
3gp_aac_lcSupport for the playback of media encoded in the 3GP envelope, with the AAC (M4V/MP4) Low Complexity codec.
3gp_h263Support for the playback of media encoded in the 3GP envelope, with the H263 codec. Verify that the browser behaves as expected.
3gp_amr_nbSupport for the playback of media encoded in the 3GP envelope, with the AMR audio codec, in Narrow Band.
3gp_amr_wbSupport for the playback of media encoded in the 3GP envelope, with the AMR audio codec, in Wide Band.
mp4_h264_level11Support for the playback of media encoded in the MP4 envelope, with the H264 codec and in Level 1.1.
mp4_h264_level13Support for the playback of media encoded in the MP4 envelope, with the H264 codec and in Level 1.3.
mp4_aac_lcSupport for the playback of media encoded in the MP4 envelope, with the AAC (M4V/MP4) Low Complexity codec.
midiMonophonicThe ability to play MIDI files with not more than 1 note at a time, normally Type 0.
midiPolyphonicThe ability to play MIDI files, can be Type 0 or Type 1, may have more than 1 note at a time.
amrThe ability to play AMR (Adaptive Multi-Rate) files as defined by 3GPP.
mp3The ability to play MP3 (MPEG-1 Audio Layer 3) files.
aacThe ability to play AAC (Advanced Audio Coding) as defined as part of the MPEG-4 specifications.
qcelpThe ability to play QCELP (Qualcomm Code Excited Linear Prediction) audio files.
drmOmaForwardLockThe device is able to open, read and respect the forward lock constraints as defined in the OMA DRM v1.0 specifications.
drmOmaCombinedDeliveryThe device is able to open, read and respect the combined delivery constraints as defined in the OMA DRM v1.0 specifications.
drmOmaSeparateDeliveryThe device is able to open, read and respect the separate delivery constraints as defined in the OMA DRM v1.0 specifications.
drmOmaDownloadThe device is able to open, read and respect the download rules as defined in the OMA DRM v1.0 specifications.
midpVersion number of supported Java MIDP (Mobile Information Device Profile), e.g. 1.0. The device fully supports JSR 37 or 118 and following as defined by Sun Microsystems.
cldcVersion number of supported Java CLDC (Connected Limited Device Configuration), e.g 1.0. The device fully supports JSR 30 or 139 and following as defined by Sun Microsystems.
jsr30The J2ME virtual machine implements JSR 30. The device fully supports JSR 30 as defined by Sun Microsystems.
jsr139The J2ME virtual machine implements JSR 139. The device fully supports JSR 139 as defined by Sun Microsystems.
jsr37The J2ME virtual machine implements JSR 37. The device fully supports JSR 37 as defined by Sun Microsystems.
jsr118The J2ME virtual machine implements JSR 118. The device fully supports JSR 118 as defined by Sun Microsystems.
jqmThe device supports jQueryMobile.