View this page as Markdown • #docs #ingest
Default Parameters
A list of default parameters that our SDKs send with every event.
Most of TelemetryDeck’s SDKs send a set of default parameters with every event. These are not required to be sent by the user, but are useful. Our default UI will use them to provide more context. All of these parameters are namespaced under TelemetryDeck to avoid conflicts.
Main Parameters
These parameters are sent with every event and are currently not namespaced. Please avoid using them in your own code.
appID(String): The ID of the app.clientUser(String): The ID of the user.type(String): The type of the event.receivedAt(Date): The date and time of the event. Ingest API v1 and v2 default this to the time the server received the event and move older dates into the last 24 hours. Ingest API v3 stores the value as sent.count(Int): The number of events sent with the event (automatically incremented by the server)isTestMode(Bool): Whether the event was sent in test mode. Stored as the stringtrueorfalse. Every dashboard query filters on this value.sessionID(String): The ID of the session.floatValue(Double): A float value that can be sent with the event.
App Info
Information about the specific app build, such as version, build number, or SDKs compiled with.
TelemetryDeck.AppInfo.buildNumber(String): The build number of the app.TelemetryDeck.AppInfo.version(String): The version of the app.TelemetryDeck.AppInfo.versionAndBuildNumber(String): The version and build number of the app, separated by a space.
Device
Information about the device running the application, such as operating system, model name, or architecture.
TelemetryDeck.Device.architecture(String): The architecture of the device.TelemetryDeck.Device.modelName(String): The model name of the device.TelemetryDeck.Device.operatingSystem(String): The operating system of the device.TelemetryDeck.Device.orientation(String): The orientation of the device.TelemetryDeck.Device.platform(String): The platform of the device.TelemetryDeck.Device.screenResolutionHeight(Double): The height of the screen in points.TelemetryDeck.Device.screenResolutionWidth(Double): The width of the screen in points.TelemetryDeck.Device.screenScaleFactor(Double): The scale factor to calculate pixels from points (e.g.2.0for Retina).TelemetryDeck.Device.systemMajorMinorVersion(String): The major and minor version of the operating system.TelemetryDeck.Device.systemMajorVersion(String): The major version of the operating system.TelemetryDeck.Device.systemVersion(String): The version of the operating system.TelemetryDeck.Device.timeZone(String): The time zone of the device.TelemetryDeck.Device.screenDensity(Double): The screen density of the device.TelemetryDeck.Device.brand(String): The brand of the device.
Run Context
Information about the context the app runs in, such as whether it’s running in a simulator, debug mode, or target environment.
TelemetryDeck.RunContext.isAppStore(Bool): Whether the app is running in the App Store.TelemetryDeck.RunContext.isDebug(Bool): Whether the app is running in debug mode.TelemetryDeck.RunContext.isSimulator(Bool): Whether the app is running in a simulator.TelemetryDeck.RunContext.isTestFlight(Bool): Whether the app is running in TestFlight.TelemetryDeck.RunContext.language(String): The language of the app.TelemetryDeck.RunContext.locale(String): The locale of the app.TelemetryDeck.RunContext.targetEnvironment(String): The target environment of the app.TelemetryDeck.RunContext.extensionIdentifier(String): The identifier of the extension the app is running in. This provides a value such ascom.apple.widgetkit-extensionwhen TelemetryDeck is run from a widget.TelemetryDeck.RunContext.isSideLoaded(Bool): Whether the app is running as a side loaded app.TelemetryDeck.RunContext.sourceMarketplace(String): The source marketplace of the app.
User Preference
Information about the user’s preferences, such as language and region.
TelemetryDeck.UserPreference.colorScheme(Enum):DarkorLight, depending on the user preference.TelemetryDeck.UserPreference.language(String): The language of the user.TelemetryDeck.UserPreference.layoutDirection(Enum):leftToRightorrightToLeft, based on user preference.TelemetryDeck.UserPreference.region(String): The region of the user.
SDK
Information about the TelemetryDeck SDK, such as its name or version number.
TelemetryDeck.SDK.name(String): The name of the SDK.TelemetryDeck.SDK.nameAndVersion(String): The name and version of the SDK, separated by a space.TelemetryDeck.SDK.version(String): The version of the SDK.TelemetryDeck.SDK.buildType(String): The build type of the SDK.
Accessibility
Information about the user’s accessibility device settings to help make apps more inclusive.
TelemetryDeck.Accessibility.isReduceMotionEnabled(Bool): Whether Reduce Motion is enabled.TelemetryDeck.Accessibility.isBoldTextEnabled(Bool): Whether Bold Text is enabled.TelemetryDeck.Accessibility.isInvertColorsEnabled(Bool): Whether Invert Colors is enabled.TelemetryDeck.Accessibility.isDarkerSystemColorsEnabled(Bool): Whether Darker System Colors are enabled.TelemetryDeck.Accessibility.isReduceTransparencyEnabled(Bool): Whether Reduce Transparency is enabled.TelemetryDeck.Accessibility.shouldDifferentiateWithoutColor(Bool): Whether UI should differentiate without color.TelemetryDeck.Accessibility.preferredContentSizeCategory(String): User’s preferred text size category (e.g.L,XXL).
Web Analytics
Web analytics have their own sets of parameters that are usually determined by the web ingest API when you send events from the Web SDK. The server derives them from the request on the v3 web events endpoint (Web SDK 3.0 and later) and on the older /v2/w/ endpoint. However, you can send these with any SDK and they will show up in the web analytics dashboard.
By default the Web SDK sends events of type pageview with the following parameters. Web SDK 3.0 and later also send one TelemetryDeck.Web.pageLeave event per page load, see Page Engagement below.
These parameters are currently not namespaced. Expect this to change in the future.
Client Data
The Web SDK sends these with every event:
locale(String): The locale of the visitor’s browser, e.g.en-US.referrer(String): The URL of the page that referred the visitor, e.g.https://example.com. Empty if there is none.TelemetryDeck.SDK.name,TelemetryDeck.SDK.version,TelemetryDeck.SDK.nameAndVersion(String): See SDK above. Web SDK 3.0 sends these instead of the deprecatedtelemetryClientVersion.
URL Data
url(String): The URL of the page without query string and fragment, e.g.https://example.com/about.host(String): The host portion of the URL, e.g.example.com.path(String): The path portion of the URL, e.g./aboutor/blog/my-post.scheme(String): The scheme portion of the URL, e.g.https.TelemetryDeck.Navigation.identifier(String): String that uniquely identifies the navigation in the formatreferrer -> url.
URL Parameters
TelemetryDeck will extract these URL parameters from the URL and offer them as parameters attached to the event. All other query parameters are dropped.
combinedSource(String): The value of eitherref,source,utm_sourceorsrcin that order of preference.refsourcesrcutm_sourceutm_mediumutm_campaignutm_termutm_contentMSCLKIDGCLID
Country and Region Data
country.isoCode(String): The ISO 3166-1 alpha-2 country code of the country, extracted from the origin IP address.country.isInEuropeanUnion(Bool): Whether the country is in the European Union, extracted from the origin IP address.continent.code(String): The code of the continent, extracted from the origin IP address. E.g.EU,NA,SA,AS,AF,AN.
User Agent Data
systemVersion(String): The version of the operating system, extracted from the user agent string.majorSystemVersion(String): The major version of the operating system, extracted from the user agent string.majorMinorSystemVersion(String): The major and minor version of the operating system, extracted from the user agent string.platform(String): The platform of the device (macOS, iOS, Windows, etc.), extracted from the user agent string.modelName(String): The model name of the device, extracted from the user agent string.browser(String): The browser family, extracted from the user agent string.browserVersion(String): The browser version, extracted from the user agent string.device(String): The type of device, extracted from the user agent string.isMobile(Bool): Whether the device is a mobile device, extracted from the user agent string.isTablet(Bool): Whether the device is a tablet, extracted from the user agent string.isTouchCapable(Bool): Whether the device is touch capable, extracted from the user agent string.isDesktop(Bool): Whether the device is a desktop, extracted from the user agent string.isBot(Bool): Whether the device is a bot, extracted from the user agent string and additional heuristics.
Events from the v3 web endpoint store these booleans as true and false. Events from the older /v2/w/ endpoint store them as True and False. Filter on both spellings when you query data from both.
Page Engagement
Web SDK 3.0 and later send one event of type TelemetryDeck.Web.pageLeave per page load, the first time the page is hidden or unloaded. It carries the URL, country, and browser parameters listed above plus these engagement parameters:
TelemetryDeck.PageEngagement.scrollDepth(Double): The deepest point of the page that has been in the viewport, as a percentage of the page height from0to100. A page that fits in the viewport reports100.TelemetryDeck.PageEngagement.scrollDepthMilestone(String): The scroll depth rounded down to one of0,25,50,75, or100. Use this for grouping.TelemetryDeck.PageEngagement.engagedSeconds(Double): Whole seconds the page was visible in the foreground. Time in a background tab is not counted.
Navigation Analytics
Navigation analytics events have these parameters, which can be included in any event type.
TelemetryDeck.Navigation.schemaVersion(String): The schema version of the navigation. Must be1.TelemetryDeck.Navigation.sourcePath(String): The source path of the navigation, e.g./host/info/aboutorapp.settings.privacy.TelemetryDeck.Navigation.destinationPath(String): The destination path of the navigation, e.g./host/info/aboutorapp.settings.privacy.TelemetryDeck.Navigation.identifier(String): String that uniquely identifies the navigation in the formatsourcePath -> destinationPath.
Pirate Metrics Analytics
TelemetryDeck.Calendar.dayOfMonth: The day-of-month (1…31) component of the date.TelemetryDeck.Calendar.dayOfWeek: The ISO 8601 number of the given day of the week. Monday is 1, Sunday is 7.TelemetryDeck.Calendar.dayOfYear: The 1-based day-of-year component of the date.TelemetryDeck.Calendar.weekOfYear: The week number within the current year as defined bygetFirstDayOfWeek()andgetMinimalDaysInFirstWeek().TelemetryDeck.Calendar.isWeekend:trueif the day of the week is Saturday or Sunday,falseotherwise.TelemetryDeck.Calendar.monthOfYear: The number-of-the-month (1…12) component of the date.TelemetryDeck.Calendar.quarterOfYear: The the quarter-of-year (1…4). For API 26 and earlier, it’s the number of the month divided by 3.TelemetryDeck.Calendar.hourOfDay: The hour-of-day (1…24) time component. 1 = 00:00-00:59, 10 = 09:00-09:59, 24 = 23:00-23:59.TelemetryDeck.Acquisition.firstSessionDate: The date of the first session e.g. 2025-02-22TelemetryDeck.Retention.averageSessionSeconds: The average session duration in seconds.TelemetryDeck.Retention.distinctDaysUsed: The number of distinct dates on which the app was used.TelemetryDeck.Retention.totalSessionsCount: The total number of sessions.TelemetryDeck.Retention.previousSessionSeconds: The duration of the previous session in seconds.TelemetryDeck.Retention.distinctDaysUsedLastMonth: The number of distinct dates on which the app was used in the last month.
API
Information about which TelemetryDeck API this event was sent to.
TelemetryDeck.API.Ingest.version(String): The Ingest API version this event was sent to. The ingest API server always sets this value. It isv1for the v1 API,v2for the v2 API,v2webfor the v2 web endpoint,events.v3for the v3 events endpoint, andweb.v3for the v3 web events endpoint.TelemetryDeck.API.namespace(String): The namespace in which to store your data. The ingest API server sets this from the URL when you call the/v2/namespace/<namespace>/or/v3/<namespace>/endpoint, and from thenamespaceproperty of an event sent to/v3/w/.
RevenueCat Parameters
Parameters related to RevenueCat.
RevenueCat.event.commission_percentage(Double)RevenueCat.event.price(Double)RevenueCat.event.price_in_purchased_currency(Double)RevenueCat.event.takehome_percentage(Double)RevenueCat.event.tax_percentage(Double)
Deprecated Parameters
These parameters are deprecated because they are not yet namespaced, and will be removed in a future release. All of them have replacements in some name spaces. See the grand rename article for a mapping of the old names to the new ones.
platform(String): The platform of the device.systemVersion(String): The version of the operating system.majorSystemVersion(String): The major version of the operating system.majorMinorSystemVersion(String): The major and minor version of the operating system.appVersion(String): The version of the app.buildNumber(String): The build number of the app.isSimulator(Bool): Whether the app is running in a simulator.isDebug(Bool): Whether the app is running in debug mode.isTestFlight(Bool): Whether the app is running in TestFlight.isAppStore(Bool): Whether the app is running in the App Store.modelName(String): The model name of the device.architecture(String): The architecture of the device.operatingSystem(String): The operating system of the device.targetEnvironment(String): The target environment of the app.locale(String): The locale of the app.region(String): The region of the user.appLanguage(String): The language of the app.preferredLanguage(String): The preferred language of the user.telemetryClientVersion(String): The version of the TelemetryDeck SDK. Replaced byTelemetryDeck.SDK.nameAndVersion. The v2 ingest API copies the value over when the new key is missing.telemetryAPIVersion(String): The API version this event was sent to. Replaced byTelemetryDeck.API.Ingest.version.
Reserved Parameters
Reserved parameters are parameters that are reserved for internal or future use by TelemetryDeck and should not be used by customers.
TelemetryDeck.Presets.Onboarding.stepTelemetryDeck.Metrics.Swift.applicationExitMetrics.backgroundExitData.cumulativeMemoryPressureExitCountTelemetryDeck.Metrics.Swift.applicationLaunchMetrics.histogrammedExtendedLaunch.histogramNumBucketsTelemetryDeck.Metrics.Swift.applicationLaunchMetrics.histogrammedOptimizedTimeToFirstDrawKey.histogramNumBucketsTelemetryDeck.Metrics.Swift.applicationLaunchMetrics.histogrammedResumeTime.histogramNumBucketsTelemetryDeck.Metrics.Swift.applicationLaunchMetrics.histogrammedTimeToFirstDrawKey.histogramNumBucketsTelemetryDeck.Metrics.Swift.applicationResponsivenessMetrics.histogrammedAppHangTime.histogramNumBucketsTelemetryDeck.Metrics.Swift.applicationResponsivenessMetrics.histogrammedAppHangTime.histogramValue.0.bucketCountTelemetryDeck.Metrics.Swift.applicationResponsivenessMetrics.histogrammedAppHangTime.histogramValue.0.bucketEnd.msTelemetryDeck.Metrics.Swift.applicationResponsivenessMetrics.histogrammedAppHangTime.histogramValue.0.bucketStart.msTelemetryDeck.Metrics.Swift.applicationResponsivenessMetrics.histogrammedAppHangTime.histogramValue.1.bucketCountTelemetryDeck.Metrics.Swift.applicationResponsivenessMetrics.histogrammedAppHangTime.histogramValue.1.bucketEnd.msTelemetryDeck.Metrics.Swift.applicationResponsivenessMetrics.histogrammedAppHangTime.histogramValue.1.bucketStart.msTelemetryDeck.Metrics.Swift.applicationTimeMetrics.cumulativeBackgroundAudioTime.secTelemetryDeck.Metrics.Swift.applicationTimeMetrics.cumulativeBackgroundLocationTime.secTelemetryDeck.Metrics.Swift.applicationTimeMetrics.cumulativeBackgroundTime.secTelemetryDeck.Metrics.Swift.applicationTimeMetrics.cumulativeForegroundTime.secTelemetryDeck.Metrics.Swift.cellularConditionMetrics.cellConditionTime.histogramNumBucketsTelemetryDeck.Metrics.Swift.cellularConditionMetrics.cellConditionTime.histogramValue.0.bucketCountTelemetryDeck.Metrics.Swift.cellularConditionMetrics.cellConditionTime.histogramValue.0.bucketEnd.barsTelemetryDeck.Metrics.Swift.cellularConditionMetrics.cellConditionTime.histogramValue.0.bucketStart.barsTelemetryDeck.Metrics.Swift.cellularConditionMetrics.cellConditionTime.histogramValue.1.bucketCountTelemetryDeck.Metrics.Swift.cellularConditionMetrics.cellConditionTime.histogramValue.1.bucketEnd.barsTelemetryDeck.Metrics.Swift.cellularConditionMetrics.cellConditionTime.histogramValue.1.bucketStart.barsTelemetryDeck.Metrics.Swift.cpuMetrics.cumulativeCPUInstructions.kiloinstructionsTelemetryDeck.Metrics.Swift.cpuMetrics.cumulativeCPUTime.secTelemetryDeck.Metrics.Swift.diskIOMetrics.cumulativeLogicalWrites.kBTelemetryDeck.Metrics.Swift.displayMetrics.averagePixelLuminance.averageValue.aplTelemetryDeck.Metrics.Swift.displayMetrics.averagePixelLuminance.sampleCountTelemetryDeck.Metrics.Swift.gpuMetrics.cumulativeGPUTime.secTelemetryDeck.Metrics.Swift.locationActivityMetrics.cumulativeBestAccuracyForNavigationTime.secTelemetryDeck.Metrics.Swift.locationActivityMetrics.cumulativeBestAccuracyTime.secTelemetryDeck.Metrics.Swift.locationActivityMetrics.cumulativeHundredMetersAccuracyTime.secTelemetryDeck.Metrics.Swift.locationActivityMetrics.cumulativeKilometerAccuracyTime.secTelemetryDeck.Metrics.Swift.locationActivityMetrics.cumulativeNearestTenMetersAccuracyTime.secTelemetryDeck.Metrics.Swift.locationActivityMetrics.cumulativeThreeKilometersAccuracyTime.secTelemetryDeck.Metrics.Swift.memoryMetrics.averageSuspendedMemory.averageValue.kBTelemetryDeck.Metrics.Swift.memoryMetrics.averageSuspendedMemory.sampleCountTelemetryDeck.Metrics.Swift.memoryMetrics.peakMemoryUsage.kBTelemetryDeck.Metrics.Swift.metaData.pidTelemetryDeck.Metrics.Swift.networkTransferMetrics.cumulativeCellularDownload.kBTelemetryDeck.Metrics.Swift.networkTransferMetrics.cumulativeCellularUpload.kBTelemetryDeck.Metrics.Swift.networkTransferMetrics.cumulativeWifiDownload.kBTelemetryDeck.Metrics.Swift.networkTransferMetrics.cumulativeWifiUpload.kBTelemetryDeck.Metrics.Swift.displayMetrics.averagePixelLuminance.standardDeviationTelemetryDeck.Metrics.Swift.memoryMetrics.averageSuspendedMemory.standardDeviation