The rules for how realtime marketing segments evaluate are surprisingly poorly documented, given how critical this function is. There's a lot of unintuitive or ambiguous behaviour, which could easily lead to the incorrect customers receiving marketing emails, ultimately causing real business issues. Is microsoft ever going to actually explain how segments are evaluated?
For example, previously relating an entity in a segment introduced "inner-join" like behaviour, even if the clause was connected by an OR operator (see a previous question here Creating a segment with an OR condition between two related entities). Since then, Microsoft has quietly updated the segment evaluation behaviour without notifying customers, and then introduced an undocumented button to switch back to the old behaviour. You can see the effect if you look at the raw segment query stored on the "msdynmkt_segmentdefinition" entity in the "msdynmkt_segmentquery" field. You'll see that relating an entity now uses a ".RELATEOPTIONAL" keyword instead of a ".RELATE" keyword. None of this is documented, but has very real implications for anyone serious about marketing segmentation.
There are also issues with specifying criteria across multiple tables in the same relationship path (see question How to recreate OBM segment in Realt-time Journeys). Its unclear how to specify criteria for multiple records in the same instance of a relationship path.
What's even more frustrating is that through pure experimentation, one can develop a rough understanding of how this undocumented behaviour works, but then MS might quietly change it without announcement, breaking your segment behaviour!
At the very least MS should publish a guide or specs for how a) The graphical segment builder is translated into the underlying query and b) how that underlying query is actually evaluated
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.