Predefined Dimensions
When tracking app events, you can add dimensions to store additional information about the event. The justtrack SDK provides a set of predefined dimensions that are recognized by the platform and provide standardized data for analytics.
Using predefined dimensions ensures consistency across your event tracking and enables automatic integration with justtrack's analytics features.
Dimension reference
| Dimension | Description | Common uses |
|---|---|---|
jt_action | Describes the action being performed | start, complete, fail, success, click, load, show |
jt_ad_bundle_id | The bundle ID/package name of the advertised app | com.example.app |
jt_ad_instance_name | The instance name of the ad placement | Default, Bidding, a902fc4c1628ad96 |
jt_ad_network | The ad network that served the advertisement | Applovin Network, Admob Bidding, Adjoe Bidding |
jt_ad_placement | Information about the ad placement | DefaultInterstitial, AppOpenAd, LevelSkip |
jt_ad_sdk | The SDK that served the advertisement | Applovin MAX, Adjoe, Ironsource |
jt_ad_segment | The segment used for ad targeting | iOS LAT, Android US, Free User |
jt_ad_test_group | The ad test group identifier | 1, 2, 3 |
jt_ad_unit | The type of advertisement | Banner, Rewarded, Interstitial |
jt_category | A category for organizing events | Custom category values |
jt_connection_type | Whether the device was online when the event was tracked | online, offline |
jt_context | The context in which the event occurred | main_menu, gameplay, settings |
jt_detail | Additional detail about the event | Custom detail values |
jt_global_0 | The first global dimension set on the SDK | Custom values, such as an app theme or a cohort |
jt_global_1 | The second global dimension set on the SDK | Custom values, such as an app theme or a cohort |
jt_global_2 | The third global dimension set on the SDK | Custom values, such as an app theme or a cohort |
jt_item_id | The unique identifier of an item | 4561, weapon_001, skin_gold |
jt_item_name | The display name of an item | Coins, Long Sword, Parry Shield |
jt_item_type | The type or category of an item | In-App Currency, Weapon, Armor, Skin |
jt_location | The location in the app where the event occurred | home_screen, shop, inventory |
jt_method | The method used to perform an action | email, facebook, google, apple |
jt_product_id | The product identifier for purchases | starter_pack, no_ads, premium_subscription |
jt_product_type | The type of product being purchased | purchase, subscription |
jt_progression_1 | The first level of progression hierarchy | level, challenge, world, stage |
jt_progression_2 | The second level of progression hierarchy | level_1, challenge_1, mars |
jt_progression_3 | The third level of progression hierarchy | PathA, PathB, BossFight |
jt_state | The state or status of something | active, inactive, paused |
jt_token | A token for validation (e.g., purchase tokens) | Purchase validation tokens |
jt_trigger | What triggered the event | button_click, automatic, notification |
jt_url | A URL associated with the event | https://example.com/page |
Dimensions the SDK sets for you
Most dimensions are values you attach to a single event. Four are different, and all four need justtrack SDK 8.0 or later:
jt_global_0,jt_global_1, andjt_global_2come from the global dimensions you set once on the SDK. The SDK stores them and attaches them to every event that follows, so you don't repeat them per event. Setting one of these dimensions directly on an event overrides the global value for that event.jt_connection_typeis added automatically when you enable connection tracking on the SDK builder. Connection tracking is off by default.
Code examples
Android (Kotlin)
import io.justtrack.events.AppEvent
import io.justtrack.events.Dimension
// Using predefined dimensions with a custom event
sdk.publishEvent(AppEvent("my_custom_event")
.addDimension(Dimension.JT_ACTION, "click")
.addDimension(Dimension.JT_CATEGORY, "shop")
.addDimension(Dimension.JT_ITEM_NAME, "Premium Sword"))
// Using predefined dimensions with an ad event
sdk.publishEvent(AppEvent("ad_interaction")
.addDimension(Dimension.JT_ACTION, "show")
.addDimension(Dimension.JT_AD_UNIT, "Rewarded")
.addDimension(Dimension.JT_AD_PLACEMENT, "LevelComplete"))
iOS (Swift)
import JustTrackSDK
// Using predefined dimensions with a custom event
sdk.publish(event: AppEvent("my_custom_event")
.add(dimension: .jtAction, value: "click")
.add(dimension: .jtCategory, value: "shop")
.add(dimension: .jtItemName, value: "Premium Sword"))
// Using predefined dimensions with an ad event
sdk.publish(event: AppEvent("ad_interaction")
.add(dimension: .jtAction, value: "show")
.add(dimension: .jtAdUnit, value: "Rewarded")
.add(dimension: .jtAdPlacement, value: "LevelComplete"))
Dimension restrictions
When using dimensions with app events, keep in mind the following restrictions:
- A single event can have a maximum of 10 dimensions
- Each dimension can have a maximum of 1000 distinct values per day
- Dimension values should be short, discrete identifiers (not free-form text)
When possible, use predefined dimensions instead of custom dimension names. This ensures your data integrates properly with justtrack's analytics features and maintains consistency across your events.
Related documentation
- App Events - Learn about the structure of app events
- Predefined Events - Events with pre-configured dimensions
- Track Events - How to track events in your app