Issue Types in Avo Inspector
- Event unexpected by tracking plan
- Event unexpected on source
- Property type does not match tracking plan
- Property type inconsistent
- Property unexpected on event
- Required property sometimes missing from event
- Property value does not match constraints
Event and property structure issues
Event unexpected by tracking plan
Detects events that are not defined in the tracking plan
Example: Event Signup Completed not found in Tracking Plan.
Event unexpected on source
Detects events that are not expected from a specific source according to the Tracking Plan
Example: Event unexpected on iOS by tracking plan
Property type does not match tracking plan
Detects properties with different types than defined in the tracking plan
Example: Property seen as bool but expected as string.
Property type inconsistent
Detects properties seen with multiple different types
Example: Property types seen: object, string.
Property unexpected on event
Detects properties on events where they are not expected according to the tracking plan
Example: Property unexpected on event by tracking plan
Required property sometimes missing from event
Detects properties that are required in the tracking plan but sometimes missing
Example: Property set as always sent on “App Opened” in tracking plan but missing on event
Property value issues
Property value issues are detected when you have property value validation enabled and are available in the Inspector Debugger. Property values are sent encrypted to Avo and can be decrypted locally in the Inspector Debugger.
Property value issues are currently only available for the Inspector Web SDK and Segment integration. Support on other platforms coming soon. Reach out to support if you need property value validation for other platforms.
Property value does not match constraints
Detects property values that don’t match the property constraints defined in your tracking plan.
String properties
-
Property value does not match regex - The string value doesn’t match the regex pattern defined in the tracking plan
Example: Property email has value “invalid-email” but expected to match regex pattern
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ -
Property value does not match allowed values - The string value is not in the list of allowed values defined in the tracking plan
Example: Property role has value “NPC” but expected one of: “Admin”, “User”, “Guest”
Numerical properties
-
Property value lower than defined min - The numerical value is below the minimum value defined in the tracking plan
Example: Property age has value -5 but minimum allowed value is 0
-
Property value higher than defined max - The numerical value exceeds the maximum value defined in the tracking plan
Example: Property rating has value 15 but maximum allowed value is 10
Object properties
-
Required key sometimes missing from object property - A required key in an object property is sometimes missing
Example: Object property address is missing required key “country”
-
Object key unexpected on object property - An unexpected key is present in an object property
Example: Object property address has unexpected key “planet”
-
Object property value does not match constraints - Values within object properties are also validated against the same string, numerical, and object constraints as above
Example: Object property address has key “zip_code” with value “ABC” but expected to match regex pattern
^\d{5}$
Upcoming Issue Types in Avo Inspector
Here are some of the issue types we’re planning on adding in the future. Reach out if you’d like to see any of these sooner than others.
- Event missing on some sources (coming soon)
- Property missing on some sources (coming soon)
- Event volume change significant between versions (coming soon)
- Event volume significantly different between sources (coming soon)
- Event name casing (coming soon)
- Property name casing (coming soon)
- Global property type mismatch (coming soon)
Event missing on some sources (coming soon)
Detects events sent by one platform, but not sent by another. Can be a sign of missing tracking calls.
Example: iOS sends App Opened event, but Android does not.
Property missing on some sources (coming soon)
Detects properties sent by one platform, but not sent by another.
Example: iOS sends user id with the App Opened event, but Android does not.
Event volume change significant between versions (coming soon)
Detects significant changes in event volume between app versions.
Example: Volume of event App Opened drop by 25% between versions v1.3.2 and v1.3.3 on iOS
Event volume significantly different between sources (coming soon)
Detects events sent way more frequently by one platform versus another adjusted for sessions number. Can be a sign of duplicated or missing tracking calls.
Example: iOS is sending 10x more volume per session than Android of the App Opened event.
Event name casing (coming soon)
Detects event names spelled in undesirable casing.
Example: Event open_app is snake case, expected title case (Open App).
Property name casing (coming soon)
Detects property names spelled in undesirable casing.
Example: The property onboarding_status on event App Opened is snake_case, expected camel case (onboardingStatus).
Global property type mismatch (coming soon)
Detects properties with identical names and different types across all registered event schemas.
Example: Inconsistent type of property revenue on events Purchase Completed: int and Checkout Completed: string.
Smart Issues (coming soon)
- Similar event names
- Similar property names within event
- Unexpected type based on property name
- Global similar property names
- Missing property based on property bundle pattern
Similar event names
Detects similar event names, that can point to duplicate tracking.
Example: Potentially multiple events describing the same user action: App Opened, App Open, open_app + 2 more events.
Similar property names within event
Detects similar property names in a single event.
Example: Potentially multiple versions of the same property: onboarding_status, onboardingStatus, and Onboarding State.
Unexpected type based on property name
Detects when a property name that is often associated with a specific type has some other type.
Example: Revenue property is string type (expected to be a number).
Global similar property names (low)
Detects similar property names across all registered event schemas.
Example: Potentially multiple versions of the same property: onboarding_status, onboardingStatus, and Onboarding State.
Missing property based on property bundle pattern
Detects missing property in a bundle of similarly looking properties.
Example: Property onboarding_status is sent with 4 out of 5 events of the Onboarding events bundle.