Expand my Community achievements bar.

Join us for the next Community Q&A Coffee Break on Tuesday April 23, 2024 with Eric Matisoff, Principal Evangelist, Analytics & Data Science, who will join us to discuss all the big news and announcements from Summit 2024!
SOLVED

Sequential Filters with Multiple 'Then' and an 'Only After' or 'Only Before'

Avatar

Level 1

I am building a session based filter where I specify:

 

Filter = Session {

Event = A

Then

Event = B

Then 

Event = C

}

 

Then, lets says the only session I have in AA is this: A -> B -> C. 

 

 

If I apply this session level segment and look at all events this is what I except:

All: [A = 1, B = 1, C = 1],

Only Before: [A = 1, B = 1],

Only After: [B=1, C=1]

 

Is this correct?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

A segment built like this:

Jennifer_Dungan_0-1664391810727.png

 

 

Is going to be fundamentally different than one built like this:

Jennifer_Dungan_2-1664392007504.png

 

 

 

The first segment rule applies to the entire 3 page sequence; the second segment rule, the "Only Before" is only for two of the pages in the sequence.

 

In the first rule, the Only Before Sequence applies to the entire sequence, meaning you should get data from Before Page A (but not including Page A (correction) and this will include Page A)

 

In the second rule, the Only Before Sequence applies to only a portion of the sequence, meaning you should get data before Page B (it should include Page A in the returned data AND Page B. since A is not part of the sub-container where the rule is being applied, (correction) and Page B is the first page in the "Before Sequence)

 

(correction)

In both cases, Page A and B are part of the sequence, but where you are applying the "Only Before" or "Only After" will determine whether Page B is part of the "included" data or not (since you are using a loose "Then" which means that sequences of Page A > Page D > Page B > Page E > Page C are going to meet the criteria....

 

In both case, Page E and Page C should not be included, but in the second case, where the Only Before is applied against the sub-set of Page B > Page C; Page A, Page D, and Page B will be returned in your data set.

View solution in original post

14 Replies

Avatar

Community Advisor

That sounds about correct.

Avatar

Community Advisor

I think it depends on where you apply the Only Before / Only After logic... if you apply to the whole segment rule... I would expect that the segment will return the data before A = 1, B = 1, C = 1... If you have containers within the segment and apply the Before/After, then it should be before or after that subset of logic.

Avatar

Level 1

Hi Jennifer, I am sorry but I am a little confused by the response. What do you mean by 'If you apply to the whole segment rule" and "If you have containers within the segment and apply...." ?

 

Is this to say that if I put each separate event in a container the logic would be different compared to putting all 3 events in no container?

Avatar

Correct answer by
Community Advisor

A segment built like this:

Jennifer_Dungan_0-1664391810727.png

 

 

Is going to be fundamentally different than one built like this:

Jennifer_Dungan_2-1664392007504.png

 

 

 

The first segment rule applies to the entire 3 page sequence; the second segment rule, the "Only Before" is only for two of the pages in the sequence.

 

In the first rule, the Only Before Sequence applies to the entire sequence, meaning you should get data from Before Page A (but not including Page A (correction) and this will include Page A)

 

In the second rule, the Only Before Sequence applies to only a portion of the sequence, meaning you should get data before Page B (it should include Page A in the returned data AND Page B. since A is not part of the sub-container where the rule is being applied, (correction) and Page B is the first page in the "Before Sequence)

 

(correction)

In both cases, Page A and B are part of the sequence, but where you are applying the "Only Before" or "Only After" will determine whether Page B is part of the "included" data or not (since you are using a loose "Then" which means that sequences of Page A > Page D > Page B > Page E > Page C are going to meet the criteria....

 

In both case, Page E and Page C should not be included, but in the second case, where the Only Before is applied against the sub-set of Page B > Page C; Page A, Page D, and Page B will be returned in your data set.

Avatar

Level 1

Hi Jennifer thanks for the clear response, a few follow up questions:

 

- The AA documentation states that "only before" should capture the first event in the segment, yet you've stated "In the first rule, the Only Before Sequence applies to the entire sequence, meaning you should get data from Before Page A (but not including Page A)." Could you help me understand this more in the cases of "only before" and "only after."

 

 

- I have attached the following images could you help me ensure I understand this correctly?

 

em3916_0-1664394976705.png

- This would count all:

1. pages before A  

2.A

3.all pages between A and B (but not B)

4.C

5. all pages past C

 

em3916_1-1664395043797.png

- This would count all:

1. pages before A  

2.A

3.all pages between A and B (with B)

 

em3916_2-1664395465544.png

1. All events after C (but not sure considering my first question)

Avatar

Community Advisor

Hahah well full disclosure.. I don't use the Before/After rules much....  Maybe it does include the first hit of the sequence; but the wording then (at least to me) is confusing... since "before" is before... not "before and including" (kind of like "greater than" vs "greater than and equal to")

 

But the scope of where you add it still modifies the logic of what is and isn't included... it just moves it by one hit....

 

But IF this is the case, then that would make getting actual "before" data nearly impossible.... since it would always include the item you are using as the "cutoff" point... if it was really before, then there would be more flexibility....

 

It might be worth a test in a controlled sandbox.... going through a few specific sequences... then seeing what the resulting segments return.... 

 

I'm doing a test now.. but I will have to wait an hour for the data to appear... stand by

 

Avatar

Community Advisor

Ok, I can confirm.. the first page in the sequence is part of the returned data...

 

I've updated my previous post...

 

And to answer your specific questions:

 

Scenario 1:

Jennifer_Dungan_0-1664404659727.png

 

- This would count all:

1. pages before A  

2.A

3.all pages between A and B

4. B

5.C

6. all pages past C

 

(Honestly, based on my findings, if you are using container in the "After" scenario, it keeps returning everything for me... not what I would expect.... I wonder if we stumbled on a bug.. If I add a page outside the container after, Page A was returned... it shouldn't have been)

Jennifer_Dungan_3-1664405532504.png

 

 

 

Scenario 2:

Jennifer_Dungan_2-1664404758647.png

 

- This would count all:

1. pages before A  

2.A

3.all pages between A and B (with B)

 

 

Scenario 3:

Jennifer_Dungan_4-1664405596592.png

 

1. C
2. Pages after C

Avatar

Level 1

For "Only Before" for A->B->C is it taking only A or A and B??

Avatar

Community Advisor

Lol, you were too quick for me.. I was updating my last post when this came in.

 

 

If by A->B->C (with no sub-containers)... it appears to be including A

If you mean A-> [B->C] (with B and C in the sub-container), it will include A and B

Avatar

Community Advisor

FYI, I am sorry for the confusion.... the sequential segments are a bit weird and definitely complex... plus.. since I think I just found a bug in the "Only After" rule, it's definitely best to test out your segments  

Avatar

Level 1

Its okay Jennifer. Unfortunately, I can't create new data in my context, but I have felt like something has been bugged as the logical test I set up (like ok these two filters should sum to specific number) almost always fail.

Avatar

Community Advisor

Here is the trick I used when I tested today...  I have an evar holding the mid value (so I could create an adhoc filter to just see my data)... maybe you have something similar? or fake a campaign code that is just you, and use that to filter your journey?

 

I then used incognito to test specific pages in an order that I could play with various scenarios...

 

So even if you are limited to Prod, if you can isolate yourself in your data, you can play with your segments

Avatar

Community Advisor

I did A > B > C > D in my flow...

 

Jennifer_Dungan_0-1664416889978.png

 

This segment which should be "After Sequence" should not have returned A... but it did... every page in my flow was returned