Swrve segmentation is different from many other services because it was built on a real-time engine. This conveys some benefits, but also means there are some caveats.
Once a segment is created in the Swrve dashboard, there is an audience filter that is created. This filter is applied to users as they arrive to the app once it has been created. A user's past behavior is taken into account for whether they are eligible for the segment, but only as they appear in the app. The Swrve backend will typically put an eligible user into the correct segment inside of 3 seconds, from the time that the backend receives the relevant event.
Note: the Swrve SDK sends up events in batches every minute by default.
This real-time segmentation means that KPIs are tracked for users in real-time, based on whether they qualify for the segment. A user can either join or exit a segment in real-time.
- Due to the way that the filters are applied to the real-time engine, segments are not filled retroactively. In order for a user to join the segment, they must be active after the segment is created.
- Since segments are only populated based on activity, an audience that is based on inactivity will never populate. e.g. "Lapsing users" = "users who were last active 8-15 days ago" would always show 0 for all KPIs.
- AB tests based on segments may show different membership to the segment used to target them. Once a user joins a test, they are latched into their variant until the test finishes, regardless of whether they are still in the segment.