You can use up to 3 custom fields to filter your Economy, Funnel, and Custom events by unique dimensions specific to your experience. Some examples include:
- Levels — 1, 2, 3, . . .
- Player class — Warrior, Mage, Archer
- Weapon type — SMG, Pistol, Rocket Launcher
The customFields parameter is a dictionary argument that allows sending up to three custom values using the provided Enum.AnalyticsCustomFieldKeys as keys by accessing them as Enum.AnalyticsCustomFieldKeys.CustomField{01, 02, 03}.Name. Anything other than CustomField01.Name, CustomField02.Name, and CustomField03.Name is ignored. You can have up to 8,000 unique combinations of values across the three custom fields.
Using a fantasy-related experience as an example, you can track an economy event regarding equipment type, player class, and level with the following:
Tracking Custom Fields
local AnalyticsService = game:GetService("AnalyticsService")AnalyticsService:LogEconomyEvent(player,Enum.AnalyticsEconomyFlowType.Sink,"Coins", -- Currency name80, -- Cost20, -- Balance after transactionEnum.AnalyticsEconomyTransactionType.Shop.Name,"Obsidian Sword", -- Item SKU{[Enum.AnalyticsCustomFieldKeys.CustomField01.Name] = "Category - Weapon",[Enum.AnalyticsCustomFieldKeys.CustomField02.Name] = "Class - Warrior",[Enum.AnalyticsCustomFieldKeys.CustomField03.Name] = "Level - 10",} -- Custom field dictionary table)
Including the dimension name in the value is not required, but can help you remember the context later when reviewing your charts. Other keys in the customFields table are ignored.