context
The context
property is an array of strings that determines what the Web SDK can automatically collect. While this data can provide great value, omitting some of this data can be beneficial so that you can comply with your organization’s privacy policy.
If you include a given context keyword, the Web SDK automatically populates all of its associated XDM elements. If you want to omit a specific XDM element while allowing others, you can clear values out using onBeforeEventSend
. If you send multiple events on a page, the Web SDK includes these fields on every SendEvent
call.
The "web"
keyword collects information about the current page.
Dimension | Description | XDM path | Example value |
---|---|---|---|
Page URL | The URL of the current page. | xdm.web.webPageDetails.URL |
https://example.com/index.html |
Referrer URL | The URL of the previous page visited. | xdm.web.webReferrer.URL |
http://example.org/linkedpage.html |
The "device"
keyword collects information about the user’s device.
Dimension | Description | XDM path | Example value |
---|---|---|---|
Screen height | The height of the screen in pixels. | xdm.device.screenHeight |
900 |
Screen width | The width of the screen in pixels. | xdm.device.screenWidth |
1440 |
Screen orientation | The orientation of the screen. | xdm.device.screenOrientation |
landscape or portrait |
The "environment"
keyword collects information about the user’s browser.
Dimension | Description | XDM path | Example value |
---|---|---|---|
Environment type | The type of environment through which the experience surfaced. The Web SDK always sets this field to browser . |
xdm.environment.type |
browser |
Viewport height | The height of the browser’s content area in pixels. | xdm.environment.browserDetails.viewportHeight |
679 |
Viewport width | The width of the browser’s content area in pixels. | xdm.environment.browserDetails.viewportWidth |
642 |
The "placeContext"
keyword collects information about the user’s location.
Dimension | Description | XDM path | Example value |
---|---|---|---|
Local time | Local timestamp for the end user in simplified extended ISO 8601 format. | xdm.placeContext.localTime |
YYYY-08-07T15:47:17.129-07:00 |
Local timezone offset | The number of minutes that the user is offset from GMT. | xdm.placeContext.localTimezoneOffset |
360 |
Country code | The country code of the end user. | xdm.placeContext.geo.countryCode |
US |
State province | The state province code of the end user. | xdm.placeContext.geo.stateProvince |
CA |
Latitude | The latitude of the end user location. | xdm.placeContext.geo._schema.latitude |
37.3307447 |
Longitude | The longitude of the end user location. | xdm.placeContext.geo._schema.longitude |
-121.8945965 |
The timestamp
keyword collects information about the timestamp of the event. This part of context cannot be removed.
Dimension | Description | XDM path | Example value |
---|---|---|---|
Timestamp of the event | UTC timestamp for the end user in simplified extended ISO 8601 format. | xdm.timestamp |
2019-08-07T22:47:17.129Z |
The implementationDetails
keyword collects information about the SDK version used to collect the event.
Dimension | Description | XDM path | Example value |
---|---|---|---|
Name | The software development kit (SDK) identifier. This field uses a URI to improve uniqueness among identifiers provided by different software libraries. | xdm.implementationDetails.name |
When the standalone library is used, the value is https://ns.adobe.com/experience/alloy . When the library is used as part of the tag extension, the value is https://ns.adobe.com/experience/alloy+reactor . |
Version | The software development kit (SDK) version. | xdm.implementationDetails.version |
When the standalone library is used, the value is the library version. When the library is used as part of the tag extension, the value is the library version and the tag extension version joined with a + . For example, if the library version is 2.1.0 and the tag extension version is 2.1.3 , the value would be 2.1.0+2.1.3 . |
Environment | The environment where the data was collected. This is always set to browser . |
xdm.implementationDetails.environment |
browser |
See the documentation on user agent client hints for detailed information on how to configure them.
The "highEntropyUserAgentHints"
keyword collects detailed information about the user’s device. This data is included in the HTTP header of the request sent to Adobe. After the data has arrived within the Edge network, the XDM object populates its respective XDM path. If you set the respective XDM path in your sendEvent
call, it takes precedence over the HTTP header value.
If you use device lookups when configuring your datastream, data can be cleared out in favor of device lookup values. Some client hint fields and device lookup fields cannot exist in the same hit.
Property | Description | HTTP header | XDM path | Example |
---|---|---|---|---|
Operating system version | The version of the operating system. | Sec-CH-UA-Platform-Version |
xdm.environment.browserDetails. userAgentClientHints.platformVersion |
10.15.7 |
Architecture | The underlying CPU architecture. | Sec-CH-UA-Arch |
xdm.environment.browserDetails. userAgentClientHints.architecture |
x86 |
Device model | The name of the device used. | Sec-CH-UA-Model |
xdm.environment.browserDetails. userAgentClientHints.model |
Intel Mac OS X 10_15_7 |
Bitness | The number of bits that the underlying CPU architecture supports. | Sec-CH-UA-Bitness |
xdm.environment.browserDetails. userAgentClientHints.bitness |
64 |
Browser vendor | The company that created the browser. The low entropy hint Sec-CH-UA also collects this element. |
Sec-CH-UA-Full-Version-List |
xdm.environment.browserDetails. userAgentClientHints.vendor |
Google |
Browser name | The browser used. The low entropy hint Sec-CH-UA also collects this element. |
Sec-UA-Full-Version-List |
xdm.environment.browserDetails. userAgentClientHints.brand |
Chrome |
Browser version | The significant version of the browser. The low entropy hint Sec-CH-UA also collects this element. Exact browser version is not automatically collected. |
Sec-UA-Full-Version-List |
xdm.environment.browserDetails. userAgentClientHints.version |
105 |
The context information setting is a combination of radio buttons and check boxes when configuring the tag extension. Each checkbox maps to a context keyword.
Set the context
array of strings when running the configure
command. If you omit this property when configuring the SDK, all context information except "highEntropyUserAgentHints"
is collected by default. Set this property if you want to collect high entropy client hints, or if you want to omit other context information from data collection. Strings can be included in any order.
If you want to collect all context information, including high entropy client hints, you must include every value in the context
array string. The default context
value omits highEntropyUserAgentHints
, and if you set the context
property, any omitted values do not collect data.
alloy("configure", {
datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
context: ["web", "device", "environment", "placeContext", "highEntropyUserAgentHints"]
});