Tracking data
The Segment integration has a number of features that give you fine-grain control over what events are sent to Segment. In this guide, you’ll learn how to use these features to ensure you’re getting the data you need into Segment.
Entries
By default, all entry types generated by your app will be sent to Segment’s Track endpoint.
View our documentation for a full list of entry types.
Entry tracking
Receiving all entry types in Segment can get noisy. Often, there is a subset of entry types that you’ll be interested in sending. In this section we’ll look at a few ways of customizing what entries are sent.
No entry tracking
If you want to stop tracking entries entirely, in your app’s root folder open integrations/segment.yaml and set track_entries to false:
type: meya.segment.integration
write_key: (@ vault.segment.write_key )
track_entries: falseYou may want to do use this feature if you’re only interested in tracking changes to user data.
Specific entry tracking
If you want to track specific kinds of entries, you can define an allowlist or denylist for those entry types.
Allowlist
To only send certain entry types to Segment, in your app’s root folder open integrations/segment.yaml and add the tracked_entries property, which is a list of entry types:
type: meya.segment.integration
write_key: (@ vault.segment.write_key )
tracked_entries:
- meya.text.event.say
- meya.component.entry.startIn this example, only meya.text.event.say and meya.component.entry.start entries would be sent to Segment.
NoteThis setting does not control whether user data is sent.
Denylist
To exclude specific entry types from being sent to Segment, in your app’s root folder open integrations/segment.yaml and add the untracked_entries property, which is a list of entry types:
type: meya.segment.integration
write_key: (@ vault.segment.write_key )
untracked_entries:
- meya.text.event.say
- meya.component.entry.startIn this example, every entry type other than meya.text.event.say and meya.component.entry.start would be sent to Segment.
NoteThis setting does not control whether user data is sent.
Tracking user data
By default, all updates to the user scope will result in an event being sent to Segment’s Identify endpoint.
Here’s an example of a flow that sets some user scope data:
triggers:
- keyword: hi
steps:
- user_set:
foo: bar
- say: Hello!After triggering the flow, you should see a call to Segment’s Identify endpoint in your app logs:
In the Segment source’s debugger panel, you can see the message was received:
No user data tracking
To stop tracking user data changes entirely, open integrations/segment.yaml and set track_user_data to false:
type: meya.segment.integration
write_key: (@ vault.segment.write_key )
track_user_data: falseTrack specific user data
If you want to track specific user data variables, you can define an allowlist or denylist for those variables.
Allowlist
To only send specific user scope variable updates to Segment, open integrations/segment.yaml and add the tracked_user_data property, which is a list of user scope variables:
type: meya.segment.integration
write_key: (@ vault.segment.write_key )
tracked_user_data:
- countIn this example, only changes to user.count will be sent to Segment.
Denylist
To exclude specific user scope variable updates from being sent to Segment, open integrations/segment.yaml and add the untracked_user_data property, which is a list of user scope variables:
type: meya.segment.integration
write_key: (@ vault.segment.write_key )
untracked_user_data:
- countIn this example, changes to any user scope variable other than user.count would be sent to Segment.
Filters
You can configure whether or not events should be sent and/or received from Segment, by setting the filter property:
type: meya.segment.integration
write_key: (@ vault.segment.write_key )
filter:
tx: falseIn this example, all tx events have been disabled. This can be used to temporarily turn off the integration without deleting it altogether.
Tracking custom events
Tracking custom events in Segment is easy with the analytics.track component.
Here’s an example:
steps:
- track: test.event
Thetrackproperty is the signature field for theanalytics.trackcomponent.
This very simple flow sends an event called test.event to segment. Here’s what it looks like in Segment:
Tracking custom user data
If there is data you don’t want to store on the user scope, but you would like associated with the user in Segment, you can send custom user data to Segment instead using the analytics.identify component.
Here’s an example:
steps:
- identify:
foo: bar
Theidentifyproperty is the signature field for theanalytics.identifycomponent.
This creates a property called foo on the Segment user. Here’s what it looks like in Segment:

Updated 5 months ago
