Expand my Community achievements bar.

SOLVED

Identify multiple instances in a listvar for the same visitor

Avatar

Level 2

Hi Team,

I have a listvar that contains supplierName, supplierID and productType. I'm trying to ascertain if a unique visitor is subscribed to more than one supplier.

 

I'm using experience cloud id to drop all unique visitors into a freeform table but I am finding it difficult to show where supplierID is >1

 

Any suggestions?

Thanks

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

This one is tricky... 

 

I assume you are passing the three pieces of info as a value set into your list, like so:

"supplier name 1|123|type a,supplier name 2|555|type b,supplier name 3|127|type a"

 

So you end up with:

  • supplier name 1|123|type a
  • supplier name 2|555|type b
  • supplier name 3|127|type a

If you have classifications on your list, you could split these into Name, ID, and Type

 

Now, you could take your Visitor Id dimension, and break it down by your list items, but I don't know if you can create a segment for this...

 

The problem is that whether you pass 1 value, or multiple values... the instance of the list only counts "1".

 

Are these being set only when a user subscribes to the supplier? Or as the user adds more or removes suppliers, this tracks the full list of their current state?

 

 

I would almost be tempted to change the implementation to using s.products, and create up to three separate numeric metrics.... if you are tracking current state, I would have a metric for it; then I would have one for "adds" and one for "removes"

 

 

So let's assume you are using a current state tracking...

I have three suppliers, in my products I would use a dedicated category to denote my usage for "supplier" tracking:

(event1 is current state, event2 is add, event3 is remove, eVar1 is supplier name, eVar2 is supplier id [a duplication of the product identifier - I find this is sometimes easier to use in some cases], eVar3 is type)

 

"supplier;123;;;event1=1;eVar1=supplier name 1|eVar2=123|eVar3=type a,supplier;555;;;event1=1;eVar1=supplier name 2|eVar2=555|eVar3=type b,supplier;127;;;event1=1;eVar1=supplier name 3|eVar2=127|eVar3=type a"

 

Now, I have an action to add "supplier name 4"

"supplier;263;;;event2=1;eVar1=supplier name 4|eVar2=263|eVar3=type c"

 

And another action to remove "supplier name 2"

"supplier;555;;;event3=1;eVar1=supplier name 2|eVar2=555|eVar3=type b"

 

Basically, on the add / remove actions, I would only pass the one that is being impacted... or you might have the full list of current and the removes like so:

 

"supplier;123;;;event1=1;eVar1=supplier name 1|eVar2=123|eVar3=type a,supplier;555;;;event1=1;eVar1=supplier name 2|eVar2=555|eVar3=type b,supplier;127;;;event1=1;eVar1=supplier name 3|eVar2=127|eVar3=type a,supplier;263;;;event2=1;eVar1=supplier name 4|eVar2=263|eVar3=type c"

 

or

 

"supplier;123;;;event1=1;eVar1=supplier name 1|eVar2=123|eVar3=type a,supplier;555;;;event3=1;eVar1=supplier name 2|eVar2=555|eVar3=type b,supplier;127;;;event1=1;eVar1=supplier name 3|eVar2=127|eVar3=type a,supplier;263;;;event1=1;eVar1=supplier name 4|eVar2=263|eVar3=type c"

 

In my reporting, if I want to know users who have more than 1 active supplier, I should be able to create a HIT segment

 

HIT

     event1 is greater than 1

 

(or use "greater than or equal to 2")

 

Now of course, every hit is going to count event1, so it won't be a great metric to use on its own... but it can be used with segments to apply context (event1 exists, or on hits to get the concurrent values, etc)

View solution in original post

5 Replies

Avatar

Level 8

Hi @juliusonyancha 

since list vars are dimensions (string), you will rather have to look for a metric e.g., the occurrence of an event when the list var is set.

 

Are you sending a specific event when the list var is set? You could create a segment based on visitors where the count of that event is > 1.

 

In this example I am having a segment checks if a lead event number is greater than 1 per visitor

bjoern__koth_0-1719573312403.png

 

That segment you can work with to break it down by individual ECIDs if needed.

 

Hope that helps

Avatar

Level 2

Thanks @bjoern__koth for your reply.

 

I'm using a custom page view event once the listvar variable is fired. Segments on Listvar tend to populate skewed stats largely due to its complexity as previously highlighted by Jennifer. For a smaller list of  IDs dynamic drop-down filter works but not for a huge dataset. There is a workaround exporting as a csv outside Adobe but was hoping it could work within.

Avatar

Level 8

Hi @juliusonyancha 

the segment will not be on a list var per se but on the occurrence of that specific event. The contained list var values are not affected. so the segment would just give you the initial filtering to get which visitors had that event firing more than once. From there ok you can do more breakdowns by ECID or filtering by concrete list var values as needed.


But yes, list vars are a little more difficult to wrap your head around sometimes 

Avatar

Correct answer by
Community Advisor

This one is tricky... 

 

I assume you are passing the three pieces of info as a value set into your list, like so:

"supplier name 1|123|type a,supplier name 2|555|type b,supplier name 3|127|type a"

 

So you end up with:

  • supplier name 1|123|type a
  • supplier name 2|555|type b
  • supplier name 3|127|type a

If you have classifications on your list, you could split these into Name, ID, and Type

 

Now, you could take your Visitor Id dimension, and break it down by your list items, but I don't know if you can create a segment for this...

 

The problem is that whether you pass 1 value, or multiple values... the instance of the list only counts "1".

 

Are these being set only when a user subscribes to the supplier? Or as the user adds more or removes suppliers, this tracks the full list of their current state?

 

 

I would almost be tempted to change the implementation to using s.products, and create up to three separate numeric metrics.... if you are tracking current state, I would have a metric for it; then I would have one for "adds" and one for "removes"

 

 

So let's assume you are using a current state tracking...

I have three suppliers, in my products I would use a dedicated category to denote my usage for "supplier" tracking:

(event1 is current state, event2 is add, event3 is remove, eVar1 is supplier name, eVar2 is supplier id [a duplication of the product identifier - I find this is sometimes easier to use in some cases], eVar3 is type)

 

"supplier;123;;;event1=1;eVar1=supplier name 1|eVar2=123|eVar3=type a,supplier;555;;;event1=1;eVar1=supplier name 2|eVar2=555|eVar3=type b,supplier;127;;;event1=1;eVar1=supplier name 3|eVar2=127|eVar3=type a"

 

Now, I have an action to add "supplier name 4"

"supplier;263;;;event2=1;eVar1=supplier name 4|eVar2=263|eVar3=type c"

 

And another action to remove "supplier name 2"

"supplier;555;;;event3=1;eVar1=supplier name 2|eVar2=555|eVar3=type b"

 

Basically, on the add / remove actions, I would only pass the one that is being impacted... or you might have the full list of current and the removes like so:

 

"supplier;123;;;event1=1;eVar1=supplier name 1|eVar2=123|eVar3=type a,supplier;555;;;event1=1;eVar1=supplier name 2|eVar2=555|eVar3=type b,supplier;127;;;event1=1;eVar1=supplier name 3|eVar2=127|eVar3=type a,supplier;263;;;event2=1;eVar1=supplier name 4|eVar2=263|eVar3=type c"

 

or

 

"supplier;123;;;event1=1;eVar1=supplier name 1|eVar2=123|eVar3=type a,supplier;555;;;event3=1;eVar1=supplier name 2|eVar2=555|eVar3=type b,supplier;127;;;event1=1;eVar1=supplier name 3|eVar2=127|eVar3=type a,supplier;263;;;event1=1;eVar1=supplier name 4|eVar2=263|eVar3=type c"

 

In my reporting, if I want to know users who have more than 1 active supplier, I should be able to create a HIT segment

 

HIT

     event1 is greater than 1

 

(or use "greater than or equal to 2")

 

Now of course, every hit is going to count event1, so it won't be a great metric to use on its own... but it can be used with segments to apply context (event1 exists, or on hits to get the concurrent values, etc)

Avatar

Level 2

Thank @Jennifer_Dungan @bjoern__koth 

This is based on when a user adds more or removes suppliers. It looks like I am getting the right stats with this approach, needs a few validations but looks okay. 

 

Once again, thanks both!