Issue Types in Avo Inspector

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)

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

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.