Smart Segments are automatically generated by Batch from the moment the SDK is implemented in your app. They allow you to take action on your userbase in a meaningful manner, based on their engagement level.
You will find more information on the way Smart Segments are populated in that article: How Is Batch Populating the Smart Segments?
Native attributes allow you to target users based on data that Batch collects automatically (e.g. installation date, last visit date, etc). All of these attributes are available by default and do not require any extra configuration, except the Custom user ID.
Pre-requisite: setting up a custom user ID, which is a unique identifier of a user. Find detailed information about it here.
Custom audiences allow you upload static segments exported from your userbase (e.g. top 500 buyers, etc.) or created by third-party tools. You can do it using the Custom Audience API or by uploading a .CSV or .TXT file with Custom User IDs from the dashboard settings → Audiences.
You also can exclude a Custom Audience from your targeting.
💡If your Custom Audience doesn't match any token, please have a look at this article, but always keep in mind only Custom user ID are accepted for web push notifications.