Google will keep confusing us with their unreliable documentation and frequent update to the terms used...
What most answers here lack, is what the terms Dimension
/Metric
mean under Custom definitions
(in the latest version) and their relation to custom user properties and events.
Custom user property has only one string value, this can be used to segment the audience and can be reported by configuring it as a custom Dimension
in the Custom definitions
.
Custom event has zero or more parameters (key-value) that their value can be numeric or a string. This is where things get confusing, to get these parameters reported, you need to tell Analytics if it is a number or a string! If the param is numeric it should be considered as custom Metric
(since metric==numbers), while if the param values are strings, they must be defined under Dimensions
!
I had to guess that from the official docs where Google gives an example of logging an event with author
param as a string and says after that:
You can create an Author dimension that gets its values from the author parameter
Notes:
- After the first configuration, reports will get updated only after 24-48 hrs.
- If there is not enough data, you may not see your param reports.
- An event param can be a dimension or a metric (not both).
- If you log in your code numeric values and set it as a dimension it won't work! Because Analytics is stupid and doesn't have auto-casting. The reverse, logging string values and setting them as metrics, will not work (seems obvious).
- Check your types beforehand, Analytics will not limit you as it doesn't process the underlying type before you tell it how to process it.