Avo Inspector v2 Destination
Beta
This feature is in active development and may change before general availability.
Avo lets you find, fix, and prevent data quality issues upstream. With Avo Inspector, you can discover all your data quality issues and systematically work towards better data, one resolved issue at a time.
This destination is maintained by Avo. For any issues with the destination, contact the Avo Support team.
Success!
This page is about the Actions-framework Avo Inspector v2 Segment destination. There's also a page about the Avo Inspector v1 destination. Both of these destinations receive data from Segment.
Avo Inspector v2 (Actions) provides the following benefits over the v1 destination:
- Batch processing: Events are processed in batches for improved performance and efficiency at scale.
- Property value validation: In Development and Staging environments, event property values can be validated against your Avo Tracking Plan constraints (allowed values, regex patterns, numeric ranges) using end-to-end encryption.
Schema only
Avo Inspector only receives your event schemas (event names and property names/types). No actual event data or property values are sent to Avo.
Avo Inspector v2 supports Track events. Segment translates each Track call into an event schema signature that is sent to Avo's Inspector API.
Example Track call:
1analytics.track("Login", {2userName: "John",3city: "San Francisco",4age: 325});
This is translated into an event signature:
1{2"eventName": "Login",3"properties": [4{"userName": "string"},5{"city": "string"},6{"age": "integer"}7]8}
- From your workspace's Destination catalog page search for "Avo Inspector".
- Select Avo Inspector v2 and click Add Destination.
- Select an existing Source to connect to Avo Inspector v2 (Actions).
- Name your destination connection descriptively (for example, "Avo Web Prod").
- In your Avo workspace, navigate to Inspector > Sources and either create a new source or select an existing one. Avo recommends naming your Avo sources the same as your Segment sources (for example, "Web", "iOS", "Android").
- Go to the Inspector Setup tab and copy the API Key.
- Enter the API Key in the Avo Inspector v2 destination settings in Segment.
- Select the Environment that matches your source (Development, Staging, or Production). Avo only generates issues for events in your Production environment, but you can see event shapes for all environments.
Having accurate app release versions in Avo Inspector allows you to see how events change across releases. This helps you identify which releases an issue impacts, and monitor for regressions after an issue has been resolved.
Set the App Version Property Name field to the name of a custom event property containing your app version (for example, app_version). If not provided, Inspector falls back to context.app.version.
Without app versions, Inspector has no way of differentiating between old and new releases, and might surface irrelevant issues based on old releases. Learn more about how Inspector uses releases in Avo's documentation.
For most mobile sources, Avo automatically fetches the app version from Segment Context. If you are unsure whether this applies to your source, you can proceed with setting up the source and add this information later.
In Development and Staging environments, Avo Inspector v2 can validate property values against constraints defined in your Avo Tracking Plan, such as allowed values, pinned values, regex patterns, and min/max ranges. This validation doesn't run in Production — in Production, only event schemas are sent.
Property values are encrypted end-to-end before transmission using elliptic curve cryptography. Avo only stores encrypted values and can't decrypt them. Only you can decrypt the values using your private key, which you can use in the Inspector Debugger to inspect the actual reported values.
To set this up:
- Enable property value validation in your Avo workspace settings.
- Generate an elliptic curve key pair:
node -e "const { createECDH } = require('crypto'); const ecdh = createECDH('prime256v1'); ecdh.generateKeys(); console.log('Private Key:', ecdh.getPrivateKey('hex')); console.log('Public Key:', ecdh.getPublicKey('hex', 'compressed'));"
- Save your private key in a secure location like a password manager. Never share or expose your private key with a third party.
- Add the Public Encryption Key (the compressed public key from step 2) to the Avo Inspector v2 destination settings in Segment.
See Property Value Validation in the Avo documentation for more information about Property Values.
Avo Inspector API Key can be found in the Inspector setup page on your source in Avo.
Optional
If you send a custom event property on all events that contains the app version, please enter the name of that property here (e.g. “app_version”). If you do not have a custom event property for the app version, please leave this field empty.
Avo Inspector Environment
Optional
Optional. Enables verification of the property values against your Tracking Plan (e.g. allowed values, min/max constraints). Values are end-to-end encrypted and Avo can not decrypt them. Read more: https://www.avo.app/docs/inspector/connect-inspector-to-segment#property-value-validation-optional
Avo Inspector v2 has the following presets
| Preset Name | Trigger | Default Action |
|---|---|---|
| Track Schema From Event | Event type = "track" | Track Schema From Event |
Build your own Mappings. Combine supported triggers with the following Avo Inspector v2-supported actions:
Mapping limits per destination
Individual destination instances have support a maximum of 50 mappings.
Sends event schema to the Avo Inspector API
Track Schema From Event is a Cloud action. The default Trigger is type = "track"
Name of the event being sent
Properties of the event being sent
Message ID of the event being sent
Timestamp of when the event was sent
Optional
Version of the app that sent the event
Optional
Name of the app that sent the event
Optional
URL of the page that sent the event
Optional
Anonymous ID of the user. Used as stream identifier for batching and event spec fetching.
Optional
User ID of the user. Used as fallback stream identifier (hashed) when anonymousId is not available.
Optional
When enabled, Segment will send events in batches.
After connecting, navigate to Inspector > Events in your Avo workspace to monitor incoming data. Events typically appear within 2 minutes. Make sure to select the correct environment in Inspector to see your data.
Warning
Data may take up to 2 hours to fully populate into a production environment.
To migrate from the Avo Inspector v1 destination to v2:
- Add the Avo Inspector v2 destination to your Segment workspace alongside your existing v1 destination.
- Configure it with the same API key and environment settings you used to configure your Avo v1 destination.
- Verify that events from your Avo Inspector v2 destination appear correctly in your Avo workspace.
- Once you've verified you're recieving events from the v2 destination, return to the Segment app and disable the v1 destination.
You can send computed traits and audiences generated using Engage to this destination as a user property. To learn more about Engage, schedule a demo.
For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to false.
When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.
Real-time to batch destination sync frequency
Real-time audience syncs to Avo Inspector v2 may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.
Segment lets you change these destination settings from the Segment app without having to touch any code.
Avo Inspector API Key can be found in the Inspector setup page on your source in Avo.
Optional
If you send a custom event property on all events that contains the app version, please enter the name of that property here (e.g. “app_version”). If you do not have a custom event property for the app version, please leave this field empty.
Avo Inspector Environment
prodOptional
Optional. Enables verification of the property values against your Tracking Plan (e.g. allowed values, min/max constraints). Values are end-to-end encrypted and Avo can not decrypt them. Read more: https://www.avo.app/docs/inspector/connect-inspector-to-segment#property-value-validation-optional