Skip to main content

Notifications

Customer experience | Sales, Customer Insights,...
Unanswered

How to recreate OBM segment in Realt-time Journeys

(2) ShareShare
ReportReport
Posted on by 33
UPDATE: I have reached out to the CIJ product team and they have confirmed that this is indeed a bug in RTJ, and that a fix is on its way.
 
---
 
Hi!
 
I am trying to re-create a segment that exists in Outbound Marketing in Real-time Journeys. In my data model I have two tables that relate to each other as depicted below and the second table ("Table 2") has a reference to a contact:
 
Records of each table can have the values A, B or C. Consider two different contacts. The first contact has a related object of Table2, while the other contact has two related objects of Table2 according to the image below. The various Table1 and Table 2 objects have different values:
 
I want to create a segment that includes all contacts that are related to a hierarchy of Table1 and Table2-objects with the following values:
 
  • Table1 = A
  • Table2 = B
It is clear from the image above that only Contact_1 fulfills this requirement. In Outbound Marketing, such as segment can be easily created:
 
This segment contains the correct number of contacts - 1.
 
Now, I want to create the segment in Real-time Journey, but I can't find a way of doing so. If I try the setup below, the number of contacts are 2:
 
This is because the underlying query is the following, which is not what I need:
 
PROFILE(contact).RELATE(cr512_Table1_Contact_Contact, cr512_table1_2).RELATE(cr512_Table1_Contact_Contact, cr512_testtable1_1, RELATE(cr512_TestTable1_cr512_TestTable1_cr512_Table1, cr512_testtable1_1__1)).FILTER(cr512_testtable1_1__1.cr512_value == 914820000 && (cr512_table1_2.cr512_value == 914820001))
 
The query above is what you get when you create a segment in OBM like this:
 
And this is not what I want... I want to create a segment that enforces the condition that both Table1 and Table2 should have certain values and that both the objects having these values should be in the same hiearchy - not different hierarchies.
 
The above is a simplication and illustration of the kind of OBM segments that many customers are using heavily. How can I re-create these kind of segments in Real-time Journeys?
 
Thanks!
 
Rgds,
Andreas
  • Adner Profile Picture
    Adner 33 on at
    How to recreate OBM segment in Realt-time Journeys
    Looking forward to your results Taavo!
     
    It seems that what RTJ is doing (in all my various tests) is INTERSECTION-operations between tables (like in Venn-diagrams), while in OBM it was actually possible to create queries with INNER JOIN-relationships between tables. So, as long as there are only two tables involved (contact -> Table2) all is well since the INTERSECTION and INNER JOIN-operations are equivalent. But if a third table in involved (contact -> Table2 -> Table1, with conditions on each table) the INTERSECTION and INNER JOIN-operations are no longer identical.
     
    So, from a query perspective it seems that I am not able to create INNER JOIN queries in RTJ. :-) 
     
    It still feels like I am missing something simple here... If I do, please let me know!
  • Taavo T Profile Picture
    Taavo T 22 on at
    How to recreate OBM segment in Realt-time Journeys
    EDIT: I was able to get the simple example to work. I just had to wait longer after creating my test contact and other records (~15 mins). Looks like they take some time to register. 

    Will continue to look into the original question

    -------------------------------------------



    I'm trying to replicate just the most basic scenario on my end to return contact 1 when Table 2 has value B and Table has value A. I can't even get it to return the contact. It works fine when I segment just on one table at a time, but when I use both in the hierarchy in the same segment its not returning any contacts. 
     
    I feel like there's something fishy about how its evaluating the queries
     
     
    I cleaned up the query to get the point across with some changed names
     
    PROFILE(contact).RELATE(contact_to_table_2_relationship, table_2_1).RELATE(contact_to_table_2_relationship, table_1, RELATE(table_2_to_table_1_relationship, table_1_1)).FILTER(table_1_1.value == 'A' && table_2_1.value == 'B')
     
    This is bizarrely returning 0 contacts for me. It works fine if I look for contacts with table_2 value B in one segment or table_1 value A in another segment, but when I try to have conditions traversing all steps in a hierarchy, it doesn't seem to work. 
     
    I'm sorry I don't have an answer, just wanted to sympathize and share the frustration I'm having with realtime segment evaluation

Under review

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.

Helpful resources

Quick Links

Announcing Our 2025 Season 1 Super Users!

A new season of Super Users has arrived, and we are so grateful for the daily…

Vahid Ghafarpour – Community Spotlight

We are excited to recognize Vahid Ghafarpour as our February 2025 Community…

Congratulations to the January Top 10 leaders!

Check out the January community rock stars...

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 292,074 Super User 2025 Season 1

#2
Martin Dráb Profile Picture

Martin Dráb 230,900 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans