Expand my Community achievements bar.

SOLVED

Why is the segmentation is not filtering the data properly?

Avatar

Level 4

Background:

We have a session ID that concatenates ECID+ a data layer variable + Date & Timestamp: 23605613089604234583067550836421046746|0|2023|9:20 26

 

When checking the data we are seeing some inconsistencies:

1) Half of the data is not pulling in the ECID - 

Yohan_khan00_1-1677596024061.png

2) Some data is pulled into the data with the data - element name 

Yohan_khan00_2-1677596087059.png

3) the remaining half of the data looks correct. 

 

______________________________________________________

Now for my question

When I create a segment [Visitor container] - and filter using "Does not Start with" - It still shows me data starting with what I am trying to filter out. 

The opposite is also true when I try to segment the data by "Starts with" - It shows me data 

Yohan_khan00_6-1677596735518.png

 

Yohan_khan00_4-1677596507243.png

 

As you can see the data is not being segmented correctly. I have checked by using "HIT" level container but the idea behind the session ID is that its for visitors. 

Any advice would be useful here. 

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor and Adobe Champion

So based on your explanation at the beginning, I take it that all the values that don't have the ECID at the beginning are errors. Is that happening for every hit in the visit or are there visits where some hits are pulling in the correct value and only some are missing information?

By setting your segment to a visitor level you're saying "bring in all of the information for this visitor where the following condition is met." So by saying "doesn't start with X" - it will bring in all values for the visitor that has at least one hit that "doesn't start with X". Meaning, if there are a couple instances where the value came in right and a few where it didn't come in right, your segment is going to bring in both. 

If you're trying to exclude those, you could always use a filter on the dimension, which will act on each individual item. Alternatively, you could use "exclude containers" in your segment. The issue with that is, at a visitor level, it will exclude everything from the visitor (even the correct hits) if they have even one of the values you're excluding.

 

Is there a reason you can't build the segment at a hit level? That would also likely solve your problem. 

View solution in original post

4 Replies

Avatar

Correct answer by
Community Advisor and Adobe Champion

So based on your explanation at the beginning, I take it that all the values that don't have the ECID at the beginning are errors. Is that happening for every hit in the visit or are there visits where some hits are pulling in the correct value and only some are missing information?

By setting your segment to a visitor level you're saying "bring in all of the information for this visitor where the following condition is met." So by saying "doesn't start with X" - it will bring in all values for the visitor that has at least one hit that "doesn't start with X". Meaning, if there are a couple instances where the value came in right and a few where it didn't come in right, your segment is going to bring in both. 

If you're trying to exclude those, you could always use a filter on the dimension, which will act on each individual item. Alternatively, you could use "exclude containers" in your segment. The issue with that is, at a visitor level, it will exclude everything from the visitor (even the correct hits) if they have even one of the values you're excluding.

 

Is there a reason you can't build the segment at a hit level? That would also likely solve your problem. 

Avatar

Level 4

This clarifies why my segments were not working. At a visitor level - it was bringing in data for all the visitors. The hit - level data is what we should have been looking for. 

Avatar

Community Advisor and Adobe Champion

I believe the issue is that all your logic is using "Visitor".. basically you are looking for visitors that have session ids that do not start with "x".. the problem is, if that visitor has any value that doesn't start with "x" they will be included...

 

Since you are just trying to get rid of the data that is missing specific values, you can just make you segment "hit" level... don't include hits that start with "x" (make everything hit level).

 

Unless you are trying to exclude all traffic from Visitors that ever had that scenario... then you need to actually use exclude rules... 

 

Think of the segment logic this way:

 

  • VISITOR: "Does not start with x" means any hits that don't meet that criteria for the visitor, the visitor will still be included in the segment
  • VISITOR: Exclude "starts with x" means that any visitors that have ever met that criteria are fully excluded from the segment (including the hits where it populated correctly)
  • HIT: "does not start with x" means that the hits that failed to populate shouldn't show in your table
  • HIT: Exclude "starts with x" means that the hits that failed to populate shouldn't show in your table (should work the same as the above, since you are just looking at a hit level)

Try playing with your segments and try some of these scenarios and see if that works better for you.

 

 

 

---

 

 

Now, part 2, where you are seeing %Adobe_Ecid%

 

That looks like an instance where Launch is failing to see / pull the data element correctly... usually this happens if there is no exact matching data element (they are case sensitive).... 

 

I suspect this may be coming from one specific rule (maybe a click action, or something like that)..

 

Try correlating that value to a page or action and then check your Launch implementation.. While I don't know your tagging setup, my guess is that the data element may be called "Adobe_ECID" or "Adobe_ecid" and not "Adobe_Ecid"... or maybe you have multiple Launch properties in your implementation and one of them is missing the Data Element... 

Avatar

Community Advisor

Regarding your inconsistent data tracking, I have some questions:

  • How are you setting the "Adobe_Ecid" data element?
  • For the Rule that tracks this session ID, what is the event(s) that triggers the Rule?

Getting the ECID reliably can be tricky, because it depends on when the browser runs the various JavaScript code completely. It sounds like for some cases, the user's browser has fired the AA beacon before the ECID cookie has been set (assuming your data element is reading from that cookie). This can be in the order of milliseconds, and is very difficult to track down because it happens randomly depending on how fast the browser executes code.