Skip to contentSkip to navigationSkip to topbar
Page toolsOn this page
Looking for more inspiration?Visit the

Avo Inspector v2 Destination


Destination Info
  • Accepts Page, Alias, Group, Identify and Track calls.
  • Refer to it as Avo Inspector v2 in the Integrations object
  • This integration is partner owned. Please reach out to the partner's support for any issues.
  • This destination is in Beta
(new)

Beta

This feature is in active development and may change before general availability.

Avo(link takes you to an external page) lets you find, fix, and prevent data quality issues upstream. With Avo Inspector(link takes you to an external page), 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)

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.


Benefits of Avo Inspector v2 (Actions) vs Avo Inspector v1

benefits-of-avo-inspector-v2-actions-vs-avo-inspector-v1 page anchor

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.
(information)

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.


Track events

track-events page anchor

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:

1
analytics.track("Login", {
2
userName: "John",
3
city: "San Francisco",
4
age: 32
5
});

This is translated into an event signature:

1
{
2
"eventName": "Login",
3
"properties": [
4
{"userName": "string"},
5
{"city": "string"},
6
{"age": "integer"}
7
]
8
}

  1. From your workspace's Destination catalog page(link takes you to an external page) search for "Avo Inspector".
  2. Select Avo Inspector v2 and click Add Destination.
  3. Select an existing Source to connect to Avo Inspector v2 (Actions).
  4. Name your destination connection descriptively (for example, "Avo Web Prod").
  5. In your Avo workspace(link takes you to an external page), 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").
  6. Go to the Inspector Setup tab and copy the API Key.
  7. Enter the API Key in the Avo Inspector v2 destination settings in Segment.
  8. 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.

Property value validation (optional)

property-value-validation-optional page anchor

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(link takes you to an external page) to inspect the actual reported values.

To set this up:

  1. Enable property value validation in your Avo workspace settings.
  2. 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'));"
  3. Save your private key in a secure location like a password manager. Never share or expose your private key with a third party.
  4. 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(link takes you to an external page) in the Avo documentation for more information about Property Values.


Property nameTypeRequiredDescription
Avo Inspector API Keystring
required

Avo Inspector API Key can be found in the Inspector setup page on your source in Avo.


App Version Propertystring

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.


Environmentselect
required

Avo Inspector Environment


Avo Inspector Public Encryption Keystring

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 NameTriggerDefault Action
Track Schema From EventEvent type = "track"Track Schema From Event

Build your own Mappings. Combine supported triggers with the following Avo Inspector v2-supported actions:

(information)

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"

Property nameTypeRequiredDescription
Event NameSTRING
required

Name of the event being sent


PropertiesOBJECT
required

Properties of the event being sent


Message IDSTRING
required

Message ID of the event being sent


Created AtSTRING
required

Timestamp of when the event was sent


App VersionSTRING

Optional

Version of the app that sent the event


App NameSTRING

Optional

Name of the app that sent the event


Page URLSTRING

Optional

URL of the page that sent the event


Anonymous IDSTRING

Optional

Anonymous ID of the user. Used as stream identifier for batching and event spec fetching.


User IDSTRING

Optional

User ID of the user. Used as fallback stream identifier (hashed) when anonymousId is not available.


Enable Batching?BOOLEAN

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)

Warning

Data may take up to 2 hours to fully populate into a production environment.


Migration from Avo Inspector v1

migration-from-avo-inspector-v1 page anchor

To migrate from the Avo Inspector v1 destination to v2:

  1. Add the Avo Inspector v2 destination to your Segment workspace alongside your existing v1 destination.
  2. Configure it with the same API key and environment settings you used to configure your Avo v1 destination.
  3. Verify that events from your Avo Inspector v2 destination appear correctly in your Avo workspace.
  4. 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(link takes you to an external page).

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.

(information)

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.

Property nameTypeRequiredDescription
Avo Inspector API Keystring
required

Avo Inspector API Key can be found in the Inspector setup page on your source in Avo.


App Version Propertystring

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.


Environmentselect
required

Avo Inspector Environment

Default: prod

Avo Inspector Public Encryption Keystring

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